nir/lower_memory_model: do not break with global atomic operations
Global atomics don't have an access flag.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6888>
diff --git a/src/compiler/nir/nir_lower_memory_model.c b/src/compiler/nir/nir_lower_memory_model.c
index 068dfc1..d2ba829 100644
--- a/src/compiler/nir/nir_lower_memory_model.c
+++ b/src/compiler/nir/nir_lower_memory_model.c
@@ -159,6 +159,9 @@
if (!writes && vis_avail_sem == NIR_MEMORY_MAKE_AVAILABLE)
return false;
+ if (!nir_intrinsic_has_access(intrin))
+ return false;
+
unsigned access = nir_intrinsic_access(intrin);
if (access & (ACCESS_NON_READABLE | ACCESS_NON_WRITEABLE | ACCESS_CAN_REORDER | ACCESS_COHERENT))