zink: set layouts before possibly reordering image copies

layout-setting may change which cmdbuf can be used

Fixes: 731d7be375 ("zink: make get_cmdbuf() public")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18727>
This commit is contained in:
Mike Blumenkrantz
2022-09-21 13:18:39 -04:00
committed by Marge Bot
parent 440c1e3702
commit 3ed712f748

View File

@@ -4393,11 +4393,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, &region);