[glsl][ir] Add `SampleMask` to ShaderIO.

This CL updates the ShaderIO polyfill for GLSL IR to support the needed
SampleMask conversions. In GLSL, the `in` mask is named
`gl_SampleMaskIn` and is an array of `i32` values. The output mask is
`gl_SampleMask` and is an array of `i32` values. The ShaderIO code is
updated to access the given arrays and bitcast the values to/from the
WGSL `u32` sample mask values.

Bug: 42251044
Change-Id: I9498a988f00d8fa8f2f4aca3a0de443643b34b56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/208334
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/glsl/writer/raise/shader_io.cc b/src/tint/lang/glsl/writer/raise/shader_io.cc
index c1f9189..a13a9c6 100644
--- a/src/tint/lang/glsl/writer/raise/shader_io.cc
+++ b/src/tint/lang/glsl/writer/raise/shader_io.cc
@@ -124,8 +124,15 @@
         for (auto io : entries) {
             StringStream name;
 
+            const core::type::MemoryView* ptr = nullptr;
             if (io.attributes.builtin) {
                 name << GLSLBuiltinToString(*io.attributes.builtin, addrspace);
+
+                if (io.attributes.builtin == core::BuiltinValue::kSampleMask) {
+                    ptr = ty.ptr(addrspace, ty.array(ty.i32(), 1), access);
+                } else {
+                    ptr = ty.ptr(addrspace, io.type, access);
+                }
             } else {
                 name << ir.NameOf(func).Name();
 
@@ -136,10 +143,10 @@
                     }
                 }
                 name << name_suffix;
+                ptr = ty.ptr(addrspace, io.type, access);
             }
 
             // Create an IO variable and add it to the root block.
-            auto* ptr = ty.ptr(addrspace, io.type, access);
             auto* var = b.Var(name.str(), ptr);
             var->SetAttributes(io.attributes);
             ir.root_block->Append(var);
@@ -164,30 +171,27 @@
         auto* from = input_vars[idx]->Result(0);
         auto* value = builder.Load(from)->Result(0);
 
-        // TODO(dsinclair): Enable when `bitcast` is supported
-        // auto& builtin = inputs[idx].attributes.builtin;
-        // if (builtin.has_value()) {
-        //     switch (builtin.value()) {
-        //         case core::BuiltinValue::kVertexIndex:
-        //         case core::BuiltinValue::kInstanceIndex:
-        //         case core::BuiltinValue::kSampleIndex: {
-        //             // GLSL uses i32 for these, so bitcast to u32.
-        //             value = builder.Bitcast(ty.u32(), value)->Result(0);
-        //             break;
-        //         }
-        //         case core::BuiltinValue::kSampleMask: {
-        //             // gl_SampleMask is an array of i32. Retrieve the first element and
-        //             // bitcast it to u32.
-        //             auto* ptr = ty.ptr(core::AddressSpace::kOut, ty.i32(), core::Access::kWrite);
-
-        //             auto* elem = builder.Load(builder.Access(ptr, value, 0_u));
-        //             value = builder.Bitcast(ty.u32(), elem)->Result(0);
-        //             break;
-        //         }
-        //         default:
-        //             break;
-        //     }
-        // }
+        auto& builtin = inputs[idx].attributes.builtin;
+        if (builtin.has_value()) {
+            switch (builtin.value()) {
+                case core::BuiltinValue::kVertexIndex:
+                case core::BuiltinValue::kInstanceIndex:
+                case core::BuiltinValue::kSampleIndex: {
+                    // GLSL uses i32 for these, so convert to u32.
+                    value = builder.Convert(ty.u32(), value)->Result(0);
+                    break;
+                }
+                case core::BuiltinValue::kSampleMask: {
+                    // gl_SampleMaskIn is an array of i32. Retrieve the first element and
+                    // convert it to u32.
+                    auto* elem = builder.Access(ty.i32(), value, 0_u);
+                    value = builder.Convert(ty.u32(), elem)->Result(0);
+                    break;
+                }
+                default:
+                    break;
+            }
+        }
 
         return value;
     }
@@ -201,6 +205,13 @@
 
         // Store the output to the global variable declared earlier.
         auto* to = output_vars[idx]->Result(0);
+
+        if (outputs[idx].attributes.builtin == core::BuiltinValue::kSampleMask) {
+            auto* ptr = ty.ptr(core::AddressSpace::kOut, ty.i32(), core::Access::kWrite);
+            to = builder.Access(ptr, to, 0_u)->Result(0);
+            value = builder.Convert(ty.i32(), value)->Result(0);
+        }
+
         builder.Store(to, value);
 
         if (outputs[idx].attributes.builtin == core::BuiltinValue::kPosition) {
diff --git a/src/tint/lang/glsl/writer/raise/shader_io_test.cc b/src/tint/lang/glsl/writer/raise/shader_io_test.cc
index a258636..638540f 100644
--- a/src/tint/lang/glsl/writer/raise/shader_io_test.cc
+++ b/src/tint/lang/glsl/writer/raise/shader_io_test.cc
@@ -979,7 +979,7 @@
     EXPECT_EQ(expect, str());
 }
 
-// Test that we change the type of the sample mask builtin to an array for SPIR-V.
+// Test that we change the type of the sample mask builtin to an array for GLSL
 TEST_F(GlslWriter_ShaderIOTest, SampleMask) {
     auto* str_ty = ty.Struct(mod.symbols.New("Outputs"),
                              {
@@ -1042,9 +1042,9 @@
 }
 
 $B1: {  # root
-  %gl_SampleMaskIn:ptr<__in, u32, read> = var @builtin(sample_mask)
+  %gl_SampleMaskIn:ptr<__in, array<i32, 1>, read> = var @builtin(sample_mask)
   %foo_loc0_Output:ptr<__out, f32, write> = var @location(0)
-  %gl_SampleMask:ptr<__out, u32, write> = var @builtin(sample_mask)
+  %gl_SampleMask:ptr<__out, array<i32, 1>, write> = var @builtin(sample_mask)
 }
 
 %foo_inner = func(%mask_in:u32):Outputs {
@@ -1055,12 +1055,16 @@
 }
 %foo = @fragment func():void {
   $B3: {
-    %8:u32 = load %gl_SampleMaskIn
-    %9:Outputs = call %foo_inner, %8
-    %10:f32 = access %9, 0u
-    store %foo_loc0_Output, %10
-    %11:u32 = access %9, 1u
-    store %gl_SampleMask, %11
+    %8:array<i32, 1> = load %gl_SampleMaskIn
+    %9:i32 = access %8, 0u
+    %10:u32 = convert %9
+    %11:Outputs = call %foo_inner, %10
+    %12:f32 = access %11, 0u
+    store %foo_loc0_Output, %12
+    %13:u32 = access %11, 1u
+    %14:ptr<__out, i32, write> = access %gl_SampleMask, 0u
+    %15:i32 = convert %13
+    store %14, %15
     ret
   }
 }
diff --git a/test/tint/bug/chromium/1251009.wgsl.expected.ir.glsl b/test/tint/bug/chromium/1251009.wgsl.expected.ir.glsl
index 6b5ab1a..3253d55 100644
--- a/test/tint/bug/chromium/1251009.wgsl.expected.ir.glsl
+++ b/test/tint/bug/chromium/1251009.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -22,22 +20,12 @@
   return vec4(0.0f);
 }
 void main() {
-  VertexInputs0 v = VertexInputs0(gl_VertexID, tint_symbol_loc0_Input);
-  uint v_1 = tint_symbol_loc1_Input;
-  uint v_2 = gl_InstanceID;
-  gl_Position = tint_symbol_inner(v, v_1, v_2, VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input));
+  uint v = uint(gl_VertexID);
+  VertexInputs0 v_1 = VertexInputs0(v, tint_symbol_loc0_Input);
+  uint v_2 = tint_symbol_loc1_Input;
+  uint v_3 = uint(gl_InstanceID);
+  gl_Position = tint_symbol_inner(v_1, v_2, v_3, VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:23: 'constructor' :  cannot convert parameter 1 from ' gl_VertexId highp int VertexId' to ' global highp uint'
-ERROR: 0:23: ' temp structure{ global highp uint vertex_index,  global highp int loc0}' : cannot construct with these arguments 
-ERROR: 0:23: '=' :  cannot convert from ' const float' to ' temp structure{ global highp uint vertex_index,  global highp int loc0}'
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 4 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/dawn/947.wgsl.expected.ir.glsl b/test/tint/bug/dawn/947.wgsl.expected.ir.glsl
index c0dbc03..41587f7 100644
--- a/test/tint/bug/dawn/947.wgsl.expected.ir.glsl
+++ b/test/tint/bug/dawn/947.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -31,21 +29,13 @@
   return tint_symbol;
 }
 void main() {
-  VertexOutputs v_1 = vs_main_inner(gl_VertexID);
+  VertexOutputs v_1 = vs_main_inner(uint(gl_VertexID));
   vs_main_loc0_Output = v_1.texcoords;
   gl_Position = v_1.position;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:32: 'vs_main_inner' : no matching overloaded function found 
-ERROR: 0:32: '=' :  cannot convert from ' const float' to ' temp structure{ global highp 2-component vector of float texcoords,  global highp 4-component vector of float position}'
-ERROR: 0:32: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -55,7 +45,7 @@
 layout(location = 0) out vec4 fs_main_loc0_Output;
 vec4 fs_main_inner(vec2 texcoord) {
   vec2 clampedTexcoord = clamp(texcoord, vec2(0.0f), vec2(1.0f));
-  if (!(all((clampedTexcoord == texcoord)))) {
+  if (!(all(equal(clampedTexcoord, texcoord)))) {
     continue_execution = false;
   }
   vec4 srcColor = vec4(0.0f);
@@ -67,12 +57,3 @@
 void main() {
   fs_main_loc0_Output = fs_main_inner(fs_main_loc0_Input);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'all' : no matching overloaded function found 
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/1076.wgsl.expected.ir.glsl b/test/tint/bug/tint/1076.wgsl.expected.ir.glsl
index 48a00f6..8b976ed 100644
--- a/test/tint/bug/tint/1076.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1076.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -21,18 +19,9 @@
   return FragIn(b, 1u);
 }
 void main() {
-  FragIn v = FragIn(tint_symbol_loc0_Input, gl_SampleMaskIn);
-  FragIn v_1 = tint_symbol_inner(v, tint_symbol_loc1_Input);
-  tint_symbol_loc0_Output = v_1.a;
-  gl_SampleMask = v_1.mask;
+  float v = tint_symbol_loc0_Input;
+  FragIn v_1 = FragIn(v, uint(gl_SampleMaskIn[0u]));
+  FragIn v_2 = tint_symbol_inner(v_1, tint_symbol_loc1_Input);
+  tint_symbol_loc0_Output = v_2.a;
+  gl_SampleMask[0u] = int(v_2.mask);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:22: 'constructor' : array argument must be sized 
-ERROR: 0:22: '=' :  cannot convert from ' const float' to ' temp structure{ global highp float a,  global highp uint mask}'
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/1653.wgsl.expected.ir.glsl b/test/tint/bug/tint/1653.wgsl.expected.ir.glsl
index 57e97bf..c856a7a 100644
--- a/test/tint/bug/tint/1653.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1653.wgsl.expected.ir.glsl
@@ -1,23 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 vs_main_inner(uint in_vertex_index) {
   return vec4[3](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f))[in_vertex_index];
 }
 void main() {
-  gl_Position = vs_main_inner(gl_VertexID);
+  gl_Position = vs_main_inner(uint(gl_VertexID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'vs_main_inner' : no matching overloaded function found 
-ERROR: 0:7: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/403.wgsl.expected.ir.glsl b/test/tint/bug/tint/403.wgsl.expected.ir.glsl
index 15415ec..64d5728 100644
--- a/test/tint/bug/tint/403.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/403.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -32,18 +30,8 @@
   return vec4(x_52[0u], x_52[1u], 0.0f, 1.0f);
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID);
+  gl_Position = tint_symbol_inner(uint(gl_VertexID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:33: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:33: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/824.wgsl.expected.ir.glsl b/test/tint/bug/tint/824.wgsl.expected.ir.glsl
index 52a17c7..13d996e 100644
--- a/test/tint/bug/tint/824.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/824.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -19,20 +17,11 @@
   return tint_symbol_1;
 }
 void main() {
-  Output v = tint_symbol_inner(gl_VertexID, gl_InstanceID);
-  gl_Position = v.Position;
+  uint v = uint(gl_VertexID);
+  Output v_1 = tint_symbol_inner(v, uint(gl_InstanceID));
+  gl_Position = v_1.Position;
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  tint_symbol_loc0_Output = v.color;
+  tint_symbol_loc0_Output = v_1.color;
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:20: '=' :  cannot convert from ' const float' to ' temp structure{ global highp 4-component vector of float Position,  global highp 4-component vector of float color}'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/samples/triangle.wgsl.expected.ir.glsl b/test/tint/samples/triangle.wgsl.expected.ir.glsl
index 25b3e2f..24571ad 100644
--- a/test/tint/samples/triangle.wgsl.expected.ir.glsl
+++ b/test/tint/samples/triangle.wgsl.expected.ir.glsl
@@ -1,24 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 vtx_main_inner(uint VertexIndex) {
   return vec4(vec2[3](vec2(0.0f, 0.5f), vec2(-0.5f), vec2(0.5f, -0.5f))[VertexIndex], 0.0f, 1.0f);
 }
 void main() {
-  gl_Position = vtx_main_inner(gl_VertexID);
+  gl_Position = vtx_main_inner(uint(gl_VertexID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'vtx_main_inner' : no matching overloaded function found 
-ERROR: 0:7: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -30,5 +20,3 @@
 void main() {
   frag_main_loc0_Output = frag_main_inner();
 }
-
-tint executable returned error: exit status 1
diff --git a/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.glsl b/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.glsl
index cc2d30f..df0da01 100644
--- a/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.glsl
+++ b/test/tint/shadowing/short_names/renamer/renamer.wgsl.expected.ir.glsl
@@ -1,23 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 tint_symbol_inner(uint VertexIndex) {
   return vec4(0.0f, 0.0f, 0.0f, 1.0f);
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID);
+  gl_Position = tint_symbol_inner(uint(gl_VertexID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:7: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_input_builtins.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_input_builtins.wgsl.expected.ir.glsl
index b7d7711..340dfe8 100644
--- a/test/tint/types/functions/shader_io/fragment_input_builtins.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_input_builtins.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -12,14 +10,8 @@
   }
 }
 void main() {
-  tint_symbol_inner(gl_FragCoord, gl_FrontFacing, gl_SampleID, gl_SampleMaskIn);
+  vec4 v = gl_FragCoord;
+  bool v_1 = gl_FrontFacing;
+  uint v_2 = uint(gl_SampleID);
+  tint_symbol_inner(v, v_1, v_2, uint(gl_SampleMaskIn[0u]));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:13: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_input_builtins_struct.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_input_builtins_struct.wgsl.expected.ir.glsl
index 756267e..826ed63 100644
--- a/test/tint/types/functions/shader_io/fragment_input_builtins_struct.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_input_builtins_struct.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -20,14 +18,8 @@
   }
 }
 void main() {
-  tint_symbol_inner(FragmentInputs(gl_FragCoord, gl_FrontFacing, gl_SampleID, gl_SampleMaskIn));
+  vec4 v = gl_FragCoord;
+  bool v_1 = gl_FrontFacing;
+  uint v_2 = uint(gl_SampleID);
+  tint_symbol_inner(FragmentInputs(v, v_1, v_2, uint(gl_SampleMaskIn[0u])));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:21: 'constructor' : array argument must be sized 
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.glsl
index e5bf037..30ee374 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -34,16 +32,8 @@
   FragmentInputs0 v_1 = FragmentInputs0(gl_FragCoord, tint_symbol_loc0_Input);
   bool v_2 = gl_FrontFacing;
   uint v_3 = tint_symbol_loc1_Input;
-  uint v_4 = gl_SampleID;
-  FragmentInputs1 v_5 = FragmentInputs1(tint_symbol_loc3_Input, gl_SampleMaskIn);
-  tint_symbol_inner(v_1, v_2, v_3, v_4, v_5, tint_symbol_loc2_Input);
+  uint v_4 = uint(gl_SampleID);
+  vec4 v_5 = tint_symbol_loc3_Input;
+  FragmentInputs1 v_6 = FragmentInputs1(v_5, uint(gl_SampleMaskIn[0u]));
+  tint_symbol_inner(v_1, v_2, v_3, v_4, v_6, tint_symbol_loc2_Input);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:35: '=' :  cannot convert from ' flat in lowp int SampleId' to ' temp highp uint'
-ERROR: 0:35: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.glsl
index a26dbee..4855b34 100644
--- a/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_input_mixed_f16.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 #extension GL_AMD_gpu_shader_half_float: require
@@ -40,16 +38,9 @@
   FragmentInputs0 v_1 = FragmentInputs0(gl_FragCoord, tint_symbol_loc0_Input);
   bool v_2 = gl_FrontFacing;
   uint v_3 = tint_symbol_loc1_Input;
-  uint v_4 = gl_SampleID;
-  FragmentInputs1 v_5 = FragmentInputs1(tint_symbol_loc3_Input, tint_symbol_loc5_Input, gl_SampleMaskIn);
-  tint_symbol_inner(v_1, v_2, v_3, v_4, v_5, tint_symbol_loc2_Input, tint_symbol_loc4_Input);
+  uint v_4 = uint(gl_SampleID);
+  vec4 v_5 = tint_symbol_loc3_Input;
+  f16vec3 v_6 = tint_symbol_loc5_Input;
+  FragmentInputs1 v_7 = FragmentInputs1(v_5, v_6, uint(gl_SampleMaskIn[0u]));
+  tint_symbol_inner(v_1, v_2, v_3, v_4, v_7, tint_symbol_loc2_Input, tint_symbol_loc4_Input);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:41: '=' :  cannot convert from ' flat in lowp int SampleId' to ' temp highp uint'
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_output_builtins.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_output_builtins.wgsl.expected.ir.glsl
index be5f93d..44592b7 100644
--- a/test/tint/types/functions/shader_io/fragment_output_builtins.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_output_builtins.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 precision highp float;
 precision highp int;
@@ -19,14 +17,5 @@
   return 1u;
 }
 void main() {
-  gl_SampleMask = main2_inner();
+  gl_SampleMask[0u] = int(main2_inner());
 }
-error: Error parsing GLSL shader:
-ERROR: 0:10: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.glsl
index 7f65c90..0c2221b 100644
--- a/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_output_builtins_struct.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -17,14 +15,5 @@
 void main() {
   FragmentOutputs v = tint_symbol_inner();
   gl_FragDepth = v.frag_depth;
-  gl_SampleMask = v.sample_mask;
+  gl_SampleMask[0u] = int(v.sample_mask);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:18: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:18: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.glsl
index bd8be70..edadaeb 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 precision highp float;
@@ -28,15 +26,6 @@
   gl_FragDepth = v.frag_depth;
   tint_symbol_loc1_Output = v.loc1;
   tint_symbol_loc2_Output = v.loc2;
-  gl_SampleMask = v.sample_mask;
+  gl_SampleMask[0u] = int(v.sample_mask);
   tint_symbol_loc3_Output = v.loc3;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:29: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:29: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.glsl
index 0bb5789..ea78395 100644
--- a/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/fragment_output_mixed_f16.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_OES_sample_variables: require
 #extension GL_AMD_gpu_shader_half_float: require
@@ -33,17 +31,8 @@
   gl_FragDepth = v.frag_depth;
   tint_symbol_loc1_Output = v.loc1;
   tint_symbol_loc2_Output = v.loc2;
-  gl_SampleMask = v.sample_mask;
+  gl_SampleMask[0u] = int(v.sample_mask);
   tint_symbol_loc3_Output = v.loc3;
   tint_symbol_loc4_Output = v.loc4;
   tint_symbol_loc5_Output = v.loc5;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:34: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/vertex_input_builtins.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/vertex_input_builtins.wgsl.expected.ir.glsl
index d638b08..bb08ff6 100644
--- a/test/tint/types/functions/shader_io/vertex_input_builtins.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/vertex_input_builtins.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 tint_symbol_inner(uint vertex_index, uint instance_index) {
@@ -7,18 +5,9 @@
   return vec4(0.0f);
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID, gl_InstanceID);
+  uint v = uint(gl_VertexID);
+  gl_Position = tint_symbol_inner(v, uint(gl_InstanceID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:8: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:8: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:8: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/vertex_input_builtins_struct.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/vertex_input_builtins_struct.wgsl.expected.ir.glsl
index 3370b31..f7a3d33 100644
--- a/test/tint/types/functions/shader_io/vertex_input_builtins_struct.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/vertex_input_builtins_struct.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -13,18 +11,9 @@
   return vec4(0.0f);
 }
 void main() {
-  gl_Position = tint_symbol_inner(VertexInputs(gl_VertexID, gl_InstanceID));
+  uint v = uint(gl_VertexID);
+  gl_Position = tint_symbol_inner(VertexInputs(v, uint(gl_InstanceID)));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:14: 'constructor' :  cannot convert parameter 1 from ' gl_VertexId highp int VertexId' to ' global highp uint'
-ERROR: 0:14: ' temp structure{ global highp uint vertex_index,  global highp uint instance_index}' : cannot construct with these arguments 
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.glsl
index 8dcda62..f7e41d8 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -26,22 +24,12 @@
   return vec4(0.0f);
 }
 void main() {
-  VertexInputs0 v_1 = VertexInputs0(gl_VertexID, tint_symbol_loc0_Input);
-  uint v_2 = tint_symbol_loc1_Input;
-  uint v_3 = gl_InstanceID;
-  gl_Position = tint_symbol_inner(v_1, v_2, v_3, VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input));
+  uint v_1 = uint(gl_VertexID);
+  VertexInputs0 v_2 = VertexInputs0(v_1, tint_symbol_loc0_Input);
+  uint v_3 = tint_symbol_loc1_Input;
+  uint v_4 = uint(gl_InstanceID);
+  gl_Position = tint_symbol_inner(v_2, v_3, v_4, VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:27: 'constructor' :  cannot convert parameter 1 from ' gl_VertexId highp int VertexId' to ' global highp uint'
-ERROR: 0:27: ' temp structure{ global highp uint vertex_index,  global highp int loc0}' : cannot construct with these arguments 
-ERROR: 0:27: '=' :  cannot convert from ' const float' to ' temp structure{ global highp uint vertex_index,  global highp int loc0}'
-ERROR: 0:27: '' : compilation terminated 
-ERROR: 4 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.glsl b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.glsl
index 70547bf..a650486 100644
--- a/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.glsl
+++ b/test/tint/types/functions/shader_io/vertex_input_mixed_f16.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float: require
 
@@ -32,23 +30,13 @@
   return vec4(0.0f);
 }
 void main() {
-  VertexInputs0 v_1 = VertexInputs0(gl_VertexID, tint_symbol_loc0_Input);
-  uint v_2 = tint_symbol_loc1_Input;
-  uint v_3 = gl_InstanceID;
-  VertexInputs1 v_4 = VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input, tint_symbol_loc5_Input);
-  gl_Position = tint_symbol_inner(v_1, v_2, v_3, v_4, tint_symbol_loc4_Input);
+  uint v_1 = uint(gl_VertexID);
+  VertexInputs0 v_2 = VertexInputs0(v_1, tint_symbol_loc0_Input);
+  uint v_3 = tint_symbol_loc1_Input;
+  uint v_4 = uint(gl_InstanceID);
+  VertexInputs1 v_5 = VertexInputs1(tint_symbol_loc2_Input, tint_symbol_loc3_Input, tint_symbol_loc5_Input);
+  gl_Position = tint_symbol_inner(v_2, v_3, v_4, v_5, tint_symbol_loc4_Input);
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:33: 'constructor' :  cannot convert parameter 1 from ' gl_VertexId highp int VertexId' to ' global highp uint'
-ERROR: 0:33: ' temp structure{ global highp uint vertex_index,  global highp int loc0}' : cannot construct with these arguments 
-ERROR: 0:33: '=' :  cannot convert from ' const float' to ' temp structure{ global highp uint vertex_index,  global highp int loc0}'
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 4 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/types/short_names/short_names.wgsl.expected.ir.glsl b/test/tint/types/short_names/short_names.wgsl.expected.ir.glsl
index cc2d30f..df0da01 100644
--- a/test/tint/types/short_names/short_names.wgsl.expected.ir.glsl
+++ b/test/tint/types/short_names/short_names.wgsl.expected.ir.glsl
@@ -1,23 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 tint_symbol_inner(uint VertexIndex) {
   return vec4(0.0f, 0.0f, 0.0f, 1.0f);
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID);
+  gl_Position = tint_symbol_inner(uint(gl_VertexID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:7: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_BuiltinVertexIndex.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_BuiltinVertexIndex.spvasm.expected.ir.glsl
deleted file mode 100644
index 26f57be..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_BuiltinVertexIndex.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,34 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-uint x_2 = 0u;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-}
-main_out tint_symbol_inner(uint x_2_param) {
-  x_2 = x_2_param;
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:18: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:18: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:18: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_OppositeSignedness.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_OppositeSignedness.spvasm.expected.ir.glsl
deleted file mode 100644
index ff429bb..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_OppositeSignedness.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-int x_4 = 0;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_SameSignedness.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_SameSignedness.spvasm.expected.ir.glsl
deleted file mode 100644
index 65b897d..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_Input_SameSignedness.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_4_1;
-};
-
-uint x_1 = 0u;
-vec4 x_4 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_1;
-}
-main_out tint_symbol_inner(uint x_1_param) {
-  x_1 = x_1_param;
-  main_1();
-  return main_out(x_4);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).x_4_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Signed.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Signed.spvasm.expected.ir.glsl
deleted file mode 100644
index 07fb66e..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Signed.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1[1] = int[1](0);
-void main_1() {
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:14: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Unsigned.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Unsigned.spvasm.expected.ir.glsl
deleted file mode 100644
index 1f3db5f..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_In_Unsigned.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,26 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:14: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Signed_Initializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Signed_Initializer.spvasm.expected.ir.glsl
deleted file mode 100644
index 58dc1b9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Signed_Initializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,31 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-int x_1[1] = int[1](0);
-void main_1() {
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(uint(x_1[0]));
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Unsigned_Initializer.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Unsigned_Initializer.spvasm.expected.ir.glsl
deleted file mode 100644
index 397b7a2..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_EntryPointWrapping_BuiltinVar_SampleMask_Out_Unsigned_Initializer.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,31 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_1[0]);
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index cb465f1..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-int x_4 = 0;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index cb465f1..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-int x_4 = 0;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index cb465f1..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_I32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-int x_4 = 0;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 353d4c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-uint x_4 = 0u;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 353d4c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-uint x_4 = 0u;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 353d4c9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_InstanceIndex_U32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 position_1_1;
-};
-
-uint x_4 = 0u;
-vec4 position_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(position_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID).position_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 91bc946..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1 = 0;
-void main_1() {
-  int x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 91bc946..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1 = 0;
-void main_1() {
-  int x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 91bc946..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_I32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1 = 0;
-void main_1() {
-  int x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 7f70305..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1 = 0u;
-void main_1() {
-  uint x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 7f70305..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1 = 0u;
-void main_1() {
-  uint x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 7f70305..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleId_U32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1 = 0u;
-void main_1() {
-  uint x_2 = x_1;
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1 = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index a5ab62e..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1[1] = int[1](0);
-void main_1() {
-  int x_4 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index a5ab62e..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1[1] = int[1](0);
-void main_1() {
-  int x_4 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index cbce5e2..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_I32_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-int x_1[1] = int[1](0);
-void main_1() {
-  int x_3 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = int(x_1_param);
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 64c78d3..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  uint x_4 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 64c78d3..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  uint x_4 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 4e95b64..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_U32_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  uint x_3 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_WithStride.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_WithStride.spvasm.expected.ir.glsl
deleted file mode 100644
index 4e95b64..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_In_WithStride.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,27 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  uint x_3 = x_1[0];
-}
-void tint_symbol_inner(uint x_1_param) {
-  x_1[0] = x_1_param;
-  main_1();
-}
-void main() {
-  tint_symbol_inner(gl_SampleMaskIn);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 7171451..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-int x_1[1] = int[1](0);
-void main_1() {
-  x_1[0] = 12;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(uint(x_1[0]));
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 7171451..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-int x_1[1] = int[1](0);
-void main_1() {
-  x_1[0] = 12;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(uint(x_1[0]));
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 7171451..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_I32_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-int x_1[1] = int[1](0);
-void main_1() {
-  x_1[0] = 12;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(uint(x_1[0]));
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 9080715..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  x_1[0] = 0u;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_1[0]);
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 9080715..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  x_1[0] = 0u;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_1[0]);
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 9080715..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_U32_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  x_1[0] = 0u;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_1[0]);
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_WithStride.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_WithStride.spvasm.expected.ir.glsl
deleted file mode 100644
index 9080715..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_SampleMask_Out_WithStride.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,32 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-#extension GL_OES_sample_variables: require
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  uint x_1_1;
-};
-
-uint x_1[1] = uint[1](0u);
-void main_1() {
-  x_1[0] = 0u;
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_1[0]);
-}
-void main() {
-  gl_SampleMask = tint_symbol_inner().x_1_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:20: 'assign' :  cannot convert from ' global highp uint' to ' out unsized 1-element array of highp int SampleMaskIn'
-ERROR: 0:20: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index e1e1da7..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-int x_4 = 0;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index e1e1da7..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-int x_4 = 0;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index e1e1da7..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_I32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-int x_4 = 0;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  int x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = int(x_4_param);
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl
deleted file mode 100644
index 34936b9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_AccessChain.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-uint x_4 = 0u;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl
deleted file mode 100644
index 34936b9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_CopyObject.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-uint x_4 = 0u;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_Direct.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_Direct.spvasm.expected.ir.glsl
deleted file mode 100644
index 34936b9..0000000
--- a/test/tint/unittest/reader/spirv/SpvModuleScopeVarParserTest_VertexIndex_U32_Load_Direct.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,35 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-
-struct main_out {
-  vec4 x_1_1;
-};
-
-uint x_4 = 0u;
-vec4 x_1 = vec4(0.0f);
-void main_1() {
-  uint x_2 = x_4;
-}
-main_out tint_symbol_inner(uint x_4_param) {
-  x_4 = x_4_param;
-  main_1();
-  return main_out(x_1);
-}
-void main() {
-  gl_Position = tint_symbol_inner(gl_VertexID).x_1_1;
-  gl_Position[1u] = -(gl_Position.y);
-  gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
-  gl_PointSize = 1.0f;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:19: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:19: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/var/uses/instance_index.wgsl.expected.ir.glsl b/test/tint/var/uses/instance_index.wgsl.expected.ir.glsl
index 946f53f..bae3a12 100644
--- a/test/tint/var/uses/instance_index.wgsl.expected.ir.glsl
+++ b/test/tint/var/uses/instance_index.wgsl.expected.ir.glsl
@@ -1,23 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 vec4 tint_symbol_inner(uint b) {
   return vec4(float(b));
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID);
+  gl_Position = tint_symbol_inner(uint(gl_InstanceID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:7: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.glsl b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.glsl
index 9d68a35..10f12c0 100644
--- a/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.glsl
+++ b/test/tint/var/uses/push_constant_and_instance_index.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -13,18 +11,8 @@
   return vec4((v_1 + float(b)));
 }
 void main() {
-  gl_Position = tint_symbol_inner(gl_InstanceID);
+  gl_Position = tint_symbol_inner(uint(gl_InstanceID));
   gl_Position[1u] = -(gl_Position.y);
   gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
   gl_PointSize = 1.0f;
 }
-error: Error parsing GLSL shader:
-ERROR: 0:14: 'tint_symbol_inner' : no matching overloaded function found 
-ERROR: 0:14: 'assign' :  cannot convert from ' const float' to ' gl_Position highp 4-component vector of float Position'
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1