i965: Fix sampler message descriptor on Ivybridge.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke 2011-04-29 01:43:10 -07:00
parent 3f44043da3
commit 36f8de02e7
2 changed files with 23 additions and 1 deletions

View file

@ -655,7 +655,17 @@ static void brw_set_sampler_message(struct brw_compile *p,
assert(eot == 0);
brw_set_src1(p, insn, brw_imm_d(0));
if (intel->gen >= 5) {
if (intel->gen >= 7) {
insn->bits3.sampler_gen7.binding_table_index = binding_table_index;
insn->bits3.sampler_gen7.sampler = sampler;
insn->bits3.sampler_gen7.msg_type = msg_type;
insn->bits3.sampler_gen7.simd_mode = simd_mode;
insn->bits3.sampler_gen7.header_present = header_present;
insn->bits3.sampler_gen7.response_length = response_length;
insn->bits3.sampler_gen7.msg_length = msg_length;
insn->bits3.sampler_gen7.end_of_thread = eot;
insn->header.destreg__conditionalmod = BRW_MESSAGE_TARGET_SAMPLER;
} else if (intel->gen >= 5) {
insn->bits3.sampler_gen5.binding_table_index = binding_table_index;
insn->bits3.sampler_gen5.sampler = sampler;
insn->bits3.sampler_gen5.msg_type = msg_type;

View file

@ -1744,6 +1744,18 @@ struct brw_instruction
GLuint end_of_thread:1;
} sampler_gen5;
struct {
GLuint binding_table_index:8;
GLuint sampler:4;
GLuint msg_type:5;
GLuint simd_mode:2;
GLuint header_present:1;
GLuint response_length:5;
GLuint msg_length:4;
GLuint pad1:2;
GLuint end_of_thread:1;
} sampler_gen7;
struct brw_urb_immediate urb;
struct {