From 94c771bcdb74de1a7e2feb1570d3f83cfd7fe56b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 21 Sep 2022 13:18:39 -0400 Subject: [PATCH] zink: set layouts before possibly reordering image copies layout-setting may change which cmdbuf can be used Fixes: 731d7be3756 ("zink: make get_cmdbuf() public") Reviewed-by: Adam Jackson Part-of: (cherry picked from commit 3ed712f7483791aa0a256472d276ff5a83c643bc) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_context.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index cffcd36f672..c4ec765d317 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4,7 +4,7 @@ "description": "zink: set layouts before possibly reordering image copies", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "731d7be3756c3ab5944c5755f4504e093d149f53" }, diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index df79d6625ad..ed28db01bf0 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -4192,11 +4192,11 @@ zink_resource_copy_region(struct pipe_context *pctx, region.extent.height = src_box->height; struct zink_batch *batch = &ctx->batch; + zink_resource_setup_transfer_layouts(ctx, src, dst); VkCommandBuffer cmdbuf = zink_get_cmdbuf(ctx, src, dst); zink_batch_reference_resource_rw(batch, src, false); zink_batch_reference_resource_rw(batch, dst, true); - zink_resource_setup_transfer_layouts(ctx, src, dst); VKCTX(CmdCopyImage)(cmdbuf, src->obj->image, src->layout, dst->obj->image, dst->layout, 1, ®ion);