diff --git a/src/intel/compiler/brw_eu_defines.h b/src/intel/compiler/brw_eu_defines.h index aaf63c62a23..c5f9f22288a 100644 --- a/src/intel/compiler/brw_eu_defines.h +++ b/src/intel/compiler/brw_eu_defines.h @@ -1919,6 +1919,10 @@ enum PACKED xe2_lsc_cache_store { }; +#define LSC_CACHE(devinfo, l_or_s, cc) \ + ((devinfo)->ver < 20 ? (unsigned)LSC_CACHE_ ## l_or_s ## _ ## cc : \ + (unsigned)XE2_LSC_CACHE_ ## l_or_s ## _ ## cc) + /* * Specifies which components of the data payload 4-element vector (X,Y,Z,W) is * packed into the register payload. diff --git a/src/intel/compiler/brw_lower_logical_sends.cpp b/src/intel/compiler/brw_lower_logical_sends.cpp index 6f8413c2891..087641df2f5 100644 --- a/src/intel/compiler/brw_lower_logical_sends.cpp +++ b/src/intel/compiler/brw_lower_logical_sends.cpp @@ -2091,7 +2091,7 @@ lower_lsc_surface_logical_send(const fs_builder &bld, fs_inst *inst) 1 /* num_coordinates */, LSC_DATA_SIZE_D32, arg.ud /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1STATE_L3MOCS, + LSC_CACHE(devinfo, STORE, L1STATE_L3MOCS), false /* has_dest */); break; case SHADER_OPCODE_UNTYPED_ATOMIC_LOGICAL: { @@ -2108,7 +2108,7 @@ lower_lsc_surface_logical_send(const fs_builder &bld, fs_inst *inst) lsc_bits_to_data_size(dst_sz * 8), 1 /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1UC_L3WB, + LSC_CACHE(devinfo, STORE, L1UC_L3WB), !inst->dst.is_null()); break; } @@ -2129,7 +2129,7 @@ lower_lsc_surface_logical_send(const fs_builder &bld, fs_inst *inst) lsc_bits_to_data_size(arg.ud), 1 /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1STATE_L3MOCS, + LSC_CACHE(devinfo, STORE, L1STATE_L3MOCS), false /* has_dest */); break; default: @@ -2401,7 +2401,7 @@ lower_lsc_a64_logical_send(const fs_builder &bld, fs_inst *inst) 1 /* num_coordinates */, LSC_DATA_SIZE_D32, arg /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1STATE_L3MOCS, + LSC_CACHE(devinfo, STORE, L1STATE_L3MOCS), false /* has_dest */); break; case SHADER_OPCODE_A64_BYTE_SCATTERED_READ_LOGICAL: @@ -2421,7 +2421,7 @@ lower_lsc_a64_logical_send(const fs_builder &bld, fs_inst *inst) lsc_bits_to_data_size(arg), 1 /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1STATE_L3MOCS, + LSC_CACHE(devinfo, STORE, L1STATE_L3MOCS), false /* has_dest */); break; case SHADER_OPCODE_A64_UNTYPED_ATOMIC_LOGICAL: { @@ -2437,7 +2437,7 @@ lower_lsc_a64_logical_send(const fs_builder &bld, fs_inst *inst) lsc_bits_to_data_size(dst_sz * 8), 1 /* num_channels */, false /* transpose */, - LSC_CACHE_STORE_L1UC_L3WB, + LSC_CACHE(devinfo, STORE, L1UC_L3WB), !inst->dst.is_null()); break; }