From 5f22d3f17466d5a06d2e90ad21beef6005d558fa Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 11 Jun 2025 15:17:37 -0400 Subject: [PATCH] zink: fill in sync flags for a couple barriers Part-of: --- src/gallium/drivers/zink/zink_context.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index dd4e63ba4a2..4efaeb3e7e3 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -3222,7 +3222,7 @@ begin_rendering(struct zink_context *ctx, bool check_msaa_expand) if (screen->driver_workarounds.general_layout) layout = VK_IMAGE_LAYOUT_GENERAL; unsigned idx = util_format_is_depth_or_stencil(res->base.b.format) ? PIPE_MAX_COLOR_BUFS : 0; - screen->image_barrier(ctx, res, layout, 0, 0); + screen->image_barrier(ctx, res, layout, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT); res->obj->unordered_read = res->obj->unordered_write = false; ctx->dynamic_fb.attachments[idx].resolveMode = VK_RESOLVE_MODE_AVERAGE_BIT; ctx->dynamic_fb.attachments[idx].resolveImageLayout = zink_resource(surf->base.texture)->layout; @@ -4784,7 +4784,7 @@ zink_copy_buffer(struct zink_context *ctx, struct zink_resource *dst, struct zin bool unordered_src = !valid_write && !zink_check_unordered_transfer_access(src, 0, &box); /* unsync should only occur during subdata with staging resource */ if (!unsync) - zink_screen(ctx->base.screen)->buffer_barrier(ctx, src, VK_ACCESS_TRANSFER_READ_BIT, 0); + zink_screen(ctx->base.screen)->buffer_barrier(ctx, src, VK_ACCESS_TRANSFER_READ_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT); bool unordered_dst = zink_resource_buffer_transfer_dst_barrier(ctx, dst, dst_offset, size); bool can_unorder = unordered_dst && unordered_src && !ctx->no_reorder; VkCommandBuffer cmdbuf = unsync ? ctx->bs->unsynchronized_cmdbuf : @@ -4845,7 +4845,7 @@ zink_copy_image_buffer(struct zink_context *ctx, struct zink_resource *dst, stru assert(!(map_flags & PIPE_MAP_UNSYNCHRONIZED)); if (zink_is_swapchain(img)) needs_present_readback = zink_kopper_acquire_readback(ctx, img, &use_img); - zink_screen(ctx->base.screen)->image_barrier(ctx, use_img, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, 0, 0); + zink_screen(ctx->base.screen)->image_barrier(ctx, use_img, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_ACCESS_TRANSFER_READ_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT); zink_resource_buffer_transfer_dst_barrier(ctx, buf, dstx, src_box->width); }