aco/gfx11: create waitcnt for workgroup vmem barriers

It seems this is necessary on GFX11.

Similar to 576a2e798c

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Backport-to: 25.0
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34634>
(cherry picked from commit b03e07158331b2d37dab8a1183931ac55cb39758)
This commit is contained in:
Rhys Perry
2025-04-21 15:57:05 +01:00
committed by Eric Engestrom
parent 5c9733618d
commit e1f06788f5
2 changed files with 3 additions and 3 deletions

View File

@@ -234,7 +234,7 @@
"description": "aco/gfx11: create waitcnt for workgroup vmem barriers",
"nominated": true,
"nomination_type": 4,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View File

@@ -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;
/* Until GFX12, in non-WGP, the L1 (L0 on GFX10+) cache keeps all memory operations
/* Until GFX11, in non-WGP, the L1 (L0 on GFX10+) cache keeps all memory operations
* in-order for the same workgroup */
if (ctx.gfx_level < GFX12 && !ctx.program->wgp_mode && sync.scope <= scope_workgroup)
if (ctx.gfx_level < GFX11 && !ctx.program->wgp_mode && sync.scope <= scope_workgroup)
events &= ~(event_vmem | event_vmem_store | event_smem);
if (events)