Always use 0 for the Depth operand of OpTypeImage

This CL is based on the below one with changes on the unittests:
https://dawn-review.googlesource.com/c/tint/+/60860

Bug: dawn:1030
Test: tint_unittests

Change-Id: I4624a0abd3c4905137b6ce1b3f57e4d9a4510eb4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/85324
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/docs/tint/translations.md b/docs/tint/translations.md
index 5119434..19bf2fa 100644
--- a/docs/tint/translations.md
+++ b/docs/tint/translations.md
@@ -118,11 +118,11 @@
 | | | |
 | texture_multisampled_2d&lt;type&gt; | OpTypeImage 2D MS=1 Sampled=1 | texture2d_ms&lt;type, access::sample&gt; | Texture2D |
 | | | |
-| texture_depth_2d | OpTypeImage 2D Depth=1 Sampled=1 | depth2d&lt;float, access::sample&gt;| Texture2D |
-| texture_depth_2d_array | OpTypeImage 2D Depth=1 Arrayed=1 Sampled=1 | depth2d_array&lt;float, access::sample&gt; | Texture2DArray |
-| texture_depth_cube | OpTypeImage Cube Depth=1 Sampled=1 | depthcube&lt;float, access::sample&gt; | TextureCube |
-| texture_depth_cube_array | OpTypeImage Cube Depth=1 Arrayed=1 Sampled=1 | depthcube_array&lt;float, access::sample&gt; | TextureCubeArray |
-| texture_depth_multisampled_2d | OpTypeImage 2D Depth=1 MS=1 Sampled=1 | depth2d&lt;float, access::sample&gt;| Texture2DMSArray |
+| texture_depth_2d | OpTypeImage 2D Sampled=1 | depth2d&lt;float, access::sample&gt;| Texture2D |
+| texture_depth_2d_array | OpTypeImage 2D Arrayed=1 Sampled=1 | depth2d_array&lt;float, access::sample&gt; | Texture2DArray |
+| texture_depth_cube | OpTypeImage Cube Sampled=1 | depthcube&lt;float, access::sample&gt; | TextureCube |
+| texture_depth_cube_array | OpTypeImage Cube Arrayed=1 Sampled=1 | depthcube_array&lt;float, access::sample&gt; | TextureCubeArray |
+| texture_depth_multisampled_2d | OpTypeImage 2D MS=1 Sampled=1 | depth2d&lt;float, access::sample&gt;| Texture2DMSArray |
 | | | |
 | texture_storage_1d&lt;image_storage_type&gt; | OpTypeImage 1D Sampled=2| texture1d&lt;type, access::read&gt; | RWTexture1D |
 | texture_storage_2d&lt;image_storage_type&gt; | OpTypeImage 2D Sampled=2 | texture2d&lt;type, access::read&gt; | RWTexture2D |
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index 5de6e46..a0d10b5 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -3354,6 +3354,15 @@
 uint32_t Builder::GenerateSampledImage(const sem::Type* texture_type,
                                        Operand texture_operand,
                                        Operand sampler_operand) {
+  // DepthTexture is always declared as SampledTexture.
+  // The Vulkan spec says: The "Depth" operand of OpTypeImage is ignored.
+  // In SPIRV, 0 means not depth, 1 means depth, and 2 means unknown.
+  // Using anything other than 0 is problematic on various Vulkan drivers.
+  if (auto* depthTextureType = texture_type->As<sem::DepthTexture>()) {
+    texture_type = builder_.create<sem::SampledTexture>(
+        depthTextureType->dim(), builder_.create<sem::F32>());
+  }
+
   uint32_t sampled_image_type_id = utils::GetOrCreate(
       texture_type_to_sampled_image_type_id_, texture_type, [&] {
         // We need to create the sampled image type and cache the result.
@@ -3812,6 +3821,15 @@
     return GenerateTypeIfNeeded(atomic->Type());
   }
 
+  // DepthTexture is always declared as SampledTexture.
+  // The Vulkan spec says: The "Depth" operand of OpTypeImage is ignored.
+  // In SPIRV, 0 means not depth, 1 means depth, and 2 means unknown.
+  // Using anything other than 0 is problematic on various Vulkan drivers.
+  if (auto* depthTextureType = type->As<sem::DepthTexture>()) {
+    type = builder_.create<sem::SampledTexture>(depthTextureType->dim(),
+                                                builder_.create<sem::F32>());
+  }
+
   // Pointers and references with differing accesses should not result in a
   // different SPIR-V types, so we explicitly ignore the access.
   // Pointers and References both map to a SPIR-V pointer type.
@@ -3961,9 +3979,9 @@
   }
 
   uint32_t depth_literal = 0u;
-  if (texture->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
-    depth_literal = 1u;
-  }
+  // The Vulkan spec says: The "Depth" operand of OpTypeImage is ignored.
+  // In SPIRV, 0 means not depth, 1 means depth, and 2 means unknown.
+  // Using anything other than 0 is problematic on various Vulkan drivers.
 
   uint32_t sampled_literal = 2u;
   if (texture->IsAnyOf<sem::MultisampledTexture, sem::SampledTexture,
diff --git a/src/tint/writer/spirv/builder_builtin_test.cc b/src/tint/writer/spirv/builder_builtin_test.cc
index 6738546..168fbab 100644
--- a/src/tint/writer/spirv/builder_builtin_test.cc
+++ b/src/tint/writer/spirv/builder_builtin_test.cc
@@ -487,7 +487,7 @@
   EXPECT_EQ(b.GenerateExpression(expr2), 17u) << b.error();
 
   EXPECT_EQ(DumpInstructions(b.types()), R"(%4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
diff --git a/src/tint/writer/spirv/builder_builtin_texture_test.cc b/src/tint/writer/spirv/builder_builtin_texture_test.cc
index 67df5ad..b602eb9 100644
--- a/src/tint/writer/spirv/builder_builtin_texture_test.cc
+++ b/src/tint/writer/spirv/builder_builtin_texture_test.cc
@@ -299,7 +299,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -320,7 +320,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -341,7 +341,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -364,7 +364,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -387,7 +387,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -408,7 +408,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -429,7 +429,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -453,7 +453,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -477,7 +477,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 1 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 1 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -750,7 +750,7 @@
     case ValidTextureOverload::kGatherDepth2dF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -776,7 +776,7 @@
     case ValidTextureOverload::kGatherDepth2dOffsetF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -806,7 +806,7 @@
     case ValidTextureOverload::kGatherDepth2dArrayF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -834,7 +834,7 @@
     case ValidTextureOverload::kGatherDepth2dArrayOffsetF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -866,7 +866,7 @@
     case ValidTextureOverload::kGatherDepthCubeF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -893,7 +893,7 @@
     case ValidTextureOverload::kGatherDepthCubeArrayF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -922,7 +922,7 @@
     case ValidTextureOverload::kGatherCompareDepth2dF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -947,7 +947,7 @@
     case ValidTextureOverload::kGatherCompareDepth2dOffsetF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -977,7 +977,7 @@
     case ValidTextureOverload::kGatherCompareDepth2dArrayF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1005,7 +1005,7 @@
     case ValidTextureOverload::kGatherCompareDepth2dArrayOffsetF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1037,7 +1037,7 @@
     case ValidTextureOverload::kGatherCompareDepthCubeF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1063,7 +1063,7 @@
     case ValidTextureOverload::kGatherCompareDepthCubeArrayF32:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1135,7 +1135,7 @@
     case ValidTextureOverload::kNumLayersDepth2dArray:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1156,7 +1156,7 @@
     case ValidTextureOverload::kNumLayersDepthCubeArray:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1289,7 +1289,7 @@
     case ValidTextureOverload::kNumLevelsDepth2d:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1307,7 +1307,7 @@
     case ValidTextureOverload::kNumLevelsDepth2dArray:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1325,7 +1325,7 @@
     case ValidTextureOverload::kNumLevelsDepthCube:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1343,7 +1343,7 @@
     case ValidTextureOverload::kNumLevelsDepthCubeArray:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1380,7 +1380,7 @@
     case ValidTextureOverload::kNumSamplesDepthMultisampled2d:
       return {R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 1 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 1 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1650,7 +1650,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1676,7 +1676,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1707,7 +1707,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1736,7 +1736,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1769,7 +1769,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -1796,7 +1796,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2298,7 +2298,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2327,7 +2327,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2360,7 +2360,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2391,7 +2391,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2426,7 +2426,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2456,7 +2456,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2774,7 +2774,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2799,7 +2799,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2829,7 +2829,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2857,7 +2857,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2889,7 +2889,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2915,7 +2915,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2945,7 +2945,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -2971,7 +2971,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3002,7 +3002,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3031,7 +3031,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3064,7 +3064,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 0 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3091,7 +3091,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 Cube 1 1 0 1 Unknown
+%3 = OpTypeImage %4 Cube 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3477,7 +3477,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 0 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3502,7 +3502,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
@@ -3528,7 +3528,7 @@
       return {
           R"(
 %4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%3 = OpTypeImage %4 2D 0 1 0 1 Unknown
 %2 = OpTypePointer UniformConstant %3
 %1 = OpVariable %2 UniformConstant
 %7 = OpTypeSampler
diff --git a/src/tint/writer/spirv/builder_type_test.cc b/src/tint/writer/spirv/builder_type_test.cc
index 3a8941c..e503a0b 100644
--- a/src/tint/writer/spirv/builder_type_test.cc
+++ b/src/tint/writer/spirv/builder_type_test.cc
@@ -563,7 +563,7 @@
   EXPECT_EQ(1u, id_two_d);
 
   EXPECT_EQ(DumpInstructions(b.types()), R"(%2 = OpTypeFloat 32
-%1 = OpTypeImage %2 2D 1 0 0 1 Unknown
+%1 = OpTypeImage %2 2D 0 0 0 1 Unknown
 )");
 }
 
@@ -578,7 +578,7 @@
   EXPECT_EQ(1u, id_two_d_array);
 
   EXPECT_EQ(DumpInstructions(b.types()), R"(%2 = OpTypeFloat 32
-%1 = OpTypeImage %2 2D 1 1 0 1 Unknown
+%1 = OpTypeImage %2 2D 0 1 0 1 Unknown
 )");
 }
 
@@ -592,7 +592,7 @@
   EXPECT_EQ(1u, id_cube);
 
   EXPECT_EQ(DumpInstructions(b.types()), R"(%2 = OpTypeFloat 32
-%1 = OpTypeImage %2 Cube 1 0 0 1 Unknown
+%1 = OpTypeImage %2 Cube 0 0 0 1 Unknown
 )");
   EXPECT_EQ(DumpInstructions(b.capabilities()), "");
 }
@@ -608,7 +608,7 @@
   EXPECT_EQ(1u, id_cube_array);
 
   EXPECT_EQ(DumpInstructions(b.types()), R"(%2 = OpTypeFloat 32
-%1 = OpTypeImage %2 Cube 1 1 0 1 Unknown
+%1 = OpTypeImage %2 Cube 0 1 0 1 Unknown
 )");
   EXPECT_EQ(DumpInstructions(b.capabilities()),
             R"(OpCapability SampledCubeArray
diff --git a/test/tint/bug/tint/827.wgsl.expected.spvasm b/test/tint/bug/tint/827.wgsl.expected.spvasm
index d2f383b..b1fda45 100644
--- a/test/tint/bug/tint/827.wgsl.expected.spvasm
+++ b/test/tint/bug/tint/827.wgsl.expected.spvasm
@@ -30,7 +30,7 @@
 %GlobalInvocationId_1 = OpVariable %_ptr_Input_v3uint Input
       %width = OpConstant %uint 128
       %float = OpTypeFloat 32
-          %8 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %8 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
         %tex = OpVariable %_ptr_UniformConstant_8 UniformConstant
 %_runtimearr_float = OpTypeRuntimeArray %float
diff --git a/test/tint/bug/tint/959.wgsl.expected.spvasm b/test/tint/bug/tint/959.wgsl.expected.spvasm
index d629631..a6f6c35 100644
--- a/test/tint/bug/tint/959.wgsl.expected.spvasm
+++ b/test/tint/bug/tint/959.wgsl.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 64
+; Bound: 63
 ; Schema: 0
                OpCapability Shader
                OpMemoryModel Logical GLSL450
@@ -202,38 +202,37 @@
          %t5 = OpVariable %_ptr_UniformConstant_23 UniformConstant
          %t6 = OpVariable %_ptr_UniformConstant_23 UniformConstant
          %t7 = OpVariable %_ptr_UniformConstant_23 UniformConstant
-         %33 = OpTypeImage %float 2D 1 0 0 1 Unknown
-%_ptr_UniformConstant_33 = OpTypePointer UniformConstant %33
-         %t8 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-         %t9 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t10 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t11 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t12 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t13 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t14 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-        %t15 = OpVariable %_ptr_UniformConstant_33 UniformConstant
-         %43 = OpTypeSampler
-%_ptr_UniformConstant_43 = OpTypePointer UniformConstant %43
-         %s0 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s1 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s2 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s3 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s4 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s5 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s6 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-         %s7 = OpVariable %_ptr_UniformConstant_43 UniformConstant
-%_ptr_UniformConstant_43_0 = OpTypePointer UniformConstant %43
-         %s8 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-         %s9 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s10 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s11 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s12 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s13 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s14 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
-        %s15 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
+%_ptr_UniformConstant_23_0 = OpTypePointer UniformConstant %23
+         %t8 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+         %t9 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t10 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t11 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t12 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t13 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t14 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+        %t15 = OpVariable %_ptr_UniformConstant_23_0 UniformConstant
+         %42 = OpTypeSampler
+%_ptr_UniformConstant_42 = OpTypePointer UniformConstant %42
+         %s0 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s1 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s2 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s3 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s4 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s5 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s6 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+         %s7 = OpVariable %_ptr_UniformConstant_42 UniformConstant
+%_ptr_UniformConstant_42_0 = OpTypePointer UniformConstant %42
+         %s8 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+         %s9 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s10 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s11 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s12 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s13 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s14 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
+        %s15 = OpVariable %_ptr_UniformConstant_42_0 UniformConstant
        %void = OpTypeVoid
-         %60 = OpTypeFunction %void
-       %main = OpFunction %void None %60
-         %63 = OpLabel
+         %59 = OpTypeFunction %void
+       %main = OpFunction %void None %59
+         %62 = OpLabel
                OpReturn
                OpFunctionEnd
diff --git a/test/tint/bug/tint/978.wgsl.expected.spvasm b/test/tint/bug/tint/978.wgsl.expected.spvasm
index e1da002..865f8b0 100644
--- a/test/tint/bug/tint/978.wgsl.expected.spvasm
+++ b/test/tint/bug/tint/978.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
 %_ptr_Output_v4float = OpTypePointer Output %v4float
           %8 = OpConstantNull %v4float
     %color_1 = OpVariable %_ptr_Output_v4float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
    %depthMap = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureDimensions/12c9bb.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/12c9bb.wgsl.expected.spvasm
index 85a2e2e..82f66a7 100644
--- a/test/tint/builtins/gen/textureDimensions/12c9bb.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/12c9bb.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/57e28f.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/57e28f.wgsl.expected.spvasm
index c1e6948..9dd34bf 100644
--- a/test/tint/builtins/gen/textureDimensions/57e28f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/57e28f.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/72e5d6.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/72e5d6.wgsl.expected.spvasm
index b645a15..7d2a40c 100644
--- a/test/tint/builtins/gen/textureDimensions/72e5d6.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/72e5d6.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/7bf826.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/7bf826.wgsl.expected.spvasm
index c6fc9b8..2229e18 100644
--- a/test/tint/builtins/gen/textureDimensions/7bf826.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/7bf826.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.spvasm
index 2e0527a..5d4d7e7 100644
--- a/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/90340b.wgsl.expected.spvasm
@@ -33,7 +33,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/9393b0.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/9393b0.wgsl.expected.spvasm
index d87c269..4ce2ce1 100644
--- a/test/tint/builtins/gen/textureDimensions/9393b0.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/9393b0.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/939fdb.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/939fdb.wgsl.expected.spvasm
index facc7e6..7e41c36 100644
--- a/test/tint/builtins/gen/textureDimensions/939fdb.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/939fdb.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.spvasm
index 03a54f6..1cf408f 100644
--- a/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/a01845.wgsl.expected.spvasm
@@ -33,7 +33,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureDimensions/f60bdb.wgsl.expected.spvasm b/test/tint/builtins/gen/textureDimensions/f60bdb.wgsl.expected.spvasm
index ad4b6aa..e43fe0b 100644
--- a/test/tint/builtins/gen/textureDimensions/f60bdb.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureDimensions/f60bdb.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureGather/10c554.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/10c554.wgsl.expected.spvasm
index dfa4d4a..44cf7b1 100644
--- a/test/tint/builtins/gen/textureGather/10c554.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/10c554.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGather/2e0ed5.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/2e0ed5.wgsl.expected.spvasm
index 8dd47c9..0170582 100644
--- a/test/tint/builtins/gen/textureGather/2e0ed5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/2e0ed5.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGather/43025d.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/43025d.wgsl.expected.spvasm
index 809074b..a8ef14e 100644
--- a/test/tint/builtins/gen/textureGather/43025d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/43025d.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGather/53ece6.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/53ece6.wgsl.expected.spvasm
index d46484e..ab53c1f 100644
--- a/test/tint/builtins/gen/textureGather/53ece6.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/53ece6.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGather/9a6358.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/9a6358.wgsl.expected.spvasm
index f379361..138fef1 100644
--- a/test/tint/builtins/gen/textureGather/9a6358.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/9a6358.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGather/c409ae.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGather/c409ae.wgsl.expected.spvasm
index 3ff9b74..d5f4ba6 100644
--- a/test/tint/builtins/gen/textureGather/c409ae.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGather/c409ae.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/182fd4.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/182fd4.wgsl.expected.spvasm
index 6137b2b..f24d780 100644
--- a/test/tint/builtins/gen/textureGatherCompare/182fd4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/182fd4.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/60d2d1.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/60d2d1.wgsl.expected.spvasm
index c6fd071..e5f9745 100644
--- a/test/tint/builtins/gen/textureGatherCompare/60d2d1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/60d2d1.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/6d9352.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/6d9352.wgsl.expected.spvasm
index 5a86729..355943f 100644
--- a/test/tint/builtins/gen/textureGatherCompare/6d9352.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/6d9352.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/6f1267.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/6f1267.wgsl.expected.spvasm
index 33dbf28..af1a777 100644
--- a/test/tint/builtins/gen/textureGatherCompare/6f1267.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/6f1267.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/783e65.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/783e65.wgsl.expected.spvasm
index 4872ee5..6ae28fa 100644
--- a/test/tint/builtins/gen/textureGatherCompare/783e65.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/783e65.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureGatherCompare/a5f587.wgsl.expected.spvasm b/test/tint/builtins/gen/textureGatherCompare/a5f587.wgsl.expected.spvasm
index 2d6e7f2..1cace3a 100644
--- a/test/tint/builtins/gen/textureGatherCompare/a5f587.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureGatherCompare/a5f587.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureLoad/19cf87.wgsl.expected.spvasm b/test/tint/builtins/gen/textureLoad/19cf87.wgsl.expected.spvasm
index 5a0ea57..eca642d 100644
--- a/test/tint/builtins/gen/textureLoad/19cf87.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureLoad/19cf87.wgsl.expected.spvasm
@@ -31,7 +31,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureLoad/6273b1.wgsl.expected.spvasm b/test/tint/builtins/gen/textureLoad/6273b1.wgsl.expected.spvasm
index 2f1ffc5..5db1880 100644
--- a/test/tint/builtins/gen/textureLoad/6273b1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureLoad/6273b1.wgsl.expected.spvasm
@@ -31,7 +31,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureLoad/9b2667.wgsl.expected.spvasm b/test/tint/builtins/gen/textureLoad/9b2667.wgsl.expected.spvasm
index 76e06b1..891f9a4 100644
--- a/test/tint/builtins/gen/textureLoad/9b2667.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureLoad/9b2667.wgsl.expected.spvasm
@@ -31,7 +31,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLayers/778bd1.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLayers/778bd1.wgsl.expected.spvasm
index e34b642..b1fd36b 100644
--- a/test/tint/builtins/gen/textureNumLayers/778bd1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLayers/778bd1.wgsl.expected.spvasm
@@ -33,7 +33,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLayers/e653c0.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLayers/e653c0.wgsl.expected.spvasm
index 8fb0180..52ed923 100644
--- a/test/tint/builtins/gen/textureNumLayers/e653c0.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLayers/e653c0.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLevels/076cb5.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLevels/076cb5.wgsl.expected.spvasm
index ad5ab93..7b36c19 100644
--- a/test/tint/builtins/gen/textureNumLevels/076cb5.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLevels/076cb5.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLevels/2c3575.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLevels/2c3575.wgsl.expected.spvasm
index 9f84c3c..ef03d8a 100644
--- a/test/tint/builtins/gen/textureNumLevels/2c3575.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLevels/2c3575.wgsl.expected.spvasm
@@ -33,7 +33,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLevels/b1b12b.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLevels/b1b12b.wgsl.expected.spvasm
index def7aeb..dcd4a66 100644
--- a/test/tint/builtins/gen/textureNumLevels/b1b12b.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLevels/b1b12b.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumLevels/f5828d.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumLevels/f5828d.wgsl.expected.spvasm
index 50e30a2..6af2f4a 100644
--- a/test/tint/builtins/gen/textureNumLevels/f5828d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumLevels/f5828d.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm b/test/tint/builtins/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm
index 5800475..a6f64b1 100644
--- a/test/tint/builtins/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm
@@ -32,7 +32,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/builtins/gen/textureSample/38bbb9.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/38bbb9.wgsl.expected.spvasm
index 965b178..788cf86 100644
--- a/test/tint/builtins/gen/textureSample/38bbb9.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/38bbb9.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSample/667d76.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/667d76.wgsl.expected.spvasm
index f813d47..51d8c51 100644
--- a/test/tint/builtins/gen/textureSample/667d76.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/667d76.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSample/7e9ffd.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/7e9ffd.wgsl.expected.spvasm
index 86f050b..313d27d 100644
--- a/test/tint/builtins/gen/textureSample/7e9ffd.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/7e9ffd.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 1 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSample/8522e7.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/8522e7.wgsl.expected.spvasm
index ff3e80c..4a1400c 100644
--- a/test/tint/builtins/gen/textureSample/8522e7.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/8522e7.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 1 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSample/c2f4e8.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/c2f4e8.wgsl.expected.spvasm
index 6733792..8c5f546 100644
--- a/test/tint/builtins/gen/textureSample/c2f4e8.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/c2f4e8.wgsl.expected.spvasm
@@ -18,7 +18,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 1 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSample/ea7030.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSample/ea7030.wgsl.expected.spvasm
index 6109222..d3c3a4e 100644
--- a/test/tint/builtins/gen/textureSample/ea7030.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSample/ea7030.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 0 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm
index e8ed7e0..9fff619 100644
--- a/test/tint/builtins/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/25fcd1.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm
index 6f738a3..a3d0519 100644
--- a/test/tint/builtins/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/3a5923.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm
index 6761aaa..3f2a1bf 100644
--- a/test/tint/builtins/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/63fb83.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 0 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm
index 1d15e69..d0f924c 100644
--- a/test/tint/builtins/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/98b85c.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 1 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm
index 9797345..e1df692 100644
--- a/test/tint/builtins/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/a3ca7e.wgsl.expected.spvasm
@@ -18,7 +18,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 1 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm
index 4f04f6d..f14e8bd 100644
--- a/test/tint/builtins/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompare/dd431d.wgsl.expected.spvasm
@@ -17,7 +17,7 @@
                OpDecorate %arg_1 DescriptorSet 1
                OpDecorate %arg_1 Binding 1
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 1 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
       %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
           %7 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm
index 08eaacd..47d942c 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/011a8f.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm
index 45efa23..d347914 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/1116ed.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm
index 834d5df..d85ceba 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/1568e3.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm
index 177f6f9..c97b967 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/2ad2b1.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm
index 8102ae6..d4414e7 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/4cf3a2.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm
index 4220224..e74be2e 100644
--- a/test/tint/builtins/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleCompareLevel/f8121c.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/02be59.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/02be59.wgsl.expected.spvasm
index b8fed20..9a11696 100644
--- a/test/tint/builtins/gen/textureSampleLevel/02be59.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/02be59.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/1b0291.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/1b0291.wgsl.expected.spvasm
index 38d4e45..fe52162 100644
--- a/test/tint/builtins/gen/textureSampleLevel/1b0291.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/1b0291.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 0 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/1bf73e.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/1bf73e.wgsl.expected.spvasm
index 8be8c18..28e2210 100644
--- a/test/tint/builtins/gen/textureSampleLevel/1bf73e.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/1bf73e.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/47daa4.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/47daa4.wgsl.expected.spvasm
index 4a78cb0..e46c365 100644
--- a/test/tint/builtins/gen/textureSampleLevel/47daa4.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/47daa4.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/ae5e39.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/ae5e39.wgsl.expected.spvasm
index 50ca7f9..550cf30 100644
--- a/test/tint/builtins/gen/textureSampleLevel/ae5e39.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/ae5e39.wgsl.expected.spvasm
@@ -35,7 +35,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float Cube 1 1 0 1 Unknown
+         %11 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/gen/textureSampleLevel/ba93b3.wgsl.expected.spvasm b/test/tint/builtins/gen/textureSampleLevel/ba93b3.wgsl.expected.spvasm
index 605376e..043c7ba 100644
--- a/test/tint/builtins/gen/textureSampleLevel/ba93b3.wgsl.expected.spvasm
+++ b/test/tint/builtins/gen/textureSampleLevel/ba93b3.wgsl.expected.spvasm
@@ -34,7 +34,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 1 0 1 Unknown
+         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
          %14 = OpTypeSampler
diff --git a/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.spvasm b/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.spvasm
index da6327a..d551eb8 100644
--- a/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.spvasm
+++ b/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.spvasm
@@ -41,7 +41,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
 %_ptr_Private_v4float = OpTypePointer Private %v4float
diff --git a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.spvasm b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.spvasm
index f03287e..ffa937e 100644
--- a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.spvasm
+++ b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.spvasm
@@ -40,7 +40,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
 %_ptr_Private_v4float = OpTypePointer Private %v4float
diff --git a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.spvasm b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.spvasm
index cf053b2..5844481 100644
--- a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.spvasm
+++ b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.spvasm
@@ -41,7 +41,7 @@
 %_ptr_Output_float = OpTypePointer Output %float
           %8 = OpConstantNull %float
 %vertex_point_size = OpVariable %_ptr_Output_float Output %8
-         %11 = OpTypeImage %float 2D 1 0 1 1 Unknown
+         %11 = OpTypeImage %float 2D 0 0 1 1 Unknown
 %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
       %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
 %_ptr_Private_v4float = OpTypePointer Private %v4float
diff --git a/test/tint/types/texture/depth/2d.wgsl.expected.spvasm b/test/tint/types/texture/depth/2d.wgsl.expected.spvasm
index 868f0b0..42e93f5 100644
--- a/test/tint/types/texture/depth/2d.wgsl.expected.spvasm
+++ b/test/tint/types/texture/depth/2d.wgsl.expected.spvasm
@@ -12,7 +12,7 @@
                OpDecorate %t_f DescriptorSet 0
                OpDecorate %t_f Binding 0
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 0 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
         %t_f = OpVariable %_ptr_UniformConstant_3 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/types/texture/depth/2d_array.wgsl.expected.spvasm b/test/tint/types/texture/depth/2d_array.wgsl.expected.spvasm
index 06f3808..95abab7 100644
--- a/test/tint/types/texture/depth/2d_array.wgsl.expected.spvasm
+++ b/test/tint/types/texture/depth/2d_array.wgsl.expected.spvasm
@@ -12,7 +12,7 @@
                OpDecorate %t_f DescriptorSet 0
                OpDecorate %t_f Binding 0
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float 2D 1 1 0 1 Unknown
+          %3 = OpTypeImage %float 2D 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
         %t_f = OpVariable %_ptr_UniformConstant_3 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/types/texture/depth/cube.wgsl.expected.spvasm b/test/tint/types/texture/depth/cube.wgsl.expected.spvasm
index 196b27d..fe4345e 100644
--- a/test/tint/types/texture/depth/cube.wgsl.expected.spvasm
+++ b/test/tint/types/texture/depth/cube.wgsl.expected.spvasm
@@ -12,7 +12,7 @@
                OpDecorate %t_f DescriptorSet 0
                OpDecorate %t_f Binding 0
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 0 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 0 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
         %t_f = OpVariable %_ptr_UniformConstant_3 UniformConstant
        %void = OpTypeVoid
diff --git a/test/tint/types/texture/depth/cube_array.wgsl.expected.spvasm b/test/tint/types/texture/depth/cube_array.wgsl.expected.spvasm
index 89de47d..0e215cf 100644
--- a/test/tint/types/texture/depth/cube_array.wgsl.expected.spvasm
+++ b/test/tint/types/texture/depth/cube_array.wgsl.expected.spvasm
@@ -13,7 +13,7 @@
                OpDecorate %t_f DescriptorSet 0
                OpDecorate %t_f Binding 0
       %float = OpTypeFloat 32
-          %3 = OpTypeImage %float Cube 1 1 0 1 Unknown
+          %3 = OpTypeImage %float Cube 0 1 0 1 Unknown
 %_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
         %t_f = OpVariable %_ptr_UniformConstant_3 UniformConstant
        %void = OpTypeVoid