tint: workaround DXC bug with splatted vector constant texture args

DXC fails to compile texture function calls with integer constant
splatted vectors. For now, work around this issue by explicitly casting
the arg to the expected vector type.

Fixes about 115 e2e tests.

See the upstream bug: https://github.com/microsoft/DirectXShaderCompiler/issues/5389

Bug: tint:1976
Change-Id: I8fda12f2bef7d5ed315cd8e4ce96344c7d3da0bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/148900
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
index defc4e9..1bd104c 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
@@ -2819,6 +2819,36 @@
         return emit_vector_appended_with_i32_zero(vector);
     };
 
+    auto emit_arg_expression = [&](const ast::Expression* arg_expr) -> bool {
+        // TODO(crbug.com/tint/1976): Workaround DXC bug that fails to compile texture loads with
+        // splatted constants. DXC fails to convert the coord arg, for e.g. `0.xxx`, from a vector
+        // of 64-bit ints to a vector of 32-bit ints to match the texture load parameter type. We
+        // work around this for now by explicitly casting the splatted constant to the right type,
+        // for e.g. `int3(0.xxx)`.
+        bool emitted_cast = false;
+        if (auto* sem = builder_.Sem().GetVal(arg_expr)) {
+            if (auto* constant = sem->ConstantValue()) {
+                if (auto* splat = constant->As<core::constant::Splat>()) {
+                    if (splat->Type()->is_signed_integer_vector()) {
+                        if (!EmitType(out, constant->Type(), core::AddressSpace::kUndefined,
+                                      core::Access::kUndefined, "")) {
+                            return false;
+                        }
+                        out << "(";
+                        emitted_cast = true;
+                    }
+                }
+            }
+        }
+        if (!EmitExpression(out, arg_expr)) {
+            return false;
+        }
+        if (emitted_cast) {
+            out << ")";
+        }
+        return true;
+    };
+
     if (auto* array_index = arg(Usage::kArrayIndex)) {
         // Array index needs to be appended to the coordinates.
         auto* packed = tint::writer::AppendVector(&builder_, param_coords, array_index);
@@ -2837,10 +2867,13 @@
         if (!emit_vector_appended_with_level(param_coords)) {
             return false;
         }
-    } else {
+    } else if (builtin->Type() == core::Function::kTextureStore) {
+        // param_coords is an index expression, not a function arg
         if (!EmitExpression(out, param_coords)) {
             return false;
         }
+    } else if (!emit_arg_expression(param_coords)) {
+        return false;
     }
 
     for (auto usage : {Usage::kDepthRef, Usage::kBias, Usage::kLevel, Usage::kDdx, Usage::kDdy,
@@ -2850,7 +2883,7 @@
         }
         if (auto* e = arg(usage)) {
             out << ", ";
-            if (!EmitExpression(out, e)) {
+            if (!emit_arg_expression(e)) {
                 return false;
             }
         }
diff --git a/src/tint/lang/hlsl/writer/ast_printer/builtin_texture_test.cc b/src/tint/lang/hlsl/writer/ast_printer/builtin_texture_test.cc
index af53bac..a0999ae 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/builtin_texture_test.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/builtin_texture_test.cc
@@ -285,7 +285,7 @@
         case ValidTextureOverload::kSampleGrad2dF32:
             return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f));)";
         case ValidTextureOverload::kSampleGrad2dOffsetF32:
-            return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f), (7).xx);)";
+            return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f), int2((7).xx));)";
         case ValidTextureOverload::kSampleGrad2dArrayF32:
             return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, float(3)), float2(4.0f, 5.0f), float2(6.0f, 7.0f));)";
         case ValidTextureOverload::kSampleGrad2dArrayOffsetF32:
diff --git a/test/tint/bug/tint/1976.wgsl b/test/tint/bug/tint/1976.wgsl
new file mode 100644
index 0000000..9323d31
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl
@@ -0,0 +1,10 @@
+@group(0) @binding(0) var texture0 : texture_multisampled_2d<f32>;
+
+struct Results {
+    colorSamples : array<f32, 4>,
+}
+@group(0) @binding(2) var<storage, read_write> results : Results;
+
+@compute @workgroup_size(1) fn main() {
+    results.colorSamples[0] = textureLoad(texture0, vec2i(0, 0), 0).x;
+}
diff --git a/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..97ca131
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl
@@ -0,0 +1,9 @@
+Texture2DMS<float4> texture0 : register(t0);
+
+RWByteAddressBuffer results : register(u2);
+
+[numthreads(1, 1, 1)]
+void main() {
+  results.Store(0u, asuint(texture0.Load(int2((0).xx), 0).x));
+  return;
+}
diff --git a/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..97ca131
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl
@@ -0,0 +1,9 @@
+Texture2DMS<float4> texture0 : register(t0);
+
+RWByteAddressBuffer results : register(u2);
+
+[numthreads(1, 1, 1)]
+void main() {
+  results.Store(0u, asuint(texture0.Load(int2((0).xx), 0).x));
+  return;
+}
diff --git a/test/tint/bug/tint/1976.wgsl.expected.glsl b/test/tint/bug/tint/1976.wgsl.expected.glsl
new file mode 100644
index 0000000..f20cf14
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.glsl
@@ -0,0 +1,20 @@
+#version 310 es
+
+struct Results {
+  float colorSamples[4];
+};
+
+layout(binding = 2, std430) buffer results_block_ssbo {
+  Results inner;
+} results;
+
+uniform highp sampler2DMS texture0_1;
+void tint_symbol() {
+  results.inner.colorSamples[0] = texelFetch(texture0_1, ivec2(0), 0).x;
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  tint_symbol();
+  return;
+}
diff --git a/test/tint/bug/tint/1976.wgsl.expected.msl b/test/tint/bug/tint/1976.wgsl.expected.msl
new file mode 100644
index 0000000..00d4950
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.msl
@@ -0,0 +1,25 @@
+#include <metal_stdlib>
+
+using namespace metal;
+
+template<typename T, size_t N>
+struct tint_array {
+    const constant T& operator[](size_t i) const constant { return elements[i]; }
+    device T& operator[](size_t i) device { return elements[i]; }
+    const device T& operator[](size_t i) const device { return elements[i]; }
+    thread T& operator[](size_t i) thread { return elements[i]; }
+    const thread T& operator[](size_t i) const thread { return elements[i]; }
+    threadgroup T& operator[](size_t i) threadgroup { return elements[i]; }
+    const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; }
+    T elements[N];
+};
+
+struct Results {
+  /* 0x0000 */ tint_array<float, 4> colorSamples;
+};
+
+kernel void tint_symbol(device Results* tint_symbol_1 [[buffer(0)]], texture2d_ms<float, access::read> tint_symbol_2 [[texture(0)]]) {
+  (*(tint_symbol_1)).colorSamples[0] = tint_symbol_2.read(uint2(int2(0)), 0)[0];
+  return;
+}
+
diff --git a/test/tint/bug/tint/1976.wgsl.expected.spvasm b/test/tint/bug/tint/1976.wgsl.expected.spvasm
new file mode 100644
index 0000000..bbe1ef9
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.spvasm
@@ -0,0 +1,53 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 27
+; Schema: 0
+               OpCapability Shader
+               OpMemoryModel Logical GLSL450
+               OpEntryPoint GLCompute %main "main"
+               OpExecutionMode %main LocalSize 1 1 1
+               OpName %texture0 "texture0"
+               OpName %results_block "results_block"
+               OpMemberName %results_block 0 "inner"
+               OpName %Results "Results"
+               OpMemberName %Results 0 "colorSamples"
+               OpName %results "results"
+               OpName %main "main"
+               OpDecorate %texture0 DescriptorSet 0
+               OpDecorate %texture0 Binding 0
+               OpDecorate %results_block Block
+               OpMemberDecorate %results_block 0 Offset 0
+               OpMemberDecorate %Results 0 Offset 0
+               OpDecorate %_arr_float_uint_4 ArrayStride 4
+               OpDecorate %results DescriptorSet 0
+               OpDecorate %results Binding 2
+      %float = OpTypeFloat 32
+          %3 = OpTypeImage %float 2D 0 0 1 1 Unknown
+%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
+   %texture0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
+       %uint = OpTypeInt 32 0
+     %uint_4 = OpConstant %uint 4
+%_arr_float_uint_4 = OpTypeArray %float %uint_4
+    %Results = OpTypeStruct %_arr_float_uint_4
+%results_block = OpTypeStruct %Results
+%_ptr_StorageBuffer_results_block = OpTypePointer StorageBuffer %results_block
+    %results = OpVariable %_ptr_StorageBuffer_results_block StorageBuffer
+       %void = OpTypeVoid
+         %12 = OpTypeFunction %void
+     %uint_0 = OpConstant %uint 0
+        %int = OpTypeInt 32 1
+         %18 = OpConstantNull %int
+%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
+    %v4float = OpTypeVector %float 4
+      %v2int = OpTypeVector %int 2
+         %25 = OpConstantNull %v2int
+       %main = OpFunction %void None %12
+         %15 = OpLabel
+         %20 = OpAccessChain %_ptr_StorageBuffer_float %results %uint_0 %uint_0 %18
+         %23 = OpLoad %3 %texture0
+         %21 = OpImageFetch %v4float %23 %25 Sample %18
+         %26 = OpCompositeExtract %float %21 0
+               OpStore %20 %26
+               OpReturn
+               OpFunctionEnd
diff --git a/test/tint/bug/tint/1976.wgsl.expected.wgsl b/test/tint/bug/tint/1976.wgsl.expected.wgsl
new file mode 100644
index 0000000..3880dce
--- /dev/null
+++ b/test/tint/bug/tint/1976.wgsl.expected.wgsl
@@ -0,0 +1,12 @@
+@group(0) @binding(0) var texture0 : texture_multisampled_2d<f32>;
+
+struct Results {
+  colorSamples : array<f32, 4>,
+}
+
+@group(0) @binding(2) var<storage, read_write> results : Results;
+
+@compute @workgroup_size(1)
+fn main() {
+  results.colorSamples[0] = textureLoad(texture0, vec2i(0, 0), 0).x;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
index ac07f94..2d44503 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_1f7f6b() {
-  float4 res = arg_0.Gather(arg_1, (1.0f).xx, (1).xx);
+  float4 res = arg_0.Gather(arg_1, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_1f7f6b();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
index 210efb7..2d44503 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_1f7f6b() {
-  float4 res = arg_0.Gather(arg_1, (1.0f).xx, (1).xx);
+  float4 res = arg_0.Gather(arg_1, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.dxc.hlsl
index 0fa2166..2bf0b17 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_238ec4() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_238ec4();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.fxc.hlsl
index 751e262..2bf0b17 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_238ec4() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.dxc.hlsl
index c3f7f5f..418ae83 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_49b07f() {
-  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_49b07f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.fxc.hlsl
index ac21f15..418ae83 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_49b07f() {
-  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.dxc.hlsl
index 0b9ceb7a..3c65904 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_4b8103() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_4b8103();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.fxc.hlsl
index f8e2867..3c65904 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_4b8103() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.dxc.hlsl
index a529866..b9fad60 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_59372a() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_59372a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.fxc.hlsl
index 909ed13..b9fad60 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_59372a() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.dxc.hlsl
index fe497a0..31b6878 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_6b7b74() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_6b7b74();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.fxc.hlsl
index 919f792..31b6878 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_6b7b74() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.dxc.hlsl
index bf4542c..4e0e8bd 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_7c3828() {
-  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_7c3828();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.fxc.hlsl
index 8efc76c..4e0e8bd 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_7c3828() {
-  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.dxc.hlsl
index 10af682..a02684a 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_831549() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_831549();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.fxc.hlsl
index 90d9cfb..a02684a 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_831549() {
-  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.dxc.hlsl
index b1bc989..282bffd 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_986700() {
-  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_986700();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.fxc.hlsl
index 7ec214e..282bffd 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_986700() {
-  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.dxc.hlsl
index 94ebf29..4f8cb7d 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_9ab41e() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_9ab41e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.fxc.hlsl
index 1f2e7e2..4f8cb7d 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_9ab41e() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.dxc.hlsl
index 5266bbb..a19867e 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_a68027() {
-  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_a68027();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.fxc.hlsl
index 65c2a7e..a19867e 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_a68027() {
-  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.dxc.hlsl
index 22b40d9..177806a 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_af55b3() {
-  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_af55b3();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.fxc.hlsl
index f02ea6e..177806a 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_af55b3() {
-  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.dxc.hlsl
index fe92082..c0686ff 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_bd33b6() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_bd33b6();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.fxc.hlsl
index cba27f5..c0686ff 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_bd33b6() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.dxc.hlsl
index d76f138..72eea1f 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_ce5578() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_ce5578();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.fxc.hlsl
index 0f5abf0f..72eea1f 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_ce5578() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.dxc.hlsl
index 626625c..f5b98c2 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_cf9112() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_cf9112();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.fxc.hlsl
index a5fd470..f5b98c2 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_cf9112() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.dxc.hlsl
index debf884..cda9184 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d1f187() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_d1f187();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.fxc.hlsl
index e1a19fd..cda9184 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d1f187() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.dxc.hlsl
index 4d61735..7c14fb5 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d6507c() {
-  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_d6507c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.fxc.hlsl
index 09703c6..7c14fb5 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d6507c() {
-  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.dxc.hlsl
index bac2f3a..6913e87 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d90605() {
-  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_d90605();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.fxc.hlsl
index 247ce07..6913e87 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d90605() {
-  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.dxc.hlsl
index e2ba7b5..ffe883c 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_dc6661() {
-  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_dc6661();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.fxc.hlsl
index cd71e96..ffe883c 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_dc6661() {
-  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.dxc.hlsl
index a57d7d5..6c6350d 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_e3165f() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_e3165f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.fxc.hlsl
index 6aa6a37..6c6350d 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_e3165f() {
-  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.dxc.hlsl
index d7f5569..bffc94b 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_e9d390() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGather_e9d390();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.fxc.hlsl
index 27b2a60..bffc94b 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_e9d390() {
-  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
index bc7dc6c..c2a98f6 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_144a9a() {
-  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGatherCompare_144a9a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
index 6610f71..c2a98f6 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_144a9a() {
-  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
index f548353..212a683 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_313add() {
-  float4 res = arg_0.GatherCmp(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGatherCompare_313add();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
index e0342b8..212a683 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_313add() {
-  float4 res = arg_0.GatherCmp(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
index d1bb42a..cf63b2b 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_f585cc() {
-  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureGatherCompare_f585cc();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
index 28b0011..cf63b2b 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGatherCompare_f585cc() {
-  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl
index 9982563..cbbf3e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<int4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_38f8ab() {
-  int4 res = arg_0.Load((1).xx, 1u);
+  int4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_38f8ab();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl
index 5544f5b..cbbf3e4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_38f8ab() {
-  int4 res = arg_0.Load((1).xx, 1u);
+  int4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl
index 5226f14..9d0a6ea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<float4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a583c9() {
-  float4 res = arg_0.Load((1).xx, 1);
+  float4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_a583c9();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl
index 3386be2..9d0a6ea 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_a583c9() {
-  float4 res = arg_0.Load((1).xx, 1);
+  float4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl
index e7af5b9..e90e1ba 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<float4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b75d4a() {
-  float4 res = arg_0.Load((1).xx, 1u);
+  float4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_b75d4a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.f32 @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl
index 91f473e..e90e1ba 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_b75d4a() {
-  float4 res = arg_0.Load((1).xx, 1u);
+  float4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl
index 5e32990..9759c3b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c378ee() {
-  uint4 res = arg_0.Load((1).xx, 1);
+  uint4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_c378ee();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl
index 2fd8940..9759c3b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_c378ee() {
-  uint4 res = arg_0.Load((1).xx, 1);
+  uint4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl
index 0bf069d..1d2d1a4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<uint4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cad5f2() {
-  uint4 res = arg_0.Load((1).xx, 1u);
+  uint4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_cad5f2();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl
index 5186a06..1d2d1a4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_cad5f2() {
-  uint4 res = arg_0.Load((1).xx, 1u);
+  uint4 res = arg_0.Load(int2((1).xx), 1u);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl
index 9a6faf0..ce5663a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl
@@ -1,10 +1,8 @@
-SKIP: FAILED
-
 Texture2DMS<int4> arg_0 : register(t0, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e3d2cc() {
-  int4 res = arg_0.Load((1).xx, 1);
+  int4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -34,40 +32,3 @@
   textureLoad_e3d2cc();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %3 = call %dx.types.ResRet.i32 @dx.op.textureLoad.i32(i32 66, %dx.types.Handle %2, i32 1, i64 1, i64 1, i32 undef, i32 undef, i32 undef, i32 undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl
index 873f8aa..ce5663a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl
@@ -2,7 +2,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureLoad_e3d2cc() {
-  int4 res = arg_0.Load((1).xx, 1);
+  int4 res = arg_0.Load(int2((1).xx), 1);
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.dxc.hlsl
index 7a7f59e..a277c72 100644
--- a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_0dff6c() {
-  float res = arg_0.Sample(arg_1, (1.0f).xx, (1).xx).x;
+  float res = arg_0.Sample(arg_1, (1.0f).xx, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_0dff6c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.fxc.hlsl
index 916a939..a277c72 100644
--- a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_0dff6c() {
-  float res = arg_0.Sample(arg_1, (1.0f).xx, (1).xx).x;
+  float res = arg_0.Sample(arg_1, (1.0f).xx, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.dxc.hlsl
index 8fa1242..76a8759 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_17e988() {
-  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_17e988();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.fxc.hlsl
index fa45f3c..76a8759 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_17e988() {
-  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.dxc.hlsl
index 2d617a1..88f60f7 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_193203() {
-  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_193203();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.fxc.hlsl
index 58e2ec3..88f60f7 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_193203() {
-  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.dxc.hlsl
index 3c10c67..66ec4e2 100644
--- a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_2149ec() {
-  float4 res = arg_0.Sample(arg_1, (1.0f).xxx, (1).xxx);
+  float4 res = arg_0.Sample(arg_1, (1.0f).xxx, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_2149ec();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.fxc.hlsl
index cdebcd3..66ec4e2 100644
--- a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_2149ec() {
-  float4 res = arg_0.Sample(arg_1, (1.0f).xxx, (1).xxx);
+  float4 res = arg_0.Sample(arg_1, (1.0f).xxx, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.dxc.hlsl
index bc8a4a6..f1f5856 100644
--- a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_4703d0() {
-  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_4703d0();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.fxc.hlsl
index 5800e2e..f1f5856 100644
--- a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_4703d0() {
-  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1u)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.dxc.hlsl
index df72aac..a96808a 100644
--- a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_60bf45() {
-  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_60bf45();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.fxc.hlsl
index 1b02fb3..a96808a 100644
--- a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_60bf45() {
-  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3((1.0f).xx, float(1)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.dxc.hlsl
index cd5043e..0c56383 100644
--- a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_85c4ba() {
-  float4 res = arg_0.Sample(arg_1, (1.0f).xx, (1).xx);
+  float4 res = arg_0.Sample(arg_1, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSample_85c4ba();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.fxc.hlsl
index eea2b8c..0c56383 100644
--- a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_85c4ba() {
-  float4 res = arg_0.Sample(arg_1, (1.0f).xx, (1).xx);
+  float4 res = arg_0.Sample(arg_1, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.dxc.hlsl
index 1d8c852..dd511ac 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_594824() {
-  float4 res = arg_0.SampleBias(arg_1, (1.0f).xxx, 1.0f, (1).xxx);
+  float4 res = arg_0.SampleBias(arg_1, (1.0f).xxx, 1.0f, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleBias_594824();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.fxc.hlsl
index 4c3e0ed..dd511ac 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_594824() {
-  float4 res = arg_0.SampleBias(arg_1, (1.0f).xxx, 1.0f, (1).xxx);
+  float4 res = arg_0.SampleBias(arg_1, (1.0f).xxx, 1.0f, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
index f19176d..f190f69 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_87915c() {
-  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleBias_87915c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
index 39ddee0..f190f69 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_87915c() {
-  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
index 4381252..84f6906 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_9dbb51() {
-  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleBias_9dbb51();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
index 6d25e5f..84f6906 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_9dbb51() {
-  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
index b4fb4cf..e47b386 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_a161cf() {
-  float4 res = arg_0.SampleBias(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleBias_a161cf();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
index 5c3c06a..e47b386 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleBias_a161cf() {
-  float4 res = arg_0.SampleBias(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
index 975c3d4..55f4027 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_7b5025() {
-  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleCompare_7b5025();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
index 6ce90ad..55f4027 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_7b5025() {
-  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
index 3daa089..406a386 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_af1051() {
-  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleCompare_af1051();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
index 7d96d72..406a386 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_af1051() {
-  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
index 3acf3c1..a2986f6 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_dec064() {
-  float res = arg_0.SampleCmp(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -13,16 +11,3 @@
   textureSampleCompare_dec064();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
index 9873230..a2986f6 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompare_dec064() {
-  float res = arg_0.SampleCmp(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
index 365f471..ad198e1 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_7f2b9a() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleCompareLevel_7f2b9a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
index 90d8b7e..ad198e1 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_7f2b9a() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
index 2009f76..06e919f 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_b6e47c() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleCompareLevel_b6e47c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
index 3319df0..06e919f 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_b6e47c() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
index aab7342..63950dc 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_bcb3dd() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleCompareLevel_bcb3dd();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
index 4b7b0e2..63950dc 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleCompareLevel_bcb3dd() {
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
index a59ae76..8cd68b2 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_5884dd() {
-  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xxx, (1.0f).xxx, (1.0f).xxx, (1).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xxx, (1.0f).xxx, (1.0f).xxx, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleGrad_5884dd();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
index 8922594..8cd68b2 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_5884dd() {
-  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xxx, (1.0f).xxx, (1.0f).xxx, (1).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xxx, (1.0f).xxx, (1.0f).xxx, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
index 6871b07..999fd25 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_7cd6de() {
-  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleGrad_7cd6de();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
index e684a5d..999fd25 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_7cd6de() {
-  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1u)), (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
index da67188..f344306 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_d4e3c5() {
-  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xx, (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xx, (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleGrad_d4e3c5();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
index 8d39a1f..f344306 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_d4e3c5() {
-  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xx, (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, (1.0f).xx, (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
index 867844f..5fb51d9 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_d65515() {
-  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1)), (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1)), (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleGrad_d65515();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
index 22e5144..5fb51d9 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleGrad_d65515() {
-  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1)), (1.0f).xx, (1.0f).xx, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3((1.0f).xx, float(1)), (1.0f).xx, (1.0f).xx, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
index 274a2cb..33a3e00 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_0b0a1b() {
-  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_0b0a1b();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
index dd30715..33a3e00 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_0b0a1b() {
-  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
index 241c64c..05f24c3 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_36780e() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_36780e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
index a7dc783..05f24c3 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_36780e() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
index e6e07c1..aada648 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_36f0d3() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_36f0d3();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
index b6851ae..aada648 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_36f0d3() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
index 99e240e..863b9d5 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_749baf() {
-  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_749baf();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
index 3b794be..863b9d5 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_749baf() {
-  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
index 2eceded..8286f0b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_b7c55c() {
-  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_b7c55c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
index 432d948..8286f0b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_b7c55c() {
-  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
index ac5c741..9dcba7b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_cdfe0f() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_cdfe0f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
index b1a792d..9dcba7b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_cdfe0f() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
index 751c56a..e029347 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_dcbecb() {
-  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, 1.0f, (1).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, 1.0f, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_dcbecb();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
index ca88081..e029347 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_dcbecb() {
-  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, 1.0f, (1).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, (1.0f).xxx, 1.0f, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
index 1075e8b..458d696 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_e6ce9e() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_e6ce9e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
index cbf31a0..458d696 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_e6ce9e() {
-  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
index cd43f80..cec1b4a 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_f3b2c8() {
-  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_f3b2c8();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
index a35a7e9..cec1b4a 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_f3b2c8() {
-  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1u, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, (1.0f).xx, 1u, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
index 9edea38..70d2b16 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
@@ -1,11 +1,9 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_faa6d7() {
-  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -35,40 +33,3 @@
   textureSampleLevel_faa6d7();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
index acc6a06..70d2b16 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
@@ -3,7 +3,7 @@
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSampleLevel_faa6d7() {
-  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1.0f, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3((1.0f).xx, float(1u)), 1.0f, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
index 79a6c12..d5922b5 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_1f7f6b() {
   float2 arg_2 = (1.0f).xx;
-  float4 res = arg_0.Gather(arg_1, arg_2, (1).xx);
+  float4 res = arg_0.Gather(arg_1, arg_2, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_1f7f6b();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
index 69322f3..d5922b5 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_1f7f6b() {
   float2 arg_2 = (1.0f).xx;
-  float4 res = arg_0.Gather(arg_1, arg_2, (1).xx);
+  float4 res = arg_0.Gather(arg_1, arg_2, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.dxc.hlsl
index f7d827d..1493a96 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_238ec4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_238ec4();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.fxc.hlsl
index 536cc0e..1493a96 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_238ec4() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.dxc.hlsl
index 9c9e4b1..b508db3 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_49b07f() {
   float2 arg_3 = (1.0f).xx;
-  uint4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_49b07f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.fxc.hlsl
index a59468b..b508db3 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_49b07f() {
   float2 arg_3 = (1.0f).xx;
-  uint4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.dxc.hlsl
index 5dacf55..e68260e 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_4b8103() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_4b8103();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.fxc.hlsl
index acfab87..e68260e 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_4b8103() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.dxc.hlsl
index 7a18a0a..cca708f 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_59372a() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_59372a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.fxc.hlsl
index 14b9ab4..cca708f 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_59372a() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.dxc.hlsl
index b5d8de5..f452fab 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_6b7b74() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_6b7b74();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.fxc.hlsl
index ad2db0b..f452fab 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_6b7b74() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.dxc.hlsl
index acfca70..19c492f 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_7c3828() {
   float2 arg_3 = (1.0f).xx;
-  int4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_7c3828();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.fxc.hlsl
index b083184e..19c492f 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_7c3828() {
   float2 arg_3 = (1.0f).xx;
-  int4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.dxc.hlsl
index 45bd83c..0b52c03 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_831549() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_831549();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.fxc.hlsl
index 2eeef5e..0b52c03 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_831549() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.dxc.hlsl
index 2d3e165..03c2cfa 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_986700() {
   float2 arg_3 = (1.0f).xx;
-  uint4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_986700();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.fxc.hlsl
index 6b1dea7..03c2cfa 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_986700() {
   float2 arg_3 = (1.0f).xx;
-  uint4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.dxc.hlsl
index 3933c08..94f4b29 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_9ab41e() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_9ab41e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.fxc.hlsl
index 0ba29de..94f4b29 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_9ab41e() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.dxc.hlsl
index e073c68..2a0a163 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_a68027() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_a68027();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.fxc.hlsl
index 1c26794..2a0a163 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_a68027() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.dxc.hlsl
index d88c97a..f248e06 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_af55b3() {
   float2 arg_3 = (1.0f).xx;
-  float4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_af55b3();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.fxc.hlsl
index 0d77524..f248e06 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_af55b3() {
   float2 arg_3 = (1.0f).xx;
-  float4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.dxc.hlsl
index 1660122..536a702 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_bd33b6() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_bd33b6();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.fxc.hlsl
index a361ed7..536a702 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_bd33b6() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.dxc.hlsl
index 5f23a16..5bd3e76 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_ce5578() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_ce5578();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.fxc.hlsl
index 12f79d6..5bd3e76 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_ce5578() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.dxc.hlsl
index 0197ddf..fd6b3ea 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_cf9112() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_cf9112();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.fxc.hlsl
index 6c8cdf3..fd6b3ea 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_cf9112() {
   float2 arg_3 = (1.0f).xx;
   uint arg_4 = 1u;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.dxc.hlsl
index c80da5f..29e532f 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_d1f187() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_d1f187();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.fxc.hlsl
index 41e2d27..29e532f 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_d1f187() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.dxc.hlsl
index c6e0052..3ffbed7 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_d6507c() {
   float2 arg_3 = (1.0f).xx;
-  float4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_d6507c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.fxc.hlsl
index 0b686b3..3ffbed7 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_d6507c() {
   float2 arg_3 = (1.0f).xx;
-  float4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  float4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.dxc.hlsl
index c497cba..95782f3 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_d90605() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_d90605();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGather.f32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.fxc.hlsl
index 375b2dd..95782f3 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_d90605() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Gather(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.dxc.hlsl
index 7637d43..d50c874 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureGather_dc6661() {
   float2 arg_3 = (1.0f).xx;
-  int4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -36,40 +34,3 @@
   textureGather_dc6661();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.fxc.hlsl
index 7332d9c..d50c874 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureGather_dc6661() {
   float2 arg_3 = (1.0f).xx;
-  int4 res = arg_1.GatherGreen(arg_2, arg_3, (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.dxc.hlsl
index 515b143..10f87a2 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<uint4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_e3165f() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_e3165f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.fxc.hlsl
index 5639dbf..10f87a2 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_e3165f() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  uint4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.dxc.hlsl
index fc1cc0e..f7ffd49 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<int4> arg_1 : register(t1, space1);
 SamplerState arg_2 : register(s2, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGather_e9d390() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGather_e9d390();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.i32 @dx.op.textureGather.i32(i32 73, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 1)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.fxc.hlsl
index 344703c..f7ffd49 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGather_e9d390() {
   float2 arg_3 = (1.0f).xx;
   int arg_4 = 1;
-  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), (1).xx);
+  int4 res = arg_1.GatherGreen(arg_2, float3(arg_3, float(arg_4)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
index 445424a..511c625 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureGatherCompare_144a9a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
index e6901aa..511c625 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
index a9b0c37..546e8aa 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureGatherCompare_313add() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureGatherCompare_313add();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
index 6bc17a6..546e8aa 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureGatherCompare_313add() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
index 738656b..155982a 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureGatherCompare_f585cc();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.textureGatherCmp.f32(i32 74, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 0, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
index 98ed571..155982a 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.GatherCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.dxc.hlsl
index ed492df..9389099 100644
--- a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_0dff6c() {
   float2 arg_2 = (1.0f).xx;
-  float res = arg_0.Sample(arg_1, arg_2, (1).xx).x;
+  float res = arg_0.Sample(arg_1, arg_2, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -14,16 +12,3 @@
   textureSample_0dff6c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.fxc.hlsl
index ce25e7d..9389099 100644
--- a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureSample_0dff6c() {
   float2 arg_2 = (1.0f).xx;
-  float res = arg_0.Sample(arg_1, arg_2, (1).xx).x;
+  float res = arg_0.Sample(arg_1, arg_2, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.dxc.hlsl
index d67204e..0ef4260 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSample_17e988() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSample_17e988();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.fxc.hlsl
index 09544f1..0ef4260 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSample_17e988() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.dxc.hlsl
index c95e11a..7ce1793 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSample_193203() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSample_193203();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.fxc.hlsl
index 3de649d..7ce1793 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSample_193203() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx);
+  float4 res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.dxc.hlsl
index 725c415..7767ad9 100644
--- a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_2149ec() {
   float3 arg_2 = (1.0f).xxx;
-  float4 res = arg_0.Sample(arg_1, arg_2, (1).xxx);
+  float4 res = arg_0.Sample(arg_1, arg_2, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -14,16 +12,3 @@
   textureSample_2149ec();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.fxc.hlsl
index 5354ab7..7767ad9 100644
--- a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureSample_2149ec() {
   float3 arg_2 = (1.0f).xxx;
-  float4 res = arg_0.Sample(arg_1, arg_2, (1).xxx);
+  float4 res = arg_0.Sample(arg_1, arg_2, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.dxc.hlsl
index da0dc4d..962c0da 100644
--- a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSample_4703d0() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSample_4703d0();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.fxc.hlsl
index 606a5fe..962c0da 100644
--- a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSample_4703d0() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.dxc.hlsl
index 580fc77..1486a3b 100644
--- a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSample_60bf45() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSample_60bf45();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.fxc.hlsl
index fb3bc61..1486a3b 100644
--- a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSample_60bf45() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), (1).xx).x;
+  float res = arg_0.Sample(arg_1, float3(arg_2, float(arg_3)), int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.dxc.hlsl
index c56dac5..e9562a3 100644
--- a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.dxc.hlsl
@@ -1,12 +1,10 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
 
 void textureSample_85c4ba() {
   float2 arg_2 = (1.0f).xx;
-  float4 res = arg_0.Sample(arg_1, arg_2, (1).xx);
+  float4 res = arg_0.Sample(arg_1, arg_2, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -14,16 +12,3 @@
   textureSample_85c4ba();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.fxc.hlsl
index 27a41e4..e9562a3 100644
--- a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@
 
 void textureSample_85c4ba() {
   float2 arg_2 = (1.0f).xx;
-  float4 res = arg_0.Sample(arg_1, arg_2, (1).xx);
+  float4 res = arg_0.Sample(arg_1, arg_2, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.dxc.hlsl
index 5de4339..75ef83c 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleBias_594824() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, (1).xxx);
+  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSampleBias_594824();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.fxc.hlsl
index 31891a1..75ef83c 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleBias_594824() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, (1).xxx);
+  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
index ceb21c7..1187d27 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -16,16 +14,3 @@
   textureSampleBias_87915c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
index aa6eab2..1187d27 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
index 765c84b..5774311 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -16,16 +14,3 @@
   textureSampleBias_9dbb51();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
index 4ef877a..5774311 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
index 257e59e..ff787ba 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleBias_a161cf() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSampleBias_a161cf();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
index 511c326..ff787ba 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleBias_a161cf() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.SampleBias(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
index 1b8a31f..5d3c4a4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -16,16 +14,3 @@
   textureSampleCompare_7b5025();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
index c5bd37e..5d3c4a4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/7b5025.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
index 3fce7a3..45fe4f4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -16,16 +14,3 @@
   textureSampleCompare_af1051();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
index a5b2ef3..45fe4f4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/af1051.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
index 01aaf8a..278e130 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleCompare_dec064() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, arg_2, arg_3, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -15,16 +13,3 @@
   textureSampleCompare_dec064();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmp.f32(i32 64, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
index 68f2211..278e130 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleCompare_dec064() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float res = arg_0.SampleCmp(arg_1, arg_2, arg_3, (1).xx);
+  float res = arg_0.SampleCmp(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
index 7ec5034..e65a9c4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleCompareLevel_7f2b9a() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, arg_2, arg_3, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureSampleCompareLevel_7f2b9a();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
index 4b3bcb8..e65a9c4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleCompareLevel_7f2b9a() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, arg_2, arg_3, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
index 0f29359..f8e68d7 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleCompareLevel_b6e47c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
index ecf2890..f8e68d7 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/b6e47c.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
index 5d766f4..ee5c5b6 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerComparisonState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleCompareLevel_bcb3dd();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
index f40b0ca..ee5c5b6 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/bcb3dd.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float res = arg_0.SampleCmpLevelZero(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
index 6b171bb..a06aada 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float3 arg_2 = (1.0f).xxx;
   float3 arg_3 = (1.0f).xxx;
   float3 arg_4 = (1.0f).xxx;
-  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, (1).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleGrad_5884dd();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
index 08b0707..a06aada 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float3 arg_2 = (1.0f).xxx;
   float3 arg_3 = (1.0f).xxx;
   float3 arg_4 = (1.0f).xxx;
-  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, (1).xxx);
+  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
index cc8a9c7..20bee4d 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -9,7 +7,7 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -39,40 +37,3 @@
   textureSampleGrad_7cd6de();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
index fb7f50e..20bee4d 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
   uint arg_3 = 1u;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
index ee010cd..abb4e4b 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   float2 arg_3 = (1.0f).xx;
   float2 arg_4 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleGrad_d4e3c5();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
index 7dbce60..abb4e4b 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   float2 arg_3 = (1.0f).xx;
   float2 arg_4 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, arg_2, arg_3, arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
index 694538d..e5cca3a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -9,7 +7,7 @@
   int arg_3 = 1;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -39,40 +37,3 @@
   textureSampleGrad_d65515();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleGrad.f32(i32 63, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00, float 1.000000e+00, float undef, float 1.000000e+00, float 1.000000e+00, float undef, float undef)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
index ca1cd54..e5cca3a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.fxc.hlsl
@@ -7,7 +7,7 @@
   int arg_3 = 1;
   float2 arg_4 = (1.0f).xx;
   float2 arg_5 = (1.0f).xx;
-  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, (1).xx);
+  float4 res = arg_0.SampleGrad(arg_1, float3(arg_2, float(arg_3)), arg_4, arg_5, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
index 4a79763..179259f 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleLevel_0b0a1b() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureSampleLevel_0b0a1b();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
index f5ded76..179259f 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleLevel_0b0a1b() {
   float2 arg_2 = (1.0f).xx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
index c1b1495..dca2885 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   int arg_4 = 1;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_36780e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
index 174d7ef..dca2885 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36780e.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   int arg_4 = 1;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
index 233e7fc..68fff12 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   uint arg_4 = 1u;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_36f0d3();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
index cb095e1..68fff12 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/36f0d3.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   uint arg_4 = 1u;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
index a88b0cc..4a2bef5 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleLevel_749baf() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureSampleLevel_749baf();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
index c184758..4a2bef5 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleLevel_749baf() {
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
-  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
index 61edc26..9541943 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_b7c55c();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
index aabdfc9..9541943 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   int arg_3 = 1;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
index e867259..b4db5af 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_cdfe0f();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
index 9647dca..b4db5af 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/cdfe0f.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   uint arg_4 = 1u;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
index 9a76b95..5818314 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture3D<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleLevel_dcbecb() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureSampleLevel_dcbecb();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i64 1, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
index 39c1d5f..5818314 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleLevel_dcbecb() {
   float3 arg_2 = (1.0f).xxx;
   float arg_3 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xxx);
+  float4 res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int3((1).xxx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
index d3f437c..3205f67 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = 1;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_e6ce9e();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
index 058b49f..3205f67 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/e6ce9e.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   int arg_4 = 1;
-  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
index 972b0db..f1785c4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2D arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -7,7 +5,7 @@
 void textureSampleLevel_f3b2c8() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
@@ -37,40 +35,3 @@
   textureSampleLevel_f3b2c8();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float undef, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
index a50a511..f1785c4 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.fxc.hlsl
@@ -5,7 +5,7 @@
 void textureSampleLevel_f3b2c8() {
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
-  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, (1).xx).x;
+  float res = arg_0.SampleLevel(arg_1, arg_2, arg_3, int2((1).xx)).x;
   prevent_dce.Store(0u, asuint(res));
 }
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
index 5c1c1f0..bae5c20 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.dxc.hlsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 Texture2DArray<float4> arg_0 : register(t0, space1);
 SamplerState arg_1 : register(s1, space1);
 RWByteAddressBuffer prevent_dce : register(u0, space2);
@@ -8,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }
 
@@ -38,40 +36,3 @@
   textureSampleLevel_faa6d7();
   return;
 }
-DXC validation failure:
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
-warning: DXIL.dll not found.  Resulting DXIL will not be signed for use in release environments.
-
-error: validation errors
-error: Module bitcode is invalid.
-error: Call parameter type does not match function signature!
-i64 1
- i32  %4 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %2, %dx.types.Handle %3, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float undef, i64 1, i64 1, i32 undef, float 1.000000e+00)
-
-Validation failed.
-
-
-
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
index f766262..bae5c20 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.fxc.hlsl
@@ -6,7 +6,7 @@
   float2 arg_2 = (1.0f).xx;
   uint arg_3 = 1u;
   float arg_4 = 1.0f;
-  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, (1).xx);
+  float4 res = arg_0.SampleLevel(arg_1, float3(arg_2, float(arg_3)), arg_4, int2((1).xx));
   prevent_dce.Store4(0u, asuint(res));
 }