From 49950d3b2fe4967dd5f2e2d5e1179054fff93612 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 2 Oct 2024 11:02:55 -0400 Subject: [PATCH] zink: clamp out dmabuf exports from optimal tiling images this is an impossible combo since optimal tiling cannot return stride Part-of: --- src/gallium/drivers/zink/zink_resource.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 343ddc844c9..af8c48b866d 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -1309,6 +1309,11 @@ create_image(struct zink_screen *screen, struct zink_resource_object *obj, obj->render_target = (ici.usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) != 0; + if (ici.tiling == VK_IMAGE_TILING_OPTIMAL) { + alloc_info->external &= ~VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT; + alloc_info->export_types &= ~VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT; + } + if (alloc_info->shared || alloc_info->external) { emici.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO; emici.pNext = ici.pNext;