mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 03:10:09 +01:00
nir: handle float atomics in nir_lower_memory_model
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 2adb337256 ("nir,radv/aco: add and use pass to lower make available/visible barriers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10766>
This commit is contained in:
parent
27073b59bc
commit
2c3e2d69bd
1 changed files with 12 additions and 0 deletions
|
|
@ -79,6 +79,10 @@ get_intrinsic_info(nir_intrinsic_instr *intrin, nir_variable_mode *modes,
|
|||
case nir_intrinsic_ssbo_atomic_xor:
|
||||
case nir_intrinsic_ssbo_atomic_exchange:
|
||||
case nir_intrinsic_ssbo_atomic_comp_swap:
|
||||
case nir_intrinsic_ssbo_atomic_fadd:
|
||||
case nir_intrinsic_ssbo_atomic_fcomp_swap:
|
||||
case nir_intrinsic_ssbo_atomic_fmax:
|
||||
case nir_intrinsic_ssbo_atomic_fmin:
|
||||
*modes = nir_var_mem_ssbo;
|
||||
*reads = true;
|
||||
*writes = true;
|
||||
|
|
@ -101,6 +105,10 @@ get_intrinsic_info(nir_intrinsic_instr *intrin, nir_variable_mode *modes,
|
|||
case nir_intrinsic_global_atomic_xor:
|
||||
case nir_intrinsic_global_atomic_exchange:
|
||||
case nir_intrinsic_global_atomic_comp_swap:
|
||||
case nir_intrinsic_global_atomic_fadd:
|
||||
case nir_intrinsic_global_atomic_fcomp_swap:
|
||||
case nir_intrinsic_global_atomic_fmax:
|
||||
case nir_intrinsic_global_atomic_fmin:
|
||||
*modes = nir_var_mem_global;
|
||||
*reads = true;
|
||||
*writes = true;
|
||||
|
|
@ -123,6 +131,10 @@ get_intrinsic_info(nir_intrinsic_instr *intrin, nir_variable_mode *modes,
|
|||
case nir_intrinsic_deref_atomic_xor:
|
||||
case nir_intrinsic_deref_atomic_exchange:
|
||||
case nir_intrinsic_deref_atomic_comp_swap:
|
||||
case nir_intrinsic_deref_atomic_fadd:
|
||||
case nir_intrinsic_deref_atomic_fmin:
|
||||
case nir_intrinsic_deref_atomic_fmax:
|
||||
case nir_intrinsic_deref_atomic_fcomp_swap:
|
||||
*modes = nir_src_as_deref(intrin->src[0])->modes;
|
||||
*reads = true;
|
||||
*writes = true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue