mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-14 14:28:08 +02:00
radeonsi: fix GravityMark corruption when use aco
aco may use smem load for ssbo when possible. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12518 Cc: mesa-stable Tested-by: Mike Lothian <mike@fireburn.co.uk> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33440>
This commit is contained in:
parent
cc62a75a17
commit
ee9edd4625
1 changed files with 5 additions and 0 deletions
|
|
@ -677,6 +677,11 @@ static void si_memory_barrier(struct pipe_context *ctx, unsigned flags)
|
||||||
PIPE_BARRIER_IMAGE | PIPE_BARRIER_STREAMOUT_BUFFER | PIPE_BARRIER_GLOBAL_BUFFER))
|
PIPE_BARRIER_IMAGE | PIPE_BARRIER_STREAMOUT_BUFFER | PIPE_BARRIER_GLOBAL_BUFFER))
|
||||||
sctx->barrier_flags |= SI_BARRIER_INV_VMEM;
|
sctx->barrier_flags |= SI_BARRIER_INV_VMEM;
|
||||||
|
|
||||||
|
/* Unlike LLVM, ACO may use SMEM for SSBOs and global access. */
|
||||||
|
if (sctx->screen->use_aco &&
|
||||||
|
(flags & (PIPE_BARRIER_SHADER_BUFFER | PIPE_BARRIER_GLOBAL_BUFFER)))
|
||||||
|
sctx->barrier_flags |= SI_BARRIER_INV_SMEM;
|
||||||
|
|
||||||
if (flags & (PIPE_BARRIER_INDEX_BUFFER | PIPE_BARRIER_INDIRECT_BUFFER))
|
if (flags & (PIPE_BARRIER_INDEX_BUFFER | PIPE_BARRIER_INDIRECT_BUFFER))
|
||||||
sctx->barrier_flags |= SI_BARRIER_PFP_SYNC_ME;
|
sctx->barrier_flags |= SI_BARRIER_PFP_SYNC_ME;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue