intel/eu: Set message subtype properly for SIMD8 FB fetch

There were two bugs which crep in here as part of 64551610d1:
forgetting that exec sizes in HW are in log2 space and having the
exec_size condition for the subtype backwards.

Fixes: 64551610d1 "intel/compiler: rework message descriptors..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10588>
This commit is contained in:
Jason Ekstrand
2021-05-03 09:50:44 -05:00
committed by Marge Bot
parent 0ec27d02e1
commit 94c1e65de9
2 changed files with 4 additions and 2 deletions

View File

@@ -1068,10 +1068,12 @@ brw_fb_read_desc(const struct intel_device_info *devinfo,
bool per_sample)
{
assert(devinfo->ver >= 9);
assert(exec_size == 8 || exec_size == 16);
return brw_fb_desc(devinfo, binding_table_index,
GFX9_DATAPORT_RC_RENDER_TARGET_READ, msg_control) |
SET_BITS(per_sample, 13, 13) |
SET_BITS(exec_size == 16, 8, 8) /* Render Target Message Subtype */;
SET_BITS(exec_size == 8, 8, 8) /* Render Target Message Subtype */;
}
static inline uint32_t

View File

@@ -2490,7 +2490,7 @@ gfx9_fb_READ(struct brw_codegen *p,
p, insn,
brw_message_desc(devinfo, msg_length, response_length, true) |
brw_fb_read_desc(devinfo, binding_table_index, 0 /* msg_control */,
brw_get_default_exec_size(p), per_sample));
1 << brw_get_default_exec_size(p), per_sample));
brw_inst_set_rt_slot_group(devinfo, insn, brw_get_default_group(p) / 16);
return insn;