zink: do not set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for non-3D textures
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 24 Jul 2019 12:09:11 +0000 (14:09 +0200)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Mon, 28 Oct 2019 08:51:48 +0000 (08:51 +0000)
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
src/gallium/drivers/zink/zink_resource.c

index 2fd63060aeac0fd380e46ae7292640713c68492f..796ecae2d51e7d8167961a97125590714d839fe0 100644 (file)
@@ -142,20 +142,14 @@ zink_resource_create(struct pipe_screen *pscreen,
          ici.imageType = VK_IMAGE_TYPE_1D;
          break;
 
-      case PIPE_TEXTURE_2D:
-      case PIPE_TEXTURE_2D_ARRAY:
       case PIPE_TEXTURE_CUBE:
       case PIPE_TEXTURE_CUBE_ARRAY:
+         ici.flags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
+         /* fall-through */
+      case PIPE_TEXTURE_2D:
+      case PIPE_TEXTURE_2D_ARRAY:
       case PIPE_TEXTURE_RECT:
          ici.imageType = VK_IMAGE_TYPE_2D;
-         /* cube and 2D array needs some quirks here */
-         if (templ->target == PIPE_TEXTURE_CUBE)
-            ici.flags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
-         else if (templ->target == PIPE_TEXTURE_2D_ARRAY)
-            ici.flags = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
-         else if (templ->target == PIPE_TEXTURE_CUBE_ARRAY)
-            ici.flags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT |
-                        VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR;
          break;
 
       case PIPE_TEXTURE_3D: