zink: always add MUTABLE with EXTENDED_USAGE for image creation
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 19 Oct 2022 10:47:16 +0000 (06:47 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 28 Oct 2022 00:51:48 +0000 (00:51 +0000)
this otherwise makes little sense

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19018>

src/gallium/drivers/zink/zink_resource.c

index 66fe35c..37ca941 100644 (file)
@@ -415,7 +415,7 @@ get_image_usage(struct zink_screen *screen, VkImageCreateInfo *ici, const struct
          feats = UINT32_MAX;
       VkImageUsageFlags usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended);
       if (need_extended) {
-         ici->flags |= VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
+         ici->flags |= VK_IMAGE_CREATE_EXTENDED_USAGE_BIT | VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
          feats = UINT32_MAX;
          usage = get_image_usage_for_feats(screen, feats, templ, bind, &need_extended);
       }
@@ -556,7 +556,7 @@ retry:
                *success = false;
                return DRM_FORMAT_MOD_INVALID;
             }
-            ici->flags |= VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
+            ici->flags |= VK_IMAGE_CREATE_EXTENDED_USAGE_BIT | VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
             tried[0] = false;
             tried[1] = false;
             first = true;