diff options
author | Francisco Jerez <[email protected]> | 2018-06-02 15:07:31 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2018-07-09 23:46:57 -0700 |
commit | 1c90ae5accc284cf6b27bcc25e5e3fc3cfb80407 (patch) | |
tree | 8252787703be5700e4e003f83bb1dc0a3b477419 /src/intel/compiler/brw_eu_emit.c | |
parent | b382bdde1d07d68d892532b105af00ebe205c06b (diff) |
intel/eu: Provide desc immediate argument up front to brw_send_indirect_message().
The current approach of returning a setup instruction where additional
descriptor fields can be specified is still supported in order to keep
things working, but it will be removed later in this series.
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 | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c index d580eddb957..18378b847a9 100644 --- a/src/intel/compiler/brw_eu_emit.c +++ b/src/intel/compiler/brw_eu_emit.c @@ -2527,7 +2527,8 @@ brw_send_indirect_message(struct brw_codegen *p, unsigned sfid, struct brw_reg dst, struct brw_reg payload, - struct brw_reg desc) + struct brw_reg desc, + unsigned desc_imm) { const struct gen_device_info *devinfo = p->devinfo; struct brw_inst *send; @@ -2546,7 +2547,7 @@ brw_send_indirect_message(struct brw_codegen *p, if (desc.file == BRW_IMMEDIATE_VALUE) { setup = p->nr_insn; send = next_insn(p, BRW_OPCODE_SEND); - brw_set_src1(p, send, desc); + brw_set_desc(p, send, desc.ud | desc_imm); } else { struct brw_reg addr = retype(brw_address_reg(0), BRW_REGISTER_TYPE_UD); @@ -2562,7 +2563,7 @@ brw_send_indirect_message(struct brw_codegen *p, * brw_set_*_message() helper functions. */ setup = p->nr_insn; - brw_OR(p, addr, desc, brw_imm_ud(0)); + brw_OR(p, addr, desc, brw_imm_ud(desc_imm)); brw_pop_insn_state(p); @@ -2615,7 +2616,7 @@ brw_send_indirect_surface_message(struct brw_codegen *p, surface = addr; } - insn = brw_send_indirect_message(p, sfid, dst, payload, surface); + insn = brw_send_indirect_message(p, sfid, dst, payload, surface, 0); brw_inst_set_mlen(devinfo, insn, message_len); brw_inst_set_rlen(devinfo, insn, response_len); brw_inst_set_header_present(devinfo, insn, header_present); @@ -3373,7 +3374,7 @@ brw_pixel_interpolator_query(struct brw_codegen *p, GEN7_SFID_PIXEL_INTERPOLATOR, dest, mrf, - vec1(data)); + vec1(data), 0); brw_inst_set_mlen(devinfo, insn, msg_length); brw_inst_set_rlen(devinfo, insn, response_length); |