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>
(cherry picked from commit 3ed712f748)
This commit is contained in:
Mike Blumenkrantz 2022-09-21 13:18:39 -04:00 committed by Dylan Baker
parent 63a60728ad
commit 94c771bcdb
2 changed files with 2 additions and 2 deletions

View file

@ -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"
},

View file

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