From 576a2e798ca46ac894c7794350943afbb91cd84c Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Mon, 9 Dec 2024 13:40:49 +0100 Subject: [PATCH] aco/gfx12: don't assume memory operations complete in order Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_insert_waitcnt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_insert_waitcnt.cpp b/src/amd/compiler/aco_insert_waitcnt.cpp index c4365597b84..49b6f99b8b8 100644 --- a/src/amd/compiler/aco_insert_waitcnt.cpp +++ b/src/amd/compiler/aco_insert_waitcnt.cpp @@ -319,9 +319,9 @@ perform_barrier(wait_ctx& ctx, wait_imm& imm, memory_sync_info sync, unsigned se if (bar_scope_lds <= subgroup_scope) events &= ~event_lds; - /* in non-WGP, the L1 (L0 on GFX10+) cache keeps all memory operations + /* Until GFX12, in non-WGP, the L1 (L0 on GFX10+) cache keeps all memory operations * in-order for the same workgroup */ - if (!ctx.program->wgp_mode && sync.scope <= scope_workgroup) + if (ctx.gfx_level < GFX12 && !ctx.program->wgp_mode && sync.scope <= scope_workgroup) events &= ~(event_vmem | event_vmem_store | event_smem); if (events)