mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 15:40:11 +01:00
intel/brw: Handle load/stores in lsc_op_for_nir_intrinsic()
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Reviewed-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30828>
This commit is contained in:
parent
8a6903e50d
commit
b8f264cfe4
1 changed files with 35 additions and 0 deletions
|
|
@ -2040,6 +2040,41 @@ brw_cmod_for_nir_comparison(nir_op op)
|
|||
enum lsc_opcode
|
||||
lsc_op_for_nir_intrinsic(const nir_intrinsic_instr *intrin)
|
||||
{
|
||||
switch (intrin->intrinsic) {
|
||||
case nir_intrinsic_image_load:
|
||||
case nir_intrinsic_image_load_raw_intel:
|
||||
case nir_intrinsic_bindless_image_load:
|
||||
case nir_intrinsic_load_ssbo:
|
||||
case nir_intrinsic_load_shared:
|
||||
case nir_intrinsic_load_global:
|
||||
case nir_intrinsic_load_global_block_intel:
|
||||
case nir_intrinsic_load_global_constant:
|
||||
case nir_intrinsic_load_global_constant_uniform_block_intel:
|
||||
case nir_intrinsic_load_shared_block_intel:
|
||||
case nir_intrinsic_load_shared_uniform_block_intel:
|
||||
case nir_intrinsic_load_ssbo_block_intel:
|
||||
case nir_intrinsic_load_ssbo_uniform_block_intel:
|
||||
case nir_intrinsic_load_ubo_uniform_block_intel:
|
||||
case nir_intrinsic_load_scratch:
|
||||
return LSC_OP_LOAD;
|
||||
|
||||
case nir_intrinsic_image_store:
|
||||
case nir_intrinsic_image_store_raw_intel:
|
||||
case nir_intrinsic_bindless_image_store:
|
||||
case nir_intrinsic_store_ssbo:
|
||||
case nir_intrinsic_store_shared:
|
||||
case nir_intrinsic_store_global:
|
||||
case nir_intrinsic_store_global_block_intel:
|
||||
case nir_intrinsic_store_shared_block_intel:
|
||||
case nir_intrinsic_store_ssbo_block_intel:
|
||||
case nir_intrinsic_store_scratch:
|
||||
return LSC_OP_STORE;
|
||||
|
||||
default:
|
||||
assert(nir_intrinsic_has_atomic_op(intrin));
|
||||
break;
|
||||
}
|
||||
|
||||
switch (nir_intrinsic_atomic_op(intrin)) {
|
||||
case nir_atomic_op_iadd: {
|
||||
unsigned src_idx;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue