From 8dda0a01bb3ea5a618a73ea4e506cb61e68e6d0c Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Sun, 7 Aug 2022 17:10:40 -0700 Subject: [PATCH] zink: Make sure that we keep the existing ici pNext chain on inserts. For external image imports, we'd lose the mutable image format list, causing turnip to get angry that we try to do UBWC despite not having a UBWC-compatible format list. Cc: mesa-stable Fixes: 28ee911ad671 ("zink: handle mutable swapchain images with dmabuf") Reviewed-by: Mike Blumenkrantz Part-of: --- src/gallium/drivers/zink/zink_resource.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index 289124fd045..76a860ae618 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -690,11 +690,10 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t goto fail1; obj->render_target = (ici.usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) != 0; - const void *pNext = ici.pNext; if (shared || external) { emici.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO; - emici.pNext = NULL; + emici.pNext = ici.pNext; emici.handleTypes = export_types; ici.pNext = &emici; @@ -726,8 +725,6 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t idfmlci.pDrmFormatModifiers = modifiers; ici.pNext = &idfmlci; } else if (ici.tiling == VK_IMAGE_TILING_OPTIMAL) { - if (!external) - ici.pNext = pNext; shared = false; } }