zink: set unordered_read/write after buffer_barrier in set_global_binding

Fixes: a6e9e0f0d7 ("zink: add set_global_binding")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
This commit is contained in:
Karol Herbst 2024-06-06 10:35:37 +02:00 committed by Marge Bot
parent 8658529e88
commit a04569b2ea

View file

@ -2738,8 +2738,8 @@ zink_set_global_binding(struct pipe_context *pctx,
addr += zink_resource_get_address(zink_screen(pctx->screen), res);
memcpy(handles[i], &addr, sizeof(addr));
zink_resource_usage_set(res, ctx->bs, true);
res->obj->unordered_read = res->obj->unordered_write = false;
zink_screen(ctx->base.screen)->buffer_barrier(ctx, res, VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT);
res->obj->unordered_read = res->obj->unordered_write = false;
} else if (globals[i]) {
zink_batch_reference_resource(ctx, zink_resource(globals[first + i]));
pipe_resource_reference(&globals[first + i], NULL);