zink: flush INDIRECT_BUFFER mem barrier for compute

this is usable in gfx and compute, so don't desync

Fixes: 3674839d11 ("zink: batch mem barrier hooks")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22907>
This commit is contained in:
Mike Blumenkrantz 2023-05-08 17:25:17 -04:00 committed by Marge Bot
parent 5149b2a938
commit 4b7245284d

View file

@ -3800,11 +3800,11 @@ zink_flush_memory_barrier(struct zink_context *ctx, bool is_compute)
VK_ACCESS_SHADER_WRITE_BIT,
VK_ACCESS_UNIFORM_READ_BIT);
if (ctx->memory_barrier & PIPE_BARRIER_INDIRECT_BUFFER)
mem_barrier(ctx, src, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
VK_ACCESS_SHADER_WRITE_BIT,
VK_ACCESS_INDIRECT_COMMAND_READ_BIT);
if (!is_compute) {
if (ctx->memory_barrier & PIPE_BARRIER_INDIRECT_BUFFER)
mem_barrier(ctx, src, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,
VK_ACCESS_SHADER_WRITE_BIT,
VK_ACCESS_INDIRECT_COMMAND_READ_BIT);
if (ctx->memory_barrier & PIPE_BARRIER_VERTEX_BUFFER)
mem_barrier(ctx, gfx_flags, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,
VK_ACCESS_SHADER_WRITE_BIT,