[msl] Add polyfill for textureNumSamples
Add MSL member function definitions for get_num_samples().
Bug: 42251016
Change-Id: I1f6e074a1f5ecb95f14c82337186c27c6bdb6dae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/193325
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/msl/builtin_fn.cc b/src/tint/lang/msl/builtin_fn.cc
index bf969cb..7230db9 100644
--- a/src/tint/lang/msl/builtin_fn.cc
+++ b/src/tint/lang/msl/builtin_fn.cc
@@ -76,6 +76,8 @@
return "get_array_size";
case BuiltinFn::kGetNumMipLevels:
return "get_num_mip_levels";
+ case BuiltinFn::kGetNumSamples:
+ return "get_num_samples";
case BuiltinFn::kRead:
return "read";
case BuiltinFn::kSample:
diff --git a/src/tint/lang/msl/builtin_fn.h b/src/tint/lang/msl/builtin_fn.h
index 223e4b2..1f2281a 100644
--- a/src/tint/lang/msl/builtin_fn.h
+++ b/src/tint/lang/msl/builtin_fn.h
@@ -64,6 +64,7 @@
kGetDepth,
kGetArraySize,
kGetNumMipLevels,
+ kGetNumSamples,
kRead,
kSample,
kSampleCompare,
diff --git a/src/tint/lang/msl/intrinsic/data.cc b/src/tint/lang/msl/intrinsic/data.cc
index b77d1f1..b8d3220 100644
--- a/src/tint/lang/msl/intrinsic/data.cc
+++ b/src/tint/lang/msl/intrinsic/data.cc
@@ -3660,6 +3660,28 @@
},
{
/* [126] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(0),
+ /* parameters */ ParameterIndex(146),
+ /* return_matcher_indices */ MatcherIndicesIndex(59),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [127] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMemberFunction),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(152),
+ /* return_matcher_indices */ MatcherIndicesIndex(59),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [128] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 5,
/* num_explicit_templates */ 0,
@@ -3670,7 +3692,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [127] */
+ /* [129] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
@@ -3681,7 +3703,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [128] */
+ /* [130] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
@@ -3692,7 +3714,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [129] */
+ /* [131] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
@@ -3703,7 +3725,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [130] */
+ /* [132] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
@@ -3723,67 +3745,67 @@
/* [0] */
/* fn atomic_compare_exchange_weak_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, ptr<function, T, read_write>, T, u32, u32) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(126),
+ /* overloads */ OverloadIndex(128),
},
{
/* [1] */
/* fn atomic_exchange_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [2] */
/* fn atomic_fetch_add_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [3] */
/* fn atomic_fetch_and_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [4] */
/* fn atomic_fetch_max_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [5] */
/* fn atomic_fetch_min_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [6] */
/* fn atomic_fetch_or_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [7] */
/* fn atomic_fetch_sub_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [8] */
/* fn atomic_fetch_xor_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(127),
+ /* overloads */ OverloadIndex(129),
},
{
/* [9] */
/* fn atomic_load_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, u32) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(128),
+ /* overloads */ OverloadIndex(130),
},
{
/* [10] */
/* fn atomic_store_explicit[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, u32) */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(129),
+ /* overloads */ OverloadIndex(131),
},
{
/* [11] */
@@ -3868,6 +3890,13 @@
},
{
/* [17] */
+ /* fn get_num_samples[T : fiu32](texture: texture_multisampled_2d<T>) -> u32 */
+ /* fn get_num_samples(texture: texture_depth_multisampled_2d) -> u32 */
+ /* num overloads */ 2,
+ /* overloads */ OverloadIndex(126),
+ },
+ {
+ /* [18] */
/* fn read[T : fiu32](texture: texture_1d<T>, coords: u32) -> vec4<T> */
/* fn read[T : fiu32, L : iu32](texture: texture_2d<T>, coords: vec2<u32>, level: L) -> vec4<T> */
/* fn read[T : fiu32, A : iu32, L : iu32](texture: texture_2d_array<T>, coords: vec2<u32>, array_index: A, level: L) -> vec4<T> */
@@ -3892,7 +3921,7 @@
/* overloads */ OverloadIndex(37),
},
{
- /* [18] */
+ /* [19] */
/* fn sample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */
/* fn sample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn sample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
@@ -3934,7 +3963,7 @@
/* overloads */ OverloadIndex(0),
},
{
- /* [19] */
+ /* [20] */
/* fn sample_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
/* fn sample_compare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
/* fn sample_compare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
@@ -3945,7 +3974,7 @@
/* overloads */ OverloadIndex(109),
},
{
- /* [20] */
+ /* [21] */
/* fn write(texture: texture_storage_1d<f32_texel_format, writable>, value: vec4<f32>, coords: u32) */
/* fn write(texture: texture_storage_2d<f32_texel_format, writable>, value: vec4<f32>, coords: vec2<u32>) */
/* fn write[A : iu32](texture: texture_storage_2d_array<f32_texel_format, writable>, value: vec4<f32>, coords: vec2<u32>, array_index: A) */
@@ -3962,10 +3991,10 @@
/* overloads */ OverloadIndex(87),
},
{
- /* [21] */
+ /* [22] */
/* fn threadgroup_barrier(u32) */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(130),
+ /* overloads */ OverloadIndex(132),
},
};
diff --git a/src/tint/lang/msl/msl.def b/src/tint/lang/msl/msl.def
index d2c5083..3634dec 100644
--- a/src/tint/lang/msl/msl.def
+++ b/src/tint/lang/msl/msl.def
@@ -193,6 +193,9 @@
@member_function fn get_num_mip_levels(texture: texture_depth_cube) -> u32
@member_function fn get_num_mip_levels(texture: texture_depth_cube_array) -> u32
+@member_function fn get_num_samples[T: fiu32](texture: texture_multisampled_2d<T>) -> u32
+@member_function fn get_num_samples(texture: texture_depth_multisampled_2d) -> u32
+
@member_function fn read[T: fiu32](texture: texture_1d<T>, coords: u32) -> vec4<T>
@member_function fn read[T: fiu32, L: iu32](texture: texture_2d<T>, coords: vec2<u32>, level: L) -> vec4<T>
@member_function fn read[T: fiu32, A: iu32, L: iu32](texture: texture_2d_array<T>, coords: vec2<u32>, array_index: A, level: L) -> vec4<T>
diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
index 539530a..e08b180 100644
--- a/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
+++ b/src/tint/lang/msl/writer/raise/builtin_polyfill.cc
@@ -93,6 +93,7 @@
case core::BuiltinFn::kTextureLoad:
case core::BuiltinFn::kTextureNumLayers:
case core::BuiltinFn::kTextureNumLevels:
+ case core::BuiltinFn::kTextureNumSamples:
case core::BuiltinFn::kTextureSample:
case core::BuiltinFn::kTextureSampleBias:
case core::BuiltinFn::kTextureSampleCompare:
@@ -161,6 +162,9 @@
case core::BuiltinFn::kTextureNumLevels:
TextureNumLevels(builtin);
break;
+ case core::BuiltinFn::kTextureNumSamples:
+ TextureNumSamples(builtin);
+ break;
case core::BuiltinFn::kTextureSample:
TextureSample(builtin);
break;
@@ -365,6 +369,12 @@
TextureNumHelper(builtin, msl::BuiltinFn::kGetNumMipLevels);
}
+ /// Replace a textureNumSamples call with the equivalent MSL intrinsic.
+ /// @param builtin the builtin call instruction
+ void TextureNumSamples(core::ir::CoreBuiltinCall* builtin) {
+ TextureNumHelper(builtin, msl::BuiltinFn::kGetNumSamples);
+ }
+
/// Replace a textureSample call with the equivalent MSL intrinsic.
/// @param builtin the builtin call instruction
void TextureSample(core::ir::CoreBuiltinCall* builtin) {
diff --git a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
index bb7a06f..9a836e0 100644
--- a/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
+++ b/src/tint/lang/msl/writer/raise/builtin_polyfill_test.cc
@@ -38,6 +38,7 @@
#include "src/tint/lang/core/type/atomic.h"
#include "src/tint/lang/core/type/builtin_structs.h"
#include "src/tint/lang/core/type/depth_texture.h"
+#include "src/tint/lang/core/type/multisampled_texture.h"
#include "src/tint/lang/core/type/sampled_texture.h"
#include "src/tint/lang/core/type/storage_texture.h"
#include "src/tint/lang/core/type/texture_dimension.h"
@@ -1320,6 +1321,40 @@
EXPECT_EQ(expect, str());
}
+TEST_F(MslWriter_BuiltinPolyfillTest, TextureNumSamples) {
+ auto* t = b.FunctionParam(
+ "t", ty.Get<core::type::MultisampledTexture>(core::type::TextureDimension::k2d, ty.f32()));
+ auto* func = b.Function("foo", ty.u32());
+ func->SetParams({t});
+ b.Append(func->Block(), [&] {
+ auto* result = b.Call<u32>(core::BuiltinFn::kTextureNumSamples, t);
+ b.Return(func, result);
+ });
+
+ auto* src = R"(
+%foo = func(%t:texture_multisampled_2d<f32>):u32 {
+ $B1: {
+ %3:u32 = textureNumSamples %t
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%foo = func(%t:texture_multisampled_2d<f32>):u32 {
+ $B1: {
+ %3:u32 = %t.get_num_samples
+ ret %3
+ }
+}
+)";
+
+ Run(BuiltinPolyfill);
+
+ EXPECT_EQ(expect, str());
+}
+
TEST_F(MslWriter_BuiltinPolyfillTest, TextureSample) {
auto* t = b.FunctionParam(
"t", ty.Get<core::type::SampledTexture>(core::type::TextureDimension::k2d, ty.f32()));
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl
index 2747d7a..ba5fa26 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<uint, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_50f399(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_50f399 = func():void {
- $B2: {
- %4:texture_multisampled_2d<u32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_50f399(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_50f399
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_50f399(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_50f399
- ret
- }
+kernel void compute_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_50f399(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_50f399
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl
index 78c82ff..02b3bc8 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<int, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_c1a777(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_c1a777 = func():void {
- $B2: {
- %4:texture_multisampled_2d<i32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_c1a777(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_c1a777
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_c1a777(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_c1a777
- ret
- }
+kernel void compute_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_c1a777(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_c1a777
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl
index 033d432..d53d223 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<float, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_dbb799(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_dbb799 = func():void {
- $B2: {
- %4:texture_multisampled_2d<f32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_dbb799(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_dbb799
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_dbb799(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_dbb799
- ret
- }
+kernel void compute_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_dbb799(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_dbb799
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl
index c03f5a1..335eb9e 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ depth2d_ms<float, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_ecd321(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_ecd321 = func():void {
- $B2: {
- %4:texture_depth_multisampled_2d = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_ecd321(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_ecd321
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_ecd321(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_ecd321
- ret
- }
+kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_ecd321(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_ecd321
- ret
- }
+vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.msl
index 2747d7a..ba5fa26 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<uint, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<u32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_50f399(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_50f399 = func():void {
- $B2: {
- %4:texture_multisampled_2d<u32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_50f399(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_50f399
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_50f399(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_50f399
- ret
- }
+kernel void compute_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_50f399(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_50f399
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<uint, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.msl
index 78c82ff..02b3bc8 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<int, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<i32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_c1a777(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_c1a777 = func():void {
- $B2: {
- %4:texture_multisampled_2d<i32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_c1a777(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_c1a777
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_c1a777(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_c1a777
- ret
- }
+kernel void compute_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_c1a777(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_c1a777
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<int, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.msl
index 033d432..d53d223 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_ms<float, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_dbb799(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_dbb799 = func():void {
- $B2: {
- %4:texture_multisampled_2d<f32> = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_dbb799(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_dbb799
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_dbb799(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_dbb799
- ret
- }
+kernel void compute_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_dbb799(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_dbb799
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.msl
index c03f5a1..335eb9e 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ depth2d_ms<float, access::read> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureNumSamples_ecd321(tint_module_vars_struct tint_module_vars) {
+ uint res = tint_module_vars.arg_0.get_num_samples();
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureNumSamples_ecd321 = func():void {
- $B2: {
- %4:texture_depth_multisampled_2d = load %arg_0
- %5:u32 = textureNumSamples %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_ecd321(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureNumSamples_ecd321
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_ecd321(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureNumSamples_ecd321
- ret
- }
+kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureNumSamples_ecd321(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureNumSamples_ecd321
- ret
- }
+vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-unhandled variable address space
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.ir.msl b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.ir.msl
index 8b02481..1244baf 100644
--- a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.ir.msl
+++ b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.ir.msl
@@ -1,9 +1,47 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ depth2d_ms<float, access::read> arg_0;
+ thread float4* tint_symbol_1;
+};
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct vertex_main_outputs {
+ float4 vertex_main_out_tint_symbol_1_1 [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:924 internal compiler error: TINT_UNREACHABLE unhandled: textureNumSamples
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+void textureNumSamples_a3c8a0(tint_module_vars_struct tint_module_vars) {
+ int res = 0;
+ res = int(tint_module_vars.arg_0.get_num_samples());
+}
+void tint_symbol_2(float4 tint_symbol, tint_module_vars_struct tint_module_vars) {
+ (*tint_module_vars.tint_symbol_1) = tint_symbol;
+}
+void vertex_main_1(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_a3c8a0(tint_module_vars);
+ tint_symbol_2(float4(0.0f), tint_module_vars);
+}
+vertex_main_out vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ vertex_main_1(tint_module_vars);
+ return vertex_main_out{.tint_symbol_1_1=(*tint_module_vars.tint_symbol_1)};
+}
+void fragment_main_1(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_a3c8a0(tint_module_vars);
+}
+fragment void fragment_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
+ fragment_main_1(tint_module_vars);
+}
+void compute_main_1(tint_module_vars_struct tint_module_vars) {
+ textureNumSamples_a3c8a0(tint_module_vars);
+}
+kernel void compute_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
+ compute_main_1(tint_module_vars);
+}
+vertex vertex_main_outputs vertex_main(depth2d_ms<float, access::read> arg_0 [[texture(0)]]) {
+ thread float4 tint_symbol_1 = float4(0.0f);
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .tint_symbol_1=(&tint_symbol_1)};
+ return vertex_main_outputs{.vertex_main_out_tint_symbol_1_1=vertex_main_inner(tint_module_vars).tint_symbol_1_1};
+}
diff --git a/test/tint/unittest/reader/spirv/ImageQuerySamples_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl b/test/tint/unittest/reader/spirv/ImageQuerySamples_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl
deleted file mode 100644
index 8b02481..0000000
--- a/test/tint/unittest/reader/spirv/ImageQuerySamples_SignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl
+++ /dev/null
@@ -1,9 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/msl/writer/printer/printer.cc:924 internal compiler error: TINT_UNREACHABLE unhandled: textureNumSamples
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/unittest/reader/spirv/ImageQuerySamples_UnsignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl b/test/tint/unittest/reader/spirv/ImageQuerySamples_UnsignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl
deleted file mode 100644
index 8b02481..0000000
--- a/test/tint/unittest/reader/spirv/ImageQuerySamples_UnsignedResult_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.msl
+++ /dev/null
@@ -1,9 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/msl/writer/printer/printer.cc:924 internal compiler error: TINT_UNREACHABLE unhandled: textureNumSamples
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/unittest/reader/spirv/Multisampled_Only2DNonArrayedIsValid_SpvParserHandleTest_ImageDeclTest_DeclareAndUseHandle_2.spvasm.expected.ir.msl b/test/tint/unittest/reader/spirv/Multisampled_Only2DNonArrayedIsValid_SpvParserHandleTest_ImageDeclTest_DeclareAndUseHandle_2.spvasm.expected.ir.msl
deleted file mode 100644
index 8b02481..0000000
--- a/test/tint/unittest/reader/spirv/Multisampled_Only2DNonArrayedIsValid_SpvParserHandleTest_ImageDeclTest_DeclareAndUseHandle_2.spvasm.expected.ir.msl
+++ /dev/null
@@ -1,9 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/msl/writer/printer/printer.cc:924 internal compiler error: TINT_UNREACHABLE unhandled: textureNumSamples
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_6.spvasm.expected.ir.msl b/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_6.spvasm.expected.ir.msl
deleted file mode 100644
index 8b02481..0000000
--- a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_RawImage_Variable_6.spvasm.expected.ir.msl
+++ /dev/null
@@ -1,9 +0,0 @@
-SKIP: FAILED
-
-../../src/tint/lang/msl/writer/printer/printer.cc:924 internal compiler error: TINT_UNREACHABLE unhandled: textureNumSamples
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************