From 2fdba5b914fb255e1d248375a24e9358e6bceeda Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 1 Oct 2024 12:58:58 -0400 Subject: [PATCH] zink: block dmabuf fallback into optimal tiling when modifiers are specified the frontend needs stride, and optimal tiling cannot provide a stride Part-of: --- src/gallium/drivers/zink/zink_resource.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 81d4c764901..1b8607904d0 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -649,12 +649,11 @@ retry: while (!ici->usage) { if (!first) { switch (ici->tiling) { + /* modifiers cannot do fallbacks, as LINEAR modifier should be present for that case */ case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: - ici->tiling = VK_IMAGE_TILING_OPTIMAL; - modifiers_count = 0; - break; case VK_IMAGE_TILING_OPTIMAL: ici->tiling = VK_IMAGE_TILING_LINEAR; + modifiers_count = 0; break; case VK_IMAGE_TILING_LINEAR: if (bind & PIPE_BIND_LINEAR) {