Remove 2d Array Multisampled Textures

These do not exist in the WGSL spec, so removing them.

BUG=tint:717

Change-Id: I5eb2280fa2f0c923b67070a9ce4a7d2fc10d365d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/48460
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/ast/intrinsic_texture_helper_test.cc b/src/ast/intrinsic_texture_helper_test.cc
index 1669270..aca8e1d 100644
--- a/src/ast/intrinsic_texture_helper_test.cc
+++ b/src/ast/intrinsic_texture_helper_test.cc
@@ -325,17 +325,6 @@
           [](ProgramBuilder* b) { return b->ExprList("texture"); },
       },
       {
-          ValidTextureOverload::kDimensionsMultisampled2dArray,
-          "textureDimensions(t : texture_multisampled_2d_array<f32>)-> "
-          "vec2<i32>",
-          TextureKind::kMultisampled,
-          sem::SamplerKind::kSampler,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kF32,
-          "textureDimensions",
-          [](ProgramBuilder* b) { return b->ExprList("texture"); },
-      },
-      {
           ValidTextureOverload::kDimensionsDepth2d,
           "textureDimensions(t : texture_depth_2d) -> vec2<i32>",
           TextureKind::kDepth,
@@ -526,16 +515,6 @@
           [](ProgramBuilder* b) { return b->ExprList("texture"); },
       },
       {
-          ValidTextureOverload::kNumLayersMultisampled2dArray,
-          "textureNumLayers(t : texture_multisampled_2d_array<f32>) -> i32",
-          TextureKind::kMultisampled,
-          sem::SamplerKind::kSampler,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kF32,
-          "textureNumLayers",
-          [](ProgramBuilder* b) { return b->ExprList("texture"); },
-      },
-      {
           ValidTextureOverload::kNumLayersDepth2dArray,
           "textureNumLayers(t : texture_depth_2d_array) -> i32",
           TextureKind::kDepth,
@@ -666,16 +645,6 @@
           [](ProgramBuilder* b) { return b->ExprList("texture"); },
       },
       {
-          ValidTextureOverload::kNumSamplesMultisampled2dArray,
-          "textureNumSamples(t : texture_multisampled_2d_array<f32>) -> i32",
-          TextureKind::kMultisampled,
-          sem::SamplerKind::kSampler,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kF32,
-          "textureNumSamples",
-          [](ProgramBuilder* b) { return b->ExprList("texture"); },
-      },
-      {
           ValidTextureOverload::kSample1dF32,
           "textureSample(t      : texture_1d<f32>,\n"
           "              s      : sampler,\n"
@@ -1889,57 +1858,6 @@
           },
       },
       {
-          ValidTextureOverload::kLoadMultisampled2dArrayF32,
-          "textureLoad(t            : texture_multisampled_2d_array<f32>,\n"
-          "            coords       : vec2<i32>,\n"
-          "            array_index  : i32,\n"
-          "            sample_index : i32) -> vec4<f32>",
-          TextureKind::kMultisampled,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kF32,
-          "textureLoad",
-          [](ProgramBuilder* b) {
-            return b->ExprList("texture",           // t
-                               b->vec2<i32>(1, 2),  // coords
-                               3,                   // array_index
-                               4);                  // sample_index
-          },
-      },
-      {
-          ValidTextureOverload::kLoadMultisampled2dArrayU32,
-          "textureLoad(t            : texture_multisampled_2d_array<u32>,\n"
-          "            coords       : vec2<i32>,\n"
-          "            array_index  : i32,\n"
-          "            sample_index : i32) -> vec4<u32>",
-          TextureKind::kMultisampled,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kU32,
-          "textureLoad",
-          [](ProgramBuilder* b) {
-            return b->ExprList("texture",           // t
-                               b->vec2<i32>(1, 2),  // coords
-                               3,                   // array_index
-                               4);                  // sample_index
-          },
-      },
-      {
-          ValidTextureOverload::kLoadMultisampled2dArrayI32,
-          "textureLoad(t            : texture_multisampled_2d_array<i32>,\n"
-          "            coords       : vec2<i32>,\n"
-          "            array_index  : i32,\n"
-          "            sample_index : i32) -> vec4<i32>",
-          TextureKind::kMultisampled,
-          sem::TextureDimension::k2dArray,
-          TextureDataType::kI32,
-          "textureLoad",
-          [](ProgramBuilder* b) {
-            return b->ExprList("texture",           // t
-                               b->vec2<i32>(1, 2),  // coords
-                               3,                   // array_index
-                               4);                  // sample_index
-          },
-      },
-      {
           ValidTextureOverload::kLoadDepth2dLevelF32,
           "textureLoad(t      : texture_depth_2d,\n"
           "            coords : vec2<i32>,\n"
diff --git a/src/ast/intrinsic_texture_helper_test.h b/src/ast/intrinsic_texture_helper_test.h
index b7a9a80..dc42295 100644
--- a/src/ast/intrinsic_texture_helper_test.h
+++ b/src/ast/intrinsic_texture_helper_test.h
@@ -46,7 +46,6 @@
   kDimensionsCubeArray,
   kDimensionsCubeArrayLevel,
   kDimensionsMultisampled2d,
-  kDimensionsMultisampled2dArray,
   kDimensionsDepth2d,
   kDimensionsDepth2dLevel,
   kDimensionsDepth2dArray,
@@ -65,7 +64,6 @@
   kDimensionsStorageWO3d,
   kNumLayers2dArray,
   kNumLayersCubeArray,
-  kNumLayersMultisampled2dArray,
   kNumLayersDepth2dArray,
   kNumLayersDepthCubeArray,
   kNumLayersStorageWO2dArray,
@@ -79,7 +77,6 @@
   kNumLevelsDepthCube,
   kNumLevelsDepthCubeArray,
   kNumSamplesMultisampled2d,
-  kNumSamplesMultisampled2dArray,
   kSample1dF32,
   kSample2dF32,
   kSample2dOffsetF32,
@@ -146,9 +143,6 @@
   kLoadMultisampled2dF32,
   kLoadMultisampled2dU32,
   kLoadMultisampled2dI32,
-  kLoadMultisampled2dArrayF32,
-  kLoadMultisampled2dArrayU32,
-  kLoadMultisampled2dArrayI32,
   kLoadDepth2dLevelF32,
   kLoadDepth2dArrayLevelF32,
   kLoadStorageRO1dRgba32float,  // Not permutated for all texel formats
diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc
index be4d80d..5adf046 100644
--- a/src/resolver/intrinsic_test.cc
+++ b/src/resolver/intrinsic_test.cc
@@ -1697,7 +1697,6 @@
     case ValidTextureOverload::kDimensionsCube:
     case ValidTextureOverload::kDimensionsCubeArray:
     case ValidTextureOverload::kDimensionsMultisampled2d:
-    case ValidTextureOverload::kDimensionsMultisampled2dArray:
     case ValidTextureOverload::kDimensionsDepth2d:
     case ValidTextureOverload::kDimensionsDepth2dArray:
     case ValidTextureOverload::kDimensionsDepthCube:
@@ -1713,7 +1712,6 @@
       return R"(textureDimensions(texture))";
     case ValidTextureOverload::kNumLayers2dArray:
     case ValidTextureOverload::kNumLayersCubeArray:
-    case ValidTextureOverload::kNumLayersMultisampled2dArray:
     case ValidTextureOverload::kNumLayersDepth2dArray:
     case ValidTextureOverload::kNumLayersDepthCubeArray:
     case ValidTextureOverload::kNumLayersStorageWO2dArray:
@@ -1729,7 +1727,6 @@
     case ValidTextureOverload::kNumLevelsDepthCubeArray:
       return R"(textureNumLevels(texture))";
     case ValidTextureOverload::kNumSamplesMultisampled2d:
-    case ValidTextureOverload::kNumSamplesMultisampled2dArray:
       return R"(textureNumSamples(texture))";
     case ValidTextureOverload::kDimensions2dLevel:
     case ValidTextureOverload::kDimensions2dArrayLevel:
@@ -1873,12 +1870,6 @@
       return R"(textureLoad(texture, coords, sample_index))";
     case ValidTextureOverload::kLoadMultisampled2dI32:
       return R"(textureLoad(texture, coords, sample_index))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayF32:
-      return R"(textureLoad(texture, coords, array_index, sample_index))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayU32:
-      return R"(textureLoad(texture, coords, array_index, sample_index))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayI32:
-      return R"(textureLoad(texture, coords, array_index, sample_index))";
     case ValidTextureOverload::kLoadDepth2dLevelF32:
       return R"(textureLoad(texture, coords, level))";
     case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
diff --git a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
index 88d9eed..9988a7c 100644
--- a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
@@ -74,13 +74,6 @@
 )",
           "tint_tmp.xy",
       };
-    case ValidTextureOverload::kDimensionsMultisampled2dArray:
-      return {
-          R"(int4 tint_tmp;
-  tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
-)",
-          "tint_tmp.xy",
-      };
     case ValidTextureOverload::kDimensions3d:
     case ValidTextureOverload::kDimensionsStorageRO3d:
     case ValidTextureOverload::kDimensionsStorageWO3d:
@@ -156,14 +149,6 @@
 )",
           "tint_tmp.z",
       };
-    case ValidTextureOverload::kNumLayersMultisampled2dArray:
-      return {
-          R"(int4 tint_tmp;
-  tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
-)",
-          "tint_tmp.z",
-      };
-
     case ValidTextureOverload::kNumLevels2d:
     case ValidTextureOverload::kNumLevelsCube:
     case ValidTextureOverload::kNumLevelsDepth2d:
@@ -192,13 +177,6 @@
 )",
           "tint_tmp.z",
       };
-    case ValidTextureOverload::kNumSamplesMultisampled2dArray:
-      return {
-          R"(int4 tint_tmp;
-  tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
-)",
-          "tint_tmp.w",
-      };
     case ValidTextureOverload::kSample1dF32:
       return R"(tint_symbol.Sample(tint_symbol_1, 1.0f))";
     case ValidTextureOverload::kSample2dF32:
@@ -331,12 +309,6 @@
       return R"(tint_symbol.Load(int3(1, 2, 0), 3))";
     case ValidTextureOverload::kLoadMultisampled2dI32:
       return R"(tint_symbol.Load(int3(1, 2, 0), 3))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayF32:
-      return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayU32:
-      return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayI32:
-      return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))";
     case ValidTextureOverload::kLoadDepth2dLevelF32:
       return R"(tint_symbol.Load(int3(1, 2, 0), 3))";
     case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
diff --git a/src/writer/msl/generator_impl_intrinsic_texture_test.cc b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
index a2f9201..02d058d 100644
--- a/src/writer/msl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
@@ -31,7 +31,6 @@
     case ValidTextureOverload::kDimensions2d:
     case ValidTextureOverload::kDimensions2dArray:
     case ValidTextureOverload::kDimensionsMultisampled2d:
-    case ValidTextureOverload::kDimensionsMultisampled2dArray:
     case ValidTextureOverload::kDimensionsDepth2d:
     case ValidTextureOverload::kDimensionsDepth2dArray:
     case ValidTextureOverload::kDimensionsStorageRO2d:
@@ -62,7 +61,6 @@
       return R"(int3(texture.get_width(1), texture.get_height(1), texture.get_height(1)))";
     case ValidTextureOverload::kNumLayers2dArray:
     case ValidTextureOverload::kNumLayersCubeArray:
-    case ValidTextureOverload::kNumLayersMultisampled2dArray:
     case ValidTextureOverload::kNumLayersDepth2dArray:
     case ValidTextureOverload::kNumLayersDepthCubeArray:
     case ValidTextureOverload::kNumLayersStorageWO2dArray:
@@ -78,7 +76,6 @@
     case ValidTextureOverload::kNumLevelsDepthCubeArray:
       return R"(int(texture.get_num_mip_levels()))";
     case ValidTextureOverload::kNumSamplesMultisampled2d:
-    case ValidTextureOverload::kNumSamplesMultisampled2dArray:
       return R"(int(texture.get_num_samples()))";
     case ValidTextureOverload::kSample1dF32:
       return R"(texture.sample(sampler, 1.0f))";
@@ -212,12 +209,6 @@
       return R"(texture.read(int2(1, 2), 3))";
     case ValidTextureOverload::kLoadMultisampled2dI32:
       return R"(texture.read(int2(1, 2), 3))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayF32:
-      return R"(texture.read(int2(1, 2), 3, 4))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayU32:
-      return R"(texture.read(int2(1, 2), 3, 4))";
-    case ValidTextureOverload::kLoadMultisampled2dArrayI32:
-      return R"(texture.read(int2(1, 2), 3, 4))";
     case ValidTextureOverload::kLoadDepth2dLevelF32:
       return R"(texture.read(int2(1, 2), 3))";
     case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
diff --git a/src/writer/spirv/builder_intrinsic_texture_test.cc b/src/writer/spirv/builder_intrinsic_texture_test.cc
index ea77938..74d4ffd 100644
--- a/src/writer/spirv/builder_intrinsic_texture_test.cc
+++ b/src/writer/spirv/builder_intrinsic_texture_test.cc
@@ -297,28 +297,6 @@
           R"(
 OpCapability ImageQuery
 )"};
-    case ValidTextureOverload::kDimensionsMultisampled2dArray:
-      return {
-          R"(
-%4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%10 = OpTypeInt 32 1
-%9 = OpTypeVector %10 2
-%12 = OpTypeVector %10 3
-)",
-          R"(
-%13 = OpLoad %3 %1
-%11 = OpImageQuerySize %12 %13
-%8 = OpVectorShuffle %9 %11 %11 0 1
-)",
-          R"(
-OpCapability ImageQuery
-)"};
     case ValidTextureOverload::kDimensionsDepth2d:
       return {
           R"(
@@ -706,26 +684,6 @@
 OpCapability SampledCubeArray
 OpCapability ImageQuery
 )"};
-    case ValidTextureOverload::kNumLayersMultisampled2dArray:
-      return {R"(
-%4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%9 = OpTypeInt 32 1
-%11 = OpTypeVector %9 3
-)",
-              R"(
-%12 = OpLoad %3 %1
-%10 = OpImageQuerySize %11 %12
-%8 = OpCompositeExtract %9 %10 2
-)",
-              R"(
-OpCapability ImageQuery
-)"};
     case ValidTextureOverload::kNumLayersDepth2dArray:
       return {R"(
 %4 = OpTypeFloat 32
@@ -971,24 +929,6 @@
               R"(
 OpCapability ImageQuery
 )"};
-    case ValidTextureOverload::kNumSamplesMultisampled2dArray:
-      return {R"(
-%4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%9 = OpTypeInt 32 1
-)",
-              R"(
-%10 = OpLoad %3 %1
-%8 = OpImageQuerySamples %9 %10
-)",
-              R"(
-OpCapability ImageQuery
-)"};
     case ValidTextureOverload::kSample1dF32:
       return {
           R"(
@@ -2897,80 +2837,6 @@
 )",
           R"(
 )"};
-    case ValidTextureOverload::kLoadMultisampled2dArrayF32:
-      return {
-          R"(
-%4 = OpTypeFloat 32
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%9 = OpTypeVector %4 4
-%12 = OpTypeInt 32 1
-%11 = OpTypeVector %12 3
-%13 = OpConstant %12 1
-%14 = OpConstant %12 2
-%15 = OpConstant %12 3
-%16 = OpConstantComposite %11 %13 %14 %15
-%17 = OpConstant %12 4
-)",
-          R"(
-%10 = OpLoad %3 %1
-%8 = OpImageFetch %9 %10 %16 Sample %17
-)",
-          R"(
-)"};
-    case ValidTextureOverload::kLoadMultisampled2dArrayU32:
-      return {
-          R"(
-%4 = OpTypeInt 32 0
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%9 = OpTypeVector %4 4
-%12 = OpTypeInt 32 1
-%11 = OpTypeVector %12 3
-%13 = OpConstant %12 1
-%14 = OpConstant %12 2
-%15 = OpConstant %12 3
-%16 = OpConstantComposite %11 %13 %14 %15
-%17 = OpConstant %12 4
-)",
-          R"(
-%10 = OpLoad %3 %1
-%8 = OpImageFetch %9 %10 %16 Sample %17
-)",
-          R"(
-)"};
-    case ValidTextureOverload::kLoadMultisampled2dArrayI32:
-      return {
-          R"(
-%4 = OpTypeInt 32 1
-%3 = OpTypeImage %4 2D 0 1 1 1 Unknown
-%2 = OpTypePointer UniformConstant %3
-%1 = OpVariable %2 UniformConstant
-%7 = OpTypeSampler
-%6 = OpTypePointer UniformConstant %7
-%5 = OpVariable %6 UniformConstant
-%9 = OpTypeVector %4 4
-%11 = OpTypeVector %4 3
-%12 = OpConstant %4 1
-%13 = OpConstant %4 2
-%14 = OpConstant %4 3
-%15 = OpConstantComposite %11 %12 %13 %14
-%16 = OpConstant %4 4
-)",
-          R"(
-%10 = OpLoad %3 %1
-%8 = OpImageFetch %9 %10 %15 Sample %16
-)",
-          R"(
-)"};
     case ValidTextureOverload::kLoadDepth2dLevelF32:
       return {
           R"(