From 4f5bfc6691093e547816818340281437e504e86a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 3 Aug 2023 13:11:57 -0400 Subject: [PATCH] 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: --- src/gallium/drivers/zink/zink_synchronization.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_synchronization.cpp b/src/gallium/drivers/zink/zink_synchronization.cpp index 2942d57196c..381531ed8a7 100644 --- a/src/gallium/drivers/zink/zink_synchronization.cpp +++ b/src/gallium/drivers/zink/zink_synchronization.cpp @@ -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;