zink: force image barriers after dmabuf import

if the image will be used, then it has to be on the right queue

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24492>
(cherry picked from commit 4f5bfc6691)
This commit is contained in:
Mike Blumenkrantz 2023-08-03 13:11:57 -04:00 committed by Dylan Baker
parent 80f1e28d56
commit 6f9cd27721
2 changed files with 3 additions and 2 deletions

View file

@ -10504,7 +10504,7 @@
"description": "zink: force image barriers after dmabuf import",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -331,7 +331,8 @@ zink_resource_image_barrier(struct zink_context *ctx, struct zink_resource *res,
if (!flags)
flags = access_dst_flags(new_layout);
if (!res->obj->needs_zs_evaluate && !zink_resource_image_needs_barrier(res, new_layout, flags, pipeline))
if (!res->obj->needs_zs_evaluate && !zink_resource_image_needs_barrier(res, new_layout, flags, pipeline) &&
(res->queue == zink_screen(ctx->base.screen)->gfx_queue || res->queue == VK_QUEUE_FAMILY_IGNORED))
return;
bool is_write = zink_resource_access_is_write(flags);
VkCommandBuffer cmdbuf;