diff options
author | Francisco Jerez <[email protected]> | 2018-07-09 16:16:16 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2018-07-09 23:46:58 -0700 |
commit | b10b4e7c459aecdb788de5195cca809c680663e1 (patch) | |
tree | 84d8ea58e73284f4a1c174564a86675b8f6d4097 /src/intel/compiler/brw_eu_emit.c | |
parent | 8fa4bc4676fbd97b79799bef462078114b81e57a (diff) |
intel/eu: Use descriptor constructors for pixel interpolator messages.
v2: Use SET_BITS macro instead of left shift (Ken).
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_eu_emit.c')
-rw-r--r-- | src/intel/compiler/brw_eu_emit.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c index 97202c7e39b..a77fbb3ac35 100644 --- a/src/intel/compiler/brw_eu_emit.c +++ b/src/intel/compiler/brw_eu_emit.c @@ -3255,25 +3255,23 @@ brw_pixel_interpolator_query(struct brw_codegen *p, unsigned response_length) { const struct gen_device_info *devinfo = p->devinfo; - struct brw_inst *insn; const uint16_t exec_size = brw_get_default_exec_size(p); - const uint16_t qtr_ctrl = brw_get_default_group(p) / 8; + const unsigned slot_group = brw_get_default_group(p) / 16; + const unsigned simd_mode = (exec_size == BRW_EXECUTE_16); + const unsigned desc = + brw_message_desc(devinfo, msg_length, response_length, false) | + brw_pixel_interp_desc(devinfo, mode, noperspective, simd_mode, + slot_group); /* brw_send_indirect_message will automatically use a direct send message * if data is actually immediate. */ - insn = brw_send_indirect_message(p, - GEN7_SFID_PIXEL_INTERPOLATOR, - dest, - mrf, - vec1(data), 0); - brw_inst_set_mlen(devinfo, insn, msg_length); - brw_inst_set_rlen(devinfo, insn, response_length); - - brw_inst_set_pi_simd_mode(devinfo, insn, exec_size == BRW_EXECUTE_16); - brw_inst_set_pi_slot_group(devinfo, insn, qtr_ctrl / 2); - brw_inst_set_pi_nopersp(devinfo, insn, noperspective); - brw_inst_set_pi_message_type(devinfo, insn, mode); + brw_send_indirect_message(p, + GEN7_SFID_PIXEL_INTERPOLATOR, + dest, + mrf, + vec1(data), + desc); } void |