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>
This commit is contained in:
Samuel Pitoiset
2020-09-28 11:47:50 +02:00
committed by Marge Bot
parent de1409089c
commit 39098a2053

View File

@@ -159,6 +159,9 @@ visit_instr(nir_instr *instr, uint32_t *cur_modes, unsigned vis_avail_sem)
if (!writes && vis_avail_sem == NIR_MEMORY_MAKE_AVAILABLE) if (!writes && vis_avail_sem == NIR_MEMORY_MAKE_AVAILABLE)
return false; return false;
if (!nir_intrinsic_has_access(intrin))
return false;
unsigned access = nir_intrinsic_access(intrin); unsigned access = nir_intrinsic_access(intrin);
if (access & (ACCESS_NON_READABLE | ACCESS_NON_WRITEABLE | ACCESS_CAN_REORDER | ACCESS_COHERENT)) if (access & (ACCESS_NON_READABLE | ACCESS_NON_WRITEABLE | ACCESS_CAN_REORDER | ACCESS_COHERENT))