ac/llvm: fix handling COHERENT and VOLATILE flags for global access

Fixes: c181db0660 - ac/llvm: rewrite global & shared stores to share code

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
This commit is contained in:
Marek Olšák 2025-08-08 15:57:27 -04:00
parent 7d5288b5b7
commit f5ba2d3e8f

View file

@ -1931,8 +1931,8 @@ static void set_mem_op_alignment(LLVMValueRef instr, nir_intrinsic_instr *intr,
static void set_coherent_volatile(LLVMValueRef instr, nir_intrinsic_instr *intr)
{
if ((intr->intrinsic == nir_intrinsic_load_global ||
intr->intrinsic == nir_intrinsic_store_global) &&
if ((intr->intrinsic == nir_intrinsic_load_global_amd ||
intr->intrinsic == nir_intrinsic_store_global_amd) &&
nir_intrinsic_access(intr) & (ACCESS_COHERENT | ACCESS_VOLATILE))
LLVMSetOrdering(instr, LLVMAtomicOrderingMonotonic);
}