mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-30 20:10:24 +01:00
nir: add nir_is_shared_access helper
This is helpful to identify shared mem access for writing more generic code operating on nir intrinsics. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39219>
This commit is contained in:
parent
d160b7726a
commit
4e59199cbb
2 changed files with 17 additions and 0 deletions
|
|
@ -5559,6 +5559,7 @@ nir_src *nir_get_io_index_src(nir_intrinsic_instr *instr);
|
|||
nir_src *nir_get_io_arrayed_index_src(nir_intrinsic_instr *instr);
|
||||
nir_src *nir_get_shader_call_payload_src(nir_intrinsic_instr *call);
|
||||
|
||||
bool nir_is_shared_access(nir_intrinsic_instr *intr);
|
||||
bool nir_is_output_load(nir_intrinsic_instr *intr);
|
||||
bool nir_is_input_load(nir_intrinsic_instr *intr);
|
||||
bool nir_is_arrayed_io(const nir_variable *var, mesa_shader_stage stage);
|
||||
|
|
|
|||
|
|
@ -1168,6 +1168,22 @@ nir_get_io_arrayed_index_src_number(const nir_intrinsic_instr *instr)
|
|||
}
|
||||
}
|
||||
|
||||
bool
|
||||
nir_is_shared_access(nir_intrinsic_instr *intr)
|
||||
{
|
||||
return intr->intrinsic == nir_intrinsic_load_shared ||
|
||||
intr->intrinsic == nir_intrinsic_store_shared ||
|
||||
intr->intrinsic == nir_intrinsic_shared_atomic ||
|
||||
intr->intrinsic == nir_intrinsic_shared_atomic_swap ||
|
||||
intr->intrinsic == nir_intrinsic_load_shared_block_intel ||
|
||||
intr->intrinsic == nir_intrinsic_store_shared_block_intel ||
|
||||
intr->intrinsic == nir_intrinsic_load_shared_uniform_block_intel ||
|
||||
intr->intrinsic == nir_intrinsic_load_shared2_amd ||
|
||||
intr->intrinsic == nir_intrinsic_store_shared2_amd ||
|
||||
intr->intrinsic == nir_intrinsic_shared_append_amd ||
|
||||
intr->intrinsic == nir_intrinsic_shared_consume_amd;
|
||||
}
|
||||
|
||||
bool
|
||||
nir_is_output_load(nir_intrinsic_instr *intr)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue