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:
Marcin Ślusarz 2020-11-12 20:13:26 +01:00 committed by Marge Bot
parent 27073b59bc
commit 2c3e2d69bd

View file

@ -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;