mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
brw: fix TGM messages to use cmask lsc opcodes
This is a restriction for TGM.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: b55f7716 ("intel/brw: Switch to emitting MEMORY_*_LOGICAL opcodes")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31199>
This commit is contained in:
parent
2159e17da0
commit
02b124846f
2 changed files with 12 additions and 6 deletions
|
|
@ -1545,8 +1545,10 @@ lower_lsc_memory_logical_send(const fs_builder &bld, fs_inst *inst)
|
|||
}
|
||||
assert(inst->sfid);
|
||||
|
||||
inst->desc = lsc_msg_desc(devinfo, op, binding_type, addr_size,
|
||||
data_size, components, transpose, cache_mode);
|
||||
inst->desc = lsc_msg_desc(devinfo, op, binding_type, addr_size, data_size,
|
||||
lsc_opcode_has_cmask(op) ?
|
||||
(1 << components) - 1 : components,
|
||||
transpose, cache_mode);
|
||||
|
||||
/* Set up extended descriptors, fills src[0] and src[1]. */
|
||||
setup_lsc_surface_descriptors(bld, inst, inst->desc, binding);
|
||||
|
|
|
|||
|
|
@ -2042,8 +2042,6 @@ enum lsc_opcode
|
|||
lsc_op_for_nir_intrinsic(const nir_intrinsic_instr *intrin)
|
||||
{
|
||||
switch (intrin->intrinsic) {
|
||||
case nir_intrinsic_image_load:
|
||||
case nir_intrinsic_bindless_image_load:
|
||||
case nir_intrinsic_load_ssbo:
|
||||
case nir_intrinsic_load_shared:
|
||||
case nir_intrinsic_load_global:
|
||||
|
|
@ -2058,8 +2056,6 @@ lsc_op_for_nir_intrinsic(const nir_intrinsic_instr *intrin)
|
|||
case nir_intrinsic_load_scratch:
|
||||
return LSC_OP_LOAD;
|
||||
|
||||
case nir_intrinsic_image_store:
|
||||
case nir_intrinsic_bindless_image_store:
|
||||
case nir_intrinsic_store_ssbo:
|
||||
case nir_intrinsic_store_shared:
|
||||
case nir_intrinsic_store_global:
|
||||
|
|
@ -2069,6 +2065,14 @@ lsc_op_for_nir_intrinsic(const nir_intrinsic_instr *intrin)
|
|||
case nir_intrinsic_store_scratch:
|
||||
return LSC_OP_STORE;
|
||||
|
||||
case nir_intrinsic_image_load:
|
||||
case nir_intrinsic_bindless_image_load:
|
||||
return LSC_OP_LOAD_CMASK;
|
||||
|
||||
case nir_intrinsic_image_store:
|
||||
case nir_intrinsic_bindless_image_store:
|
||||
return LSC_OP_STORE_CMASK;
|
||||
|
||||
default:
|
||||
assert(nir_intrinsic_has_atomic_op(intrin));
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue