diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index ec1f541..bda5a92 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -334,7 +334,7 @@
     }
 
     if (version_.IsES() && requires_default_precision_qualifier_) {
-        current_buffer_->Insert("precision mediump float;", helpers_insertion_point++, indent);
+        current_buffer_->Insert("precision highp float;", helpers_insertion_point++, indent);
     }
 
     if (!helpers_.lines.empty()) {
diff --git a/src/tint/writer/glsl/generator_impl_function_test.cc b/src/tint/writer/glsl/generator_impl_function_test.cc
index 05d1460..bc085b9 100644
--- a/src/tint/writer/glsl/generator_impl_function_test.cc
+++ b/src/tint/writer/glsl/generator_impl_function_test.cc
@@ -98,7 +98,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 void func() {
   return;
@@ -145,7 +145,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float foo_1;
 layout(location = 1) out float value;
@@ -186,7 +186,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 float frag_main(vec4 coord) {
   return coord.x;
@@ -239,7 +239,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 1) out float col1_1;
 layout(location = 2) out float col2_1;
@@ -378,7 +378,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct UBO {
   vec4 coord;
@@ -419,7 +419,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Uniforms {
   vec4 coord;
@@ -460,7 +460,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   int a;
@@ -508,7 +508,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(),
               R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   int a;
@@ -553,7 +553,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   int a;
@@ -598,7 +598,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   int a;
@@ -645,7 +645,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   float x;
@@ -692,7 +692,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(),
               R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   float x;
@@ -728,7 +728,7 @@
 
     ASSERT_TRUE(gen.Generate()) << gen.error();
     EXPECT_EQ(gen.result(), R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
 }
diff --git a/src/tint/writer/glsl/generator_impl_member_accessor_test.cc b/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
index 2eb1b8e..6d0d58e 100644
--- a/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
+++ b/src/tint/writer/glsl/generator_impl_member_accessor_test.cc
@@ -281,7 +281,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   int a;
@@ -334,7 +334,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   float z;
@@ -382,7 +382,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   float z;
@@ -430,7 +430,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   float z;
@@ -477,7 +477,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Data {
   float z;
@@ -530,7 +530,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   vec3 a;
@@ -591,7 +591,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   vec3 a;
@@ -653,7 +653,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   vec3 a;
@@ -714,7 +714,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   vec3 a;
@@ -774,7 +774,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   vec3 a;
@@ -835,7 +835,7 @@
     ASSERT_TRUE(gen.Generate()) << gen.error();
     auto* expected =
         R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct Inner {
   ivec3 a;
diff --git a/src/tint/writer/glsl/generator_impl_sanitizer_test.cc b/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
index e85d050..5ed2be7 100644
--- a/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
+++ b/src/tint/writer/glsl/generator_impl_sanitizer_test.cc
@@ -43,7 +43,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer my_struct_ssbo {
   float a[];
@@ -83,7 +83,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer my_struct_ssbo {
   float z;
@@ -127,7 +127,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer my_struct_ssbo {
   float a[];
@@ -164,7 +164,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   int idx = 3;
@@ -206,7 +206,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   int a;
@@ -252,7 +252,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   int v = 0;
@@ -301,7 +301,7 @@
 
     auto got = gen.result();
     auto* expect = R"(#version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   mat4 a[4] = mat4[4](mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f));
diff --git a/test/tint/array/size.wgsl.expected.glsl b/test/tint/array/size.wgsl.expected.glsl
index 10d6d6c..00d6381 100644
--- a/test/tint/array/size.wgsl.expected.glsl
+++ b/test/tint/array/size.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   float signed_literal[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/tint/bug/chromium/1372963.wgsl.expected.glsl b/test/tint/bug/chromium/1372963.wgsl.expected.glsl
index 1ff5381..9bb787b 100644
--- a/test/tint/bug/chromium/1372963.wgsl.expected.glsl
+++ b/test/tint/bug/chromium/1372963.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 g() {
   return ivec4(0);
diff --git a/test/tint/bug/chromium/1381883.wgsl.expected.glsl b/test/tint/bug/chromium/1381883.wgsl.expected.glsl
index b591351..9a0bf24 100644
--- a/test/tint/bug/chromium/1381883.wgsl.expected.glsl
+++ b/test/tint/bug/chromium/1381883.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 2) in float none_1;
 void tint_symbol(float none) {
diff --git a/test/tint/bug/dawn/947.wgsl.expected.glsl b/test/tint/bug/dawn/947.wgsl.expected.glsl
index ead3e6b..820c5b5 100644
--- a/test/tint/bug/dawn/947.wgsl.expected.glsl
+++ b/test/tint/bug/dawn/947.wgsl.expected.glsl
@@ -38,7 +38,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(location = 0) in vec2 texcoord_1;
diff --git a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
index 37f5d53..7eaf60f 100644
--- a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in vec2 vUV_1;
 layout(location = 0) out vec4 value;
diff --git a/test/tint/bug/tint/1046.wgsl.expected.glsl b/test/tint/bug/tint/1046.wgsl.expected.glsl
index 6b2f435..431df0d 100644
--- a/test/tint/bug/tint/1046.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1046.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in vec4 view_position_1;
 layout(location = 1) in vec4 normal_1;
diff --git a/test/tint/bug/tint/1061.spvasm.expected.glsl b/test/tint/bug/tint/1061.spvasm.expected.glsl
index eaa934c..ed631b5 100644
--- a/test/tint/bug/tint/1061.spvasm.expected.glsl
+++ b/test/tint/bug/tint/1061.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
 struct buf0 {
diff --git a/test/tint/bug/tint/1064.wgsl.expected.glsl b/test/tint/bug/tint/1064.wgsl.expected.glsl
index 674da4d..e6d2a20 100644
--- a/test/tint/bug/tint/1064.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1064.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   while (true) {
diff --git a/test/tint/bug/tint/1076.wgsl.expected.glsl b/test/tint/bug/tint/1076.wgsl.expected.glsl
index 7e392e5..826aeab 100644
--- a/test/tint/bug/tint/1076.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1076.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float a_1;
 layout(location = 1) in float b_1;
diff --git a/test/tint/bug/tint/1081.wgsl.expected.glsl b/test/tint/bug/tint/1081.wgsl.expected.glsl
index cd44545..09730ef 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1081.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(location = 1) flat in ivec3 x_1;
diff --git a/test/tint/bug/tint/1086.wgsl.expected.glsl b/test/tint/bug/tint/1086.wgsl.expected.glsl
index ecb7dad..3e30996 100644
--- a/test/tint/bug/tint/1086.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1086.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float v = 0.0f;
 void x(inout float p) {
diff --git a/test/tint/bug/tint/1118.wgsl.expected.glsl b/test/tint/bug/tint/1118.wgsl.expected.glsl
index 671c869..3c23410 100644
--- a/test/tint/bug/tint/1118.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1118.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(location = 2) in float fClipDistance3_param_1;
diff --git a/test/tint/bug/tint/1183.wgsl.expected.glsl b/test/tint/bug/tint/1183.wgsl.expected.glsl
index ea49d54..e834d25 100644
--- a/test/tint/bug/tint/1183.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1183.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 uniform highp sampler2D t_s;
diff --git a/test/tint/bug/tint/1321.wgsl.expected.glsl b/test/tint/bug/tint/1321.wgsl.expected.glsl
index 9fe1d82..1f6b547 100644
--- a/test/tint/bug/tint/1321.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1321.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int foo() {
   return 1;
diff --git a/test/tint/bug/tint/1369.wgsl.expected.glsl b/test/tint/bug/tint/1369.wgsl.expected.glsl
index e288349..44a5aca 100644
--- a/test/tint/bug/tint/1369.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1369.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 bool call_discard() {
diff --git a/test/tint/bug/tint/1509.wgsl.expected.glsl b/test/tint/bug/tint/1509.wgsl.expected.glsl
index 30dbc95..bba3ec3 100644
--- a/test/tint/bug/tint/1509.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1509.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out uint value;
 uint v0 = 0u;
diff --git a/test/tint/bug/tint/1520.spvasm.expected.glsl b/test/tint/bug/tint/1520.spvasm.expected.glsl
index b1bcf2f..c0fccf5 100644
--- a/test/tint/bug/tint/1520.spvasm.expected.glsl
+++ b/test/tint/bug/tint/1520.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
     return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/bug/tint/1598.wgsl.expected.glsl b/test/tint/bug/tint/1598.wgsl.expected.glsl
index c5d32b6..8e3d9b5 100644
--- a/test/tint/bug/tint/1598.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1598.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
   int a[5] = int[5](0, 0, 0, 0, 0);
diff --git a/test/tint/bug/tint/1670.spvasm.expected.glsl b/test/tint/bug/tint/1670.spvasm.expected.glsl
index 7e1794d..39542e4 100644
--- a/test/tint/bug/tint/1670.spvasm.expected.glsl
+++ b/test/tint/bug/tint/1670.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void main_1() {
   mat2 m2i = mat2(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/tint/bug/tint/870.spvasm.expected.glsl b/test/tint/bug/tint/870.spvasm.expected.glsl
index f56b3de..448c378 100644
--- a/test/tint/bug/tint/870.spvasm.expected.glsl
+++ b/test/tint/bug/tint/870.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct sspp962805860buildInformationS {
   vec4 footprint;
diff --git a/test/tint/bug/tint/948.wgsl.expected.glsl b/test/tint/bug/tint/948.wgsl.expected.glsl
index 5814acf..d0eb0de 100644
--- a/test/tint/bug/tint/948.wgsl.expected.glsl
+++ b/test/tint/bug/tint/948.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_float_modulo(float lhs, float rhs) {
   return (lhs - rhs * trunc(lhs / rhs));
diff --git a/test/tint/bug/tint/949.wgsl.expected.glsl b/test/tint/bug/tint/949.wgsl.expected.glsl
index 0df34d4..05c3b39 100644
--- a/test/tint/bug/tint/949.wgsl.expected.glsl
+++ b/test/tint/bug/tint/949.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 1) in vec2 vMainuv_param_1;
 layout(location = 0) in vec4 v_output1_param_1;
diff --git a/test/tint/bug/tint/959.wgsl.expected.glsl b/test/tint/bug/tint/959.wgsl.expected.glsl
index 805695b..e39a9e4 100644
--- a/test/tint/bug/tint/959.wgsl.expected.glsl
+++ b/test/tint/bug/tint/959.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   float a;
diff --git a/test/tint/bug/tint/978.wgsl.expected.glsl b/test/tint/bug/tint/978.wgsl.expected.glsl
index 6f05f96..55f3976 100644
--- a/test/tint/bug/tint/978.wgsl.expected.glsl
+++ b/test/tint/bug/tint/978.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 2) in vec2 vUv_1;
 layout(location = 0) out vec4 color_1;
diff --git a/test/tint/bug/tint/992.wgsl.expected.glsl b/test/tint/bug/tint/992.wgsl.expected.glsl
index 24200d6..90229f0 100644
--- a/test/tint/bug/tint/992.wgsl.expected.glsl
+++ b/test/tint/bug/tint/992.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 frag_main() {
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_i32.spvasm.expected.glsl
index 970460a..48332ec 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_u32.spvasm.expected.glsl
index c2fa55a..c10d3d9 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicAdd/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_i32.spvasm.expected.glsl
index 45b3111..7b3510f 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_u32.spvasm.expected.glsl
index 38d4072..4a29c5c 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicAnd/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
index 12dea13..f1b9240 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resulti32 {
   int old_value;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
index aeca748..aa3ae45 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resultu32 {
   uint old_value;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_i32.spvasm.expected.glsl
index 6bc2032..a6c4b8e 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_u32.spvasm.expected.glsl
index 99f3404..5d19dfe 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicExchange/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_i32.spvasm.expected.glsl
index a15c00f..ae5d4a0 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_u32.spvasm.expected.glsl
index d9a37ea..93489b3 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicLoad/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_i32.spvasm.expected.glsl
index d4c8a81..aa74bbd 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_u32.spvasm.expected.glsl
index a9b7e0b..f8ce271 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicMax/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_i32.spvasm.expected.glsl
index ff50974..b005aa4 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_u32.spvasm.expected.glsl
index 33d3edd..b3a5e89 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicMin/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_i32.spvasm.expected.glsl
index 8877347..6a44ad6 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_u32.spvasm.expected.glsl
index c93e4d9..4d86dad 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicOr/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_i32.spvasm.expected.glsl
index e21ea33..5dc2b50 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_u32.spvasm.expected.glsl
index bcb3004..3655027 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicStore/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_i32.spvasm.expected.glsl
index b1da171..064b644 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_u32.spvasm.expected.glsl
index 58aaf8d..852f91a 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicSub/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_i32.spvasm.expected.glsl
index 6d076ed..ce6f00f 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_u32.spvasm.expected.glsl
index 71b9ebc..dc011b8 100644
--- a/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/atomicXor/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
index 970460a..48332ec 100644
--- a/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
index c2fa55a..c10d3d9 100644
--- a/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
index 970460a..48332ec 100644
--- a/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
index c2fa55a..c10d3d9 100644
--- a/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/literal/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_i32.spvasm.expected.glsl
index 3f9182f..be66553 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_u32.spvasm.expected.glsl
index 5e2cf88..e9b83b7 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicAdd/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_i32.spvasm.expected.glsl
index 86e1543..cd82122 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_u32.spvasm.expected.glsl
index 3f52064..66b1bfd 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicAnd/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
index cfc3554..af72173 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resulti32 {
   int old_value;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
index d27b779..e72b539 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicCompareExchangeWeak/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resultu32 {
   uint old_value;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_i32.spvasm.expected.glsl
index 7d13189..1ee8052 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_u32.spvasm.expected.glsl
index 9e60138..b03ca9b 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicExchange/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_i32.spvasm.expected.glsl
index a15c00f..ae5d4a0 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_u32.spvasm.expected.glsl
index d9a37ea..93489b3 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicLoad/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_i32.spvasm.expected.glsl
index 42acd6e..43012bb 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_u32.spvasm.expected.glsl
index 304432b..dbd8006 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicMax/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_i32.spvasm.expected.glsl
index b288ab4..e275c7c 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_u32.spvasm.expected.glsl
index 2f72f03..783b5f7 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicMin/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_i32.spvasm.expected.glsl
index ea23728..d5849b2 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_u32.spvasm.expected.glsl
index 9005586..3cca015 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicOr/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_i32.spvasm.expected.glsl
index c011687..1f8dd8f 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_u32.spvasm.expected.glsl
index db0f562..7397328 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicStore/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_i32.spvasm.expected.glsl
index f74d0b8..c219459 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_u32.spvasm.expected.glsl
index 1d6f90f..3c8f303 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicSub/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_i32.spvasm.expected.glsl
index dae9988..9b48670 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_u32.spvasm.expected.glsl
index bcff0d8..68f6af2 100644
--- a/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/atomicXor/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
index 48ad3c6..fcc47c0 100644
--- a/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
index 1914b10..87a965d 100644
--- a/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/spvAtomicDecrement/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
index 48ad3c6..fcc47c0 100644
--- a/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_i32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   int arg_0;
diff --git a/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl b/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
index 1914b10..87a965d 100644
--- a/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
+++ b/test/tint/builtins/atomics/from_gen/var/spvAtomicIncrement/storage_u32.spvasm.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW_atomic {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
index 9a7dfdd..e21978b 100644
--- a/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/002533.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
index e3592d3..691e30d 100644
--- a/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/005174.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
index 00ec1ba..cca24db 100644
--- a/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/1ce782.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
index f9b2d20..dff8455 100644
--- a/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/1e9d53.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
index b068d2d..5c59adc 100644
--- a/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/2f861b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_2f861b() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
index b6076e0..712ac9e 100644
--- a/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/421ca3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
index c433b3a..77f9006 100644
--- a/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/467cd1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
index a43f7cb..de8e2f2 100644
--- a/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/4ad288.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
index 9ce3899..075e7d0 100644
--- a/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/538d29.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
index 43a48a3..c6ccf52 100644
--- a/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/577d6e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_577d6e() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
index d454d02..107cb40 100644
--- a/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5a8af1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_5a8af1() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
index 22eac15..dadc8d0 100644
--- a/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5ad50a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
index 46ae378..4ea2db1 100644
--- a/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/5ae4fe.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
index 5aca316..2413906 100644
--- a/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7326de.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
index a77817e..66096f4 100644
--- a/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7f28e6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
index b803309..a2e4cc9 100644
--- a/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/7faa9e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
index 7eeff32..65eacb7 100644
--- a/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/82ff9d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_82ff9d() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
index c3fce66..87bf393 100644
--- a/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/8ca9b1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_8ca9b1() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
index 9a2731b..cb68622 100644
--- a/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/9c80a6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
index a7d37b0..c7069c1 100644
--- a/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/aedb6d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_aedb6d() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
index 0e9e932..0f70088 100644
--- a/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/b96037.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
index d9a6e95..40d874d 100644
--- a/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/c3321c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_c3321c() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
index 4255eda..d35bc5b 100644
--- a/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/e28785.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_e28785() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
index 12a8350..81827a7 100644
--- a/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/abs/fd247f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
index 8808367..b7d2ead 100644
--- a/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/004aff.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
index 7158930..929cbc1 100644
--- a/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/069188.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_069188() {
   vec3 res = vec3(0.25f);
diff --git a/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
index 29e3f42..9630a00 100644
--- a/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/15d35b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_15d35b() {
   vec2 res = vec2(0.25f);
diff --git a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
index cfc5204..2843a32 100644
--- a/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/203628.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
index 09d1198..79c065e 100644
--- a/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/303e3d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
index 9070c7c..5df5378 100644
--- a/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/489247.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
index 2afdd5f..dd5516f 100644
--- a/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/4dac75.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_4dac75() {
   vec4 res = vec4(0.25f);
diff --git a/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
index 0a841bf..cea24dd 100644
--- a/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/5e9ad2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_5e9ad2() {
   float res = 0.25f;
diff --git a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
index b0978b3..2da5dd3 100644
--- a/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/8e2acf.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
index ab8e004..eb52c84 100644
--- a/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/a610c4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
index a323e28..40e5b31 100644
--- a/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/dfc915.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
index 6c2b08e..06bbcd6 100644
--- a/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acos/f47057.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
index cc419fd..09dc0ef 100644
--- a/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/17260e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_17260e() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
index b1d4a3a..b9dbcb5 100644
--- a/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/3433e8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_3433e8() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
index b5c0bd3..4f849b4 100644
--- a/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/490aae.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_490aae() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
index 8816a86..038db5b 100644
--- a/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/5f49d8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
index 6586a50..8c23acc 100644
--- a/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/640883.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
index cd02020..0d50ad2 100644
--- a/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/9f213e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_9f213e() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
index 47d6ec2..13af171 100644
--- a/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/a37dfe.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
index 9a7d055..034469c 100644
--- a/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/d51ccb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
index 078427c..928f771 100644
--- a/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/de60d8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
index cd44c22..c1f863d 100644
--- a/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/e38f5c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
index 0aa567d..6390c1e 100644
--- a/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/ecf2d1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
index 2342a78..109533f 100644
--- a/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/acosh/f56574.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
index 680c371..40a3403 100644
--- a/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/353d6a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
index 3f01458..4fef295 100644
--- a/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/986c7b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
index 8d236a9..9d063e5 100644
--- a/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/bd2dba.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
index 1ebe333..633fef3 100644
--- a/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/all/f46790.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
index 3712b14..1fc203f 100644
--- a/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/083428.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
index b2fd24f..9e7250a 100644
--- a/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/0e3e58.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
index 892835f..553eb9c 100644
--- a/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/2ab91a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
index 10f9a93..dafafef 100644
--- a/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/any/e755c1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
index b2d79ac..a8d01b7 100644
--- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   int arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl
index 8d77b8a..9195996 100644
--- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   int arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
index 5bc4297..0462444 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl
@@ -29,7 +29,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   float16_t arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
index 25343cb..af57d29 100644
--- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   float arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl
index c155e09..5f86382 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl
@@ -29,7 +29,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   float16_t arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl
index b8890f5..4c72db1 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   float arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
index 57ed7ff..b87f6c6 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   uint arg_0[];
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl
index d6c4cda..8e9864d 100644
--- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   uint arg_0[];
diff --git a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
index 5763cf0..c169835 100644
--- a/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/064953.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
index 5efe560..9e1e170 100644
--- a/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/0bac07.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_0bac07() {
   vec3 res = vec3(0.5f);
diff --git a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
index 33f0975..42d4221 100644
--- a/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/11dfda.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
index c6b463f..4f3f3c4 100644
--- a/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/2d8e29.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
index 5bc1dfb..9ed136e 100644
--- a/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/3cfbd4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
index 9483665..09e5549 100644
--- a/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/64bb1f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_64bb1f() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
index 1f48551..4362f24 100644
--- a/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/7b6a44.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
index 05ec2d1..e4597d4 100644
--- a/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/8cd9c9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
index 6b8eb2f..2e21522 100644
--- a/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/a5dd88.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_a5dd88() {
   vec2 res = vec2(0.5f);
diff --git a/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
index 4afa665..4740ebf 100644
--- a/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/a6d73a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_a6d73a() {
   float res = 0.5f;
diff --git a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
index db5bebe..3e665dc 100644
--- a/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/b4aced.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
index 6971bfb..1cbde92 100644
--- a/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asin/c0c272.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
index b45922f..cb57dbe 100644
--- a/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/157447.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
index f714432..335ecdb 100644
--- a/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/16b543.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_16b543() {
   vec2 res = vec2(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
index e2e9a76..a8c2b42 100644
--- a/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/180015.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_180015() {
   float res = 0.88137358427047729492f;
diff --git a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
index 798c156..4516172 100644
--- a/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/2265ee.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
index 2917021..042f42b 100644
--- a/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/468a48.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
index 11117d9..c48ab28 100644
--- a/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/4a2226.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
index 7af712f..244fc60 100644
--- a/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/51079e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_51079e() {
   vec3 res = vec3(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
index 7cdfa17..e4c0958 100644
--- a/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/8d2e51.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
index 5a6bad9..126f41a 100644
--- a/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/95ab2b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
index d65c2e4..6e5ed89 100644
--- a/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/ad8f8b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
index e60d6d8..10e478f 100644
--- a/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/cf8603.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_cf8603() {
   vec4 res = vec4(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
index a4da8bf..b66732a 100644
--- a/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/asinh/fb5e8c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
index 9789346..abe2ee9 100644
--- a/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/02979a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
index 2bb8015..c723702 100644
--- a/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/19faea.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
index 516baaa..a704631 100644
--- a/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/1e1764.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
index db4df36..d7a02fd 100644
--- a/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/331e6d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
index c79c72f..a47c016 100644
--- a/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/5ca7b8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_5ca7b8() {
   vec2 res = vec2(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
index 049397c..67b2335 100644
--- a/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/749e1b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_749e1b() {
   vec3 res = vec3(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
index 3cc4ed2..09e9382 100644
--- a/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/7a2a75.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_7a2a75() {
   float res = 0.78539818525314331055f;
diff --git a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
index f6ad987..53222b9 100644
--- a/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a5f421.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
index 417494d7..17bb94c 100644
--- a/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a7ba61.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
index d2a51e6..864f10b 100644
--- a/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/a8b696.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
index 4ad9cae..86471f3 100644
--- a/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/ad96e4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
index 3ea638e..1957650 100644
--- a/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan/d17fb2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_d17fb2() {
   vec4 res = vec4(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
index b4afab7..652037b 100644
--- a/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/034ace.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_034ace() {
   float res = 0.78539818525314331055f;
diff --git a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
index 07006c6..f4be273 100644
--- a/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/21dfea.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
index 40e2aaa..e1e60bc 100644
--- a/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/3c2865.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_3c2865() {
   vec3 res = vec3(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
index 30c221a..b5ce1de 100644
--- a/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/57fb13.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
index d5907f6..08d5b1a 100644
--- a/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/93febc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
index 1b913bc..235bf02 100644
--- a/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/96057c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
index 43d438d..9147616 100644
--- a/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/a70d0d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
index 7f71b65..3226119 100644
--- a/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/ae713e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
index dc495d7..4cb66c6 100644
--- a/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/c19683.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_c19683() {
   vec2 res = vec2(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
index 427f0a0..a4308e6 100644
--- a/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/c4be45.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_c4be45() {
   vec4 res = vec4(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
index 0239769..34e71de 100644
--- a/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/ca698e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
index 8d2a75d..839348f 100644
--- a/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atan2/d983ab.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
index 9b2b355..bdfd1fb 100644
--- a/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/440cca.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
index 4790ecf..2a4a766 100644
--- a/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/5bf88d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
index 2fce2e4..1a37a60 100644
--- a/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/70d5bd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_70d5bd() {
   vec2 res = vec2(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
index f1e0815..0de5f1b 100644
--- a/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/7997d8.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
index a28b2e9..537f120 100644
--- a/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/7f2874.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_7f2874() {
   vec3 res = vec3(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
index 3d1870d..47b138c 100644
--- a/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/c0e634.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
index 86ca443..bf33b12 100644
--- a/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/c5dc32.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_c5dc32() {
   float res = 0.54930615425109863281f;
diff --git a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
index cb0922e..e15cb58 100644
--- a/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/d2d8cd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
index f733650..3db7f8c 100644
--- a/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/e3b450.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
index 28ea06f..e15535a 100644
--- a/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/e431bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_e431bb() {
   vec4 res = vec4(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
index 9099819..15488df 100644
--- a/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/ec4b06.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
index 66bcd82..c38a1bf 100644
--- a/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atanh/f3e01b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.glsl
index d2e3068..661b766 100644
--- a/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicAdd/8a199a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.glsl
index 74e49c9..b55bc77 100644
--- a/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicAdd/d32fe4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.glsl
index 62d9313..8a3c779 100644
--- a/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicAnd/152966.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.glsl
index 8f0a28d..9cf9629 100644
--- a/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicAnd/85a8d9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
index 1689b59..e3d5047 100644
--- a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resulti32 {
   int old_value;
diff --git a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
index 3879627..5498ecb 100644
--- a/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resultu32 {
   uint old_value;
diff --git a/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.glsl
index d20dcf8..09b8fc0 100644
--- a/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicExchange/d59712.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.glsl
index bc428ef..df120ce 100644
--- a/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicExchange/f2e22f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.glsl
index d38ae3c..eea1b55 100644
--- a/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicLoad/0806ad.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.glsl
index 6f69cb8..fc59321 100644
--- a/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicLoad/fe6cc3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.glsl
index 7361b76..86888f8 100644
--- a/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicMax/51b9be.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.glsl
index 297c0d5..0c107c8 100644
--- a/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicMax/92aa72.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.glsl
index ea083b7..4af1cb1 100644
--- a/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicMin/8e38dc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.glsl
index 09f1682..4284552 100644
--- a/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicMin/c67a74.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.glsl
index 4ebb342..79e9fd6 100644
--- a/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicOr/5e95d4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.glsl
index 4c14073..2ff7912 100644
--- a/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicOr/8d96a0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.glsl
index ae57eaa..d95b47e 100644
--- a/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicStore/cdc29e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.glsl
index 8dc900e..3ef1406 100644
--- a/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicStore/d1e9a6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.glsl
index 484938b..bf24379 100644
--- a/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicSub/051100.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.glsl
index 77138f3..9c689d7 100644
--- a/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicSub/15bfc9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.glsl
index 123af7f..c317e9b 100644
--- a/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicXor/54510e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.glsl
index 8f515e5..fc88586 100644
--- a/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/atomicXor/c1b78c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
index 7bea47b..b1f5990 100644
--- a/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/09bf52.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
index 7a6447b..3d85405 100644
--- a/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/11b1dc.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_11b1dc() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
index 1b59dcc..58f4573 100644
--- a/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/18c240.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
index c129c84..6b04f1d 100644
--- a/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/32c946.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_32c946() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
index b9ef97b..5d9d840 100644
--- a/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/34064b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
index d739326..74d38bc 100644
--- a/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/4bca2a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
index 3ed89c3..a52589d 100644
--- a/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/678655.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
index 6297796..5078a8d 100644
--- a/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/96f597.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
index ea2f1da..f5bf4e9 100644
--- a/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/b74c16.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
index 506d1f0..cfeb639 100644
--- a/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/bb2ca2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_bb2ca2() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
index 86208fc..fefcf5b 100644
--- a/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/e0b70a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_e0b70a() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
index dc1b2dd..78e4d05 100644
--- a/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ceil/f3f889.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
index ecc2887..69aa5ff 100644
--- a/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/0acf8f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
index cc6d48a..1a3d09a 100644
--- a/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/177548.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_177548() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
index 8ebb08d..8503c2c 100644
--- a/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/1a32e3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
index 712e1f2..00311f5 100644
--- a/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/235b29.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
index cf8f34c..c44ebb1 100644
--- a/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/23aa4f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_23aa4f() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
index 011729e..6e91f06 100644
--- a/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2bd567.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
index 1541453..2ff43e9 100644
--- a/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2bde41.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
index 6a1bfe5..9d2f86f 100644
--- a/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/2c251b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
index 076d9e2..9815783 100644
--- a/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/548fc7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
index 069acfd..b197474 100644
--- a/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/553ffb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
index 2cd1427..2432262 100644
--- a/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/5cf700.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_5cf700() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
index feecffc..5b15cc8 100644
--- a/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/5f0819.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
index 2aeb494..773780c 100644
--- a/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/6c1749.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
index f72ff5b..3fed596 100644
--- a/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/7706d7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
index 11df59f..6772ffa 100644
--- a/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/867397.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
index 1d592a4..981bfd4 100644
--- a/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/87df46.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_87df46() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
index 12ccf0f..56c6e64 100644
--- a/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/8b1eaa.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_8b1eaa() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
index cf52b93..2e88080 100644
--- a/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/96e56a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_96e56a() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
index 554727e..ab95145 100644
--- a/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/9d731c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_9d731c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
index 928a9c5..39e5a7f 100644
--- a/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/a2de25.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
index 45468cd..23fbafe 100644
--- a/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/b07c65.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
index cf21127..3bd6871 100644
--- a/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/b195eb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
index 86f9cbe..a1ae4ef 100644
--- a/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/bd43ce.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
index 7c41a2f..51f2fb4 100644
--- a/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/clamp/d396af.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_d396af() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
index 2769d74..34a1446 100644
--- a/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/0835a8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
index b58e172..564a8b9 100644
--- a/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/0a89f7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
index a06b834..b66511f 100644
--- a/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/16dc15.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
index 8717c5e..920cab2 100644
--- a/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/29d66d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
index 7df432a..a06329a 100644
--- a/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/47d768.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_47d768() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
index 893f3ec..21ddde5 100644
--- a/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/5bc2c6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
index 0d745de..a328998 100644
--- a/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/6b1fdf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_6b1fdf() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
index 77e46e1..8a34ce8 100644
--- a/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/a297d4.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_a297d4() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
index 3f2d50a..47a7e74 100644
--- a/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/af7447.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_af7447() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
index 487295e..7940090 100644
--- a/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/c3b486.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
index b799e95..5df4039 100644
--- a/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/c5c28e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
index e05bafc..c7efe76 100644
--- a/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cos/fc047d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
index d18890d..b9fc829 100644
--- a/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/2ed778.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
index 01c238a..7c74e13 100644
--- a/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/377652.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
index 046c0a0..272f473 100644
--- a/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/3b7bbf.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
index 2cec246..713d6a4 100644
--- a/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/432645.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_432645() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
index a3e6ddb..f71b319 100644
--- a/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/43b672.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
index 6fa9943..3bc9c6b 100644
--- a/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/b1b8a0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
index 8e4b64b..3685643 100644
--- a/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/c13756.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
index d6ae3cd..a7e5346 100644
--- a/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/c892bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_c892bb() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
index 4f4b630..461b402 100644
--- a/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/d8dee7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_d8dee7() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
index cbf9496..fce9024 100644
--- a/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/da92dd.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
index dd15e8d..3960b85 100644
--- a/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/e0c1de.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
index 673ca0d..1fd36b8 100644
--- a/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cosh/f67ff1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_f67ff1() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
index 93c87fa..f045bee 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/208d46.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
index e4a19d9..ad51597 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/6d4656.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
index 78de996..856c61f 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/70783f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
index aeadd8e..47c0699 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/7c38a6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
index 29458ed..9c0c17d 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/858d40.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
index 4a06600..24d6583 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/ab6345.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
index 7415dfa..c1c165b 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/eab32b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
index dd1f33c..21b7203 100644
--- a/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countLeadingZeros/f70103.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
index a79b1d4..b654c31 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0d0e46.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
index dc0c96f..39ea8a7 100644
--- a/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/0f7980.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
index adba54a..f55710b 100644
--- a/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/65d2ae.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
index abb2a36..765765c 100644
--- a/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/690cfc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
index 35df52c..8440297 100644
--- a/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/94fd81.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
index 419253d..a3766ab 100644
--- a/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/ae44f9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
index 624926c..c915be1 100644
--- a/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/af90e2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
index 89ec6b9..c2c93fb 100644
--- a/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countOneBits/fd88b2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
index 8a96298..1b524a0 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1ad138.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
index fdcf43a..361c7fa 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/1dc84a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
index 47da3d5..dd22636 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/21e394.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
index 981b816..b9ef7d2 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/327c37.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
index a49a684..9de8fa6 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/42fed6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
index 980c8f8..f9cb58f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/8ed26f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
index c567c97..a03998f 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/acfacb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
index 6737a6d..1ed3098 100644
--- a/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/countTrailingZeros/d2b4a0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
index 8671be4..d6beb58 100644
--- a/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/041cb0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
index 839a641..b2b9044 100644
--- a/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/1d7933.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cross_1d7933() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
index 072a570..7d9a8fd 100644
--- a/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/cross/9857cb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
index ced8620..ac19610 100644
--- a/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/0d170c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
index cec7740..2c854c2 100644
--- a/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/1ad5df.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
index 8e13c86..4f70ca2 100644
--- a/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/2af623.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
index c2682bb..3db6f2d 100644
--- a/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/3055d3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
index 8be0371..5217f0a 100644
--- a/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/51f705.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
index 46bd8db..7beef3d 100644
--- a/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/5e9805.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
index 9d96588..6d5a869 100644
--- a/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/810467.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_810467() {
   vec2 res = vec2(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
index d5946bf..236df0a 100644
--- a/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/c0880c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_c0880c() {
   vec3 res = vec3(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
index b599bb7..39c60f7 100644
--- a/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/d43a49.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_d43a49() {
   vec4 res = vec4(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
index a47391e..cade325 100644
--- a/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/dfe8f4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
index 2efe4ca..91c61dd 100644
--- a/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/f59715.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
index 3017003..b8ff73f 100644
--- a/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/degrees/fafa7e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_fafa7e() {
   float res = 57.295780181884765625f;
diff --git a/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
index d5b27a9..a5aa46d 100644
--- a/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/1bf6e7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_1bf6e7() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
index 9258ebe..7f3e50e 100644
--- a/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/2b62ba.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
index dd7dba8..5e0de69 100644
--- a/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/32bfde.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
index 52ebe40..468f2fa 100644
--- a/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/a0a87c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
index fb8d99d..b60ab86 100644
--- a/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/c8251d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_c8251d() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
index 488869b..94408a7 100644
--- a/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/cefdf3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_cefdf3() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
index ae2f16a..4b0bf96 100644
--- a/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/d7c86f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
index 6a36b0f..612df9a 100644
--- a/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/e19305.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
index 5137099..93ba9b0 100644
--- a/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/determinant/fc12a5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
index a9f2d2f..510e94b 100644
--- a/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/0657d4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
index 58e8f50..e62a7ca 100644
--- a/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/3a175a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_3a175a() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
index 543f49e..8873601 100644
--- a/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/7272f3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
index 9698103..33b9c86 100644
--- a/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/7d201f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
index 7486548..35460fb 100644
--- a/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/83911f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_83911f() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
index 0a03ec5..126abd2 100644
--- a/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/892a5d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
index 7e0945d..d43cec0 100644
--- a/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/928fa0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
index eca386b..68fa456 100644
--- a/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/9646ea.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
index 663b8e7..429436e 100644
--- a/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/aa4055.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
index 8cd6d36..872a175 100644
--- a/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/ac5535.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_ac5535() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
index d6d4170..a4eee51 100644
--- a/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/cfed73.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
index 99df855..9f54132 100644
--- a/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/distance/f9c9ee.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_f9c9ee() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
index fde4529..91f21a4 100644
--- a/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/08eb56.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_08eb56() {
   float res = 4.0f;
diff --git a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
index 3be1d22..db5f2b6 100644
--- a/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/0c577b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
index 56f8ba0..880b0a5 100644
--- a/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/0d2c2e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_0d2c2e() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
index ee01341..2d73d41 100644
--- a/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/14bc63.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_14bc63() {
   int res = 2;
diff --git a/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
index bf3a69a..44ea415 100644
--- a/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/5a4c8f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_5a4c8f() {
   float res = 3.0f;
diff --git a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
index f94c5e4..80367e8 100644
--- a/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/7548a0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
index 99cc8eb..f11870c 100644
--- a/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/883f0e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
index 5a02db9..908fab6 100644
--- a/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/8e40f1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
index 6e96dc5..f3eb565 100644
--- a/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/97c7ee.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
index 4c58e68..f7ed23c 100644
--- a/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/ba4246.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
index 0a21a3d..d17e2e1 100644
--- a/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/c11efe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_c11efe() {
   int res = 3;
diff --git a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
index cd1520b..b38fc28 100644
--- a/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/cd5a04.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
index ab42692..405d562 100644
--- a/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/d0d179.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
index 8d0a406..7b8a08c 100644
--- a/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/e994c7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
index a10a639..648f67f 100644
--- a/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/eb9fbf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_eb9fbf() {
   int res = 4;
diff --git a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
index 7f3eb12..678c352 100644
--- a/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/ef6b1d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
index 8c9a79a..0e6301a 100644
--- a/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/f1312c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
index 468e35d..a725559 100644
--- a/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dot/fc5f7c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.glsl
index ac54486..3948451 100644
--- a/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdx/0763f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.glsl
index 2c6f4d3..39261db 100644
--- a/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdx/99edb1.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.glsl
index 75b2dbe..f8f51c1 100644
--- a/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdx/c487fa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.glsl
index acde968..f9120de 100644
--- a/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdx/e263de.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.glsl
index 2151155..5bb2b45 100644
--- a/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/029152.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.glsl
index ec8a7fa..346a5d7 100644
--- a/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/9581cf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.glsl
index 9b890f0..5646495 100644
--- a/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/c28641.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.glsl
index e0148aa..60bbdc0 100644
--- a/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxCoarse/f64d7b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.glsl
index 37ebe64..c7bff23 100644
--- a/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxFine/8c5069.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.glsl
index a5472bb..962a7df 100644
--- a/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxFine/9631de.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.glsl
index c1b2f34..dfe82a2 100644
--- a/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxFine/f401a2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.glsl
index 35c1eaa..4c6584b 100644
--- a/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdxFine/f92fb6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.glsl
index 37d867d..5c3b3de 100644
--- a/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdy/699a05.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.glsl
index 0a78c1d..2b6e9de 100644
--- a/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdy/7f8d84.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.glsl
index f95dc52..aaaebfa 100644
--- a/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdy/a8b56e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.glsl
index 04c59ea..e45117f 100644
--- a/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdy/feb40f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.glsl
index a7ca3b2..7e15c86 100644
--- a/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/3e1ab4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.glsl
index 412ede1..e06357e 100644
--- a/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/445d24.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.glsl
index 28debfa..79c44de 100644
--- a/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/870a7e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.glsl
index cdb4a70..6a94800 100644
--- a/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyCoarse/ae1873.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.glsl
index 6d6e1fa..f1ed70a 100644
--- a/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyFine/1fb7ab.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.glsl
index 7664160..a5f7514 100644
--- a/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyFine/6eb673.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.glsl
index 14450e4..f708deb 100644
--- a/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyFine/d0a648.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.glsl
index 9a424fc..e442678 100644
--- a/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/dpdyFine/df33aa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
index b870421..a6bed25 100644
--- a/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/0f70eb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
index 1431fa3..c005ced 100644
--- a/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/13806d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
index adb7d20..f06e001 100644
--- a/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/1951e7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
index 77dd7de..310f574 100644
--- a/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/2e08e2.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
index 2b7644c..969c46d 100644
--- a/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/49e4c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_49e4c5() {
   float res = 2.71828174591064453125f;
diff --git a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
index b057e86..1fa3901 100644
--- a/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/611a87.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
index 6a619c6..4d619f0 100644
--- a/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/699629.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_699629() {
   vec2 res = vec2(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
index 598d5c5..8730903 100644
--- a/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/771fd2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
index 71a9995..5b60fc0 100644
--- a/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/bda5bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_bda5bb() {
   vec3 res = vec3(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
index 21fb574..28b8511 100644
--- a/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/c18fe9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
index 35859ff..bab7969 100644
--- a/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/d98450.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
index 756089e..eca9b73 100644
--- a/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp/dad791.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_dad791() {
   vec4 res = vec4(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
index cebe48a..e34a9d2 100644
--- a/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/151a4c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
index 4dea06a..8c73b5d 100644
--- a/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/18aa76.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_18aa76() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
index 6b0f67e..39905cd 100644
--- a/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/1f8680.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
index 131c8f4..4e94616 100644
--- a/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/303753.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_303753() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
index 9c7f01e..574dafa 100644
--- a/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/751377.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
index 8cc964a..d89c0f0 100644
--- a/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/8bd72d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_8bd72d() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
index 2f08340..750d9b4 100644
--- a/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/a9d0a7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
index a4e2794..b4011d2 100644
--- a/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/b408e4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
index 0d2de0a..e424379 100644
--- a/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/d6777c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
index 9fff12b..c9290d4 100644
--- a/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/dea523.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
index 7180ee6..98733dc 100644
--- a/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/f4f0f1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_f4f0f1() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
index 499dd5c..0672fb3 100644
--- a/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/exp2/ffa827.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
index c21872c..d6d89c1 100644
--- a/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/12b197.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
index 910a74a..351f223 100644
--- a/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/249874.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
index e3f07d9..a64d43b 100644
--- a/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/631377.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
index d163b96..7872364 100644
--- a/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/a99a8d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
index 4408979..cc6a06b 100644
--- a/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/ce81f8.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
index ee841ff..2680435 100644
--- a/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/e04f5d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
index 3b4f9e7..a72e143 100644
--- a/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/f28f69.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
index 89ddca0..596cc6f 100644
--- a/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/extractBits/fb850f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
index a4a1c00..406652d 100644
--- a/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/2c4d14.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_2c4d14() {
   vec4 res = vec4(-1.0f);
diff --git a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
index 19b5c81..2e936c9 100644
--- a/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/524986.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
index 7a2e953..2a8b3f1 100644
--- a/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/5afbd5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
index 6fc5734..da77db6 100644
--- a/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/b316e5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
index 316c6ff..157f23c 100644
--- a/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/b42ef3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_b42ef3() {
   vec2 res = vec2(-1.0f);
diff --git a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
index 068e697..7210304 100644
--- a/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/cc63dc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
index 9be5d11..66b3879 100644
--- a/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/e6908b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
index ee07f88..b5537a8 100644
--- a/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/fb0f2e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
index 3e26400..5c2ab3a 100644
--- a/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/faceForward/fe522b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_fe522b() {
   vec3 res = vec3(-1.0f);
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
index 9d0060d..f10bdcb 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/000ff3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
index 6cac6f9..40d8c7a 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/35053e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
index a7c41cd..045243d 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/3fd7d0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
index d40a235..4007d91 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/57a1a3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
index e65ac93..250b7e9 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/6fe804.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
index 43defbc..49678ff 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/a622c2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
index 26c1fa3..2b5a0f1 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/c1f940.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
index 5cbd095..ef87c3d 100644
--- a/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstLeadingBit/f0779d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
index 2aee31c..6850598 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/110f2c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
index e70aa45..6fdfa64 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/3a2acc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
index fd25364..b2f7d56 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/45eb10.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
index da006a5..7aff322 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/47d475.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
index 15417a7..dac2574 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/50c072.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
index 33957b8..2904457 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/7496d6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
index 5d43b79..7b6c7c6 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/86551b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
index b6c8695..f3bb74a 100644
--- a/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/firstTrailingBit/cb51ce.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
index 63dedc1..6918915 100644
--- a/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/218952.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_218952() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
index bfb8f5d..2ce200e 100644
--- a/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/3802c0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
index b632be2..6ec2bb6 100644
--- a/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/3bccc4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
index 330a42f..b591332 100644
--- a/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/5fc9ac.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
index 7acdcd0..974f965 100644
--- a/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/60d7ea.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
index 127cfb9..b342644 100644
--- a/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/66f154.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
index bb96c97..58b23d7 100644
--- a/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/84658c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
index d5c3a05..2d20f8d 100644
--- a/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/953774.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_953774() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
index 899a1aa..6bd5b3b 100644
--- a/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/a2d31b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
index 867c53d..051ee31 100644
--- a/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/b6e09c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
index d2d4681..7dd7d49 100644
--- a/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/dcd5a2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_dcd5a2() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
index f6dd7ae..47534a9 100644
--- a/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/floor/e585ef.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_e585ef() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
index 7e6b4b4..5caed9e 100644
--- a/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/143d5d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_143d5d() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
index 215c740..783b334 100644
--- a/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/1f5084.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_1f5084() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
index acfb0bb..db4d588 100644
--- a/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/26a7a9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
index c094238..0ff3006 100644
--- a/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/466442.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_466442() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
index 439c32e..639757d 100644
--- a/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/6a3283.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
index 9774ca2..9fc7aa4 100644
--- a/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/ab7818.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
index ce9f5a9..e5139bd 100644
--- a/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/bf21b6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
index f5dea9c..063313c 100644
--- a/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/c10ba3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
index 8c53811..d26a075 100644
--- a/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/c8abb3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
index c88101e..f70a55b 100644
--- a/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/e17c5c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
index af0444d..85df8da 100644
--- a/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/e7abdc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
index 16ddde5..cc7bcb0 100644
--- a/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fma/eb25d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_eb25d7() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
index b20b7e8..1a5cc11 100644
--- a/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/181aa9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
index a8d9c20..3376a4d 100644
--- a/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/2eddfe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_2eddfe() {
   float res = 0.25f;
diff --git a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
index 112c21b..b9561b6 100644
--- a/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/498c77.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
index 946ec1d..65fade4 100644
--- a/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/7e3f2d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_7e3f2d() {
   vec4 res = vec4(0.25f);
diff --git a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
index fab6770..734f958 100644
--- a/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/8bc1e9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
index 4dc9943..df35b2d 100644
--- a/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/943cb1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
index bbd0eb8..e08b398 100644
--- a/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/958a1d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
index 4bda86e..e03230f 100644
--- a/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/a49758.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
index 0cb9509..30c861b 100644
--- a/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/eb38ce.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
index e6fe3c1..c5535e3 100644
--- a/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/ed00ca.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_ed00ca() {
   vec2 res = vec2(0.25f);
diff --git a/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
index 9952c8b..53b840a 100644
--- a/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/ed2f79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_ed2f79() {
   vec3 res = vec3(0.25f);
diff --git a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
index 2fe2002..8659164 100644
--- a/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fract/fa5c71.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
index f573f2f..f2fc022 100644
--- a/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/34bbfb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
index 273b556..cd0b72e 100644
--- a/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/3dd21e.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f16 {
   f16vec4 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
index bfccbad..f60047f 100644
--- a/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/4b2200.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
index eae6d64..d12317f 100644
--- a/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/5257dd.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f16 {
   float16_t fract;
diff --git a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
index 6c074b6..6b3d204 100644
--- a/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/5f47bf.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f16 {
   f16vec2 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
index 0887713..d1a53a5 100644
--- a/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/6fb3ad.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
index ba3cc93..91619f3 100644
--- a/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/77af93.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
index cb84565..3b18c2a 100644
--- a/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/979800.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
index fecb412..e6b4dc5 100644
--- a/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/ae4a66.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f16 {
   f16vec3 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
index 2f47c25..3c62573 100644
--- a/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/bee870.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
index 9ced10b..6070ed3 100644
--- a/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/bf45ae.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
index 21fc8ed..64f2e2d 100644
--- a/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/frexp/eb2421.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.glsl
index c502207..9ba94f1 100644
--- a/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidth/5d1b39.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.glsl
index 8f82445..3574bda 100644
--- a/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidth/b83ebb.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.glsl
index 28ae1c3..eaded64 100644
--- a/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidth/d2ab9a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.glsl
index 46ccfa0..3073b34 100644
--- a/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidth/df38ef.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.glsl
index dfaddff..e9b63da 100644
--- a/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/159c8a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.glsl
index 0333768..d2e9061 100644
--- a/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/1e59d9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.glsl
index 8624b26..f15303a 100644
--- a/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/4e4fc4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.glsl
index 7930d4c..01e8247 100644
--- a/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthCoarse/e653f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.glsl
index bdefc5c..6e9afa6 100644
--- a/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthFine/523fdc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.glsl
index 381a64c..74d25f1 100644
--- a/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthFine/68f4ef.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.glsl
index 58eeb03..e28d06c 100644
--- a/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthFine/f1742d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.glsl
index edff893..e7c3635 100644
--- a/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/fwidthFine/ff6aa0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
index 67b51a6..0fbe0fd 100644
--- a/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/3c7ba5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
index 9d718ff..7812351 100644
--- a/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/428b0b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
index 665669f..1cfdf6a 100644
--- a/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/51ede1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
index bc06255..f6f4815 100644
--- a/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/65468b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
index 91fb139..921184d 100644
--- a/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/87826b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
index 769d196..3d9d40c 100644
--- a/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/d86978.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
index dd7687e..734ca4c 100644
--- a/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/e3e3a2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
index ae9ce94..efe0272 100644
--- a/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/insertBits/fe6ba6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
index bc25b44..43939ca 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/07a6fe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_07a6fe() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
index 1f6a5ff..eaddd5c 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/440300.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
index 5f7e5e4..3adf787 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/4ca6d6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_4ca6d6() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
index be6a1d7..65495c5 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/5f51f8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
index a8ccaba..11bf551 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/6d0783.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_6d0783() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
index d5fa2e6..670c411 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/84407e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
index 96b7328..30768d8 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/8f2bd2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
index d7f050c..a2924bb 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b197b1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
index 1e25a81..645bcd0 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/b85ebd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
index fce68e3..82c0155 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/c22347.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
index a648762..34591a1 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/cbdc70.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
index 53b0371..d714727 100644
--- a/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/inverseSqrt/f60c1c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_f60c1c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
index b722aea..8dc0ffe 100644
--- a/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/082c1f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
index d9c5cba..8de7d62 100644
--- a/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/217a31.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
index 245054d..724b2da 100644
--- a/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/2bfc68.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_2bfc68() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
index 629e3b2..4ed287c 100644
--- a/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/2c6370.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_2c6370() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
index 0df98a0..0c4bc92 100644
--- a/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/376938.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_376938() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
index b615aa8..14a9a49 100644
--- a/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/3d90b4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
index 9dba689..9971449 100644
--- a/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/4a3ad9.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_4a3ad9() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
index 54bc72b..8971f6b 100644
--- a/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/593ff3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
index fb4c0b8..418fae4 100644
--- a/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/624e0c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
index eaee884..dab8f0d 100644
--- a/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/65a7bd.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
index 7d99b31..9c86a19 100644
--- a/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/71ebe3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_71ebe3() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
index b9e4d9d..df1f863 100644
--- a/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/7485ce.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
index 0fb894e..3a95b46 100644
--- a/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/7fa13c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
index a1b5c49..761fc6b 100644
--- a/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/8a0c2f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
index d71e096..471ad08 100644
--- a/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/8e43e9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
index f1b4e9a..67d5ec4 100644
--- a/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a22679.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
index e6997dc..23db6ea 100644
--- a/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a31cdc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
index c082edd..baae1a2 100644
--- a/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/a6126e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_a6126e() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
index 31d199d..7822c3a 100644
--- a/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/abd718.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
index 6014ab6..b8a4150 100644
--- a/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/c9d0b7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
index 9676cec..ae177ce 100644
--- a/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/cb0faf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_cb0faf() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
index 38c420c..1d20ea2 100644
--- a/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/cc9cde.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
index b7914a7..211ddae 100644
--- a/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/db8b49.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
index b2017bf..0a61222 100644
--- a/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/ldexp/fdbc7b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_fdbc7b() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
index 030911a..f683fbc 100644
--- a/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/056071.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
index 194f7aa..a9619b8 100644
--- a/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/3f0e13.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
index fb815a6..17a2ad5 100644
--- a/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/555aba.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_555aba() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
index 4f01c86..9e44245 100644
--- a/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/5b1a9b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
index 77a1b1e..ae0ee3a 100644
--- a/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/602a17.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
index 16c9226..85e8de2 100644
--- a/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/7b4741.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_7b4741() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
index cfb1b8c..3e7895f 100644
--- a/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/936ad5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_936ad5() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
index 441cb84..2649121 100644
--- a/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/afde8b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
index 4f95328..3e9d3f9 100644
--- a/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/ba16d6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
index 597596a..72c7058 100644
--- a/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/becebf.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
index d1f1b48..7bf71cf 100644
--- a/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/c158da.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
index 6c6a328..0160e94 100644
--- a/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/length/c2c544.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_c2c544() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
index a8c97e8..efb93a7 100644
--- a/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/3da25a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
index e6a0182..cef9deb 100644
--- a/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/655989.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_655989() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
index 06b9a1b..077c97c 100644
--- a/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/697e1d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_697e1d() {
   vec4 res = vec4(0.0f);
diff --git a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
index 78bc60c..1f5d367 100644
--- a/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/6ff86f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
index 8995b76..7edf099 100644
--- a/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/7114a6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
index 8394c1d..4d8a4c6 100644
--- a/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/8f0e32.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
index 58dc2bf..9c2142d 100644
--- a/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/b2ce28.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
index 5dc623a..d5c2510 100644
--- a/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/b8088d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_b8088d() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
index a450a76..e26c760 100644
--- a/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/c9f489.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
index 45e2473..6f56ea7 100644
--- a/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/cdbdc1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
index 6e6a2cf..b1b4ad9 100644
--- a/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/f4c570.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
index d29f386..1fac255 100644
--- a/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log/f60cc7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_f60cc7() {
   vec2 res = vec2(0.0f);
diff --git a/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
index 9759833..5dafdf7 100644
--- a/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/0fbd39.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_0fbd39() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
index a08ba07..83af6be 100644
--- a/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/38b478.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
index f1bc93b..8a93c7f 100644
--- a/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/4036ed.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
index 1429b32..d196daa 100644
--- a/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/5b464b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_5b464b() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
index b7d204c..83ca1c1 100644
--- a/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/6b8954.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_6b8954() {
   vec2 res = vec2(0.0f);
diff --git a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
index b9b860c..66a0947 100644
--- a/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/776088.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
index deae391..c18fb59 100644
--- a/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/8c10b3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
index 87b6987..9635d63 100644
--- a/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/902988.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
index 8b2864c..75dd46c 100644
--- a/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/a52bbb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_a52bbb() {
   vec4 res = vec4(0.0f);
diff --git a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
index a4174d6..516b479 100644
--- a/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/adb233.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
index de0de8b..50a6d26 100644
--- a/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/aea659.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
index df3f339..a238e58 100644
--- a/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/log2/fb9f0b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
index 01727cd..9a2a20d 100644
--- a/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/067f3a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_067f3a() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
index 4ec846c..92b6465 100644
--- a/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/0c0aae.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
index 896968b..4bb255a 100644
--- a/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/111ac0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
index 6575eb7..da307bb 100644
--- a/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/19070a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_19070a() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
index 093ba48..96d096a 100644
--- a/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/25eafe.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
index fc1e645..384b9ca 100644
--- a/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/320815.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
index 1567d40..054f8b0 100644
--- a/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/34956e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
index b375d3a..dddb424 100644
--- a/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/445169.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
index a60597c..733a50a 100644
--- a/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/44a39d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
index 8fd2610..c2a37a9 100644
--- a/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/453e04.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
index 3685ac3..a57f107 100644
--- a/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/462050.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
index 3aca743..773d0d9 100644
--- a/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/482d23.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_482d23() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
index ec6d243..b868fbe 100644
--- a/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/4883ac.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
index f0b724c..10a19eb 100644
--- a/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/4bbff2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_4bbff2() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
index 101baea..323a86a 100644
--- a/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/85e6bc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
index 6d9f6bc..23ee698 100644
--- a/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/a1b196.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_a1b196() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
index 874f79e..038e698 100644
--- a/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/a93419.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
index ec4706f..c4ba242 100644
--- a/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/b1b73a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
index b1ddc20..4e5208e 100644
--- a/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/c023dd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_c023dd() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
index 19780ed..825de70 100644
--- a/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/caa3d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_caa3d7() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
index 1005cda..6c44eef 100644
--- a/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/ce7c30.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
index f56e201..3e1a2ce 100644
--- a/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/de6b87.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_de6b87() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
index 116f5f7..d6d27e5 100644
--- a/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/e14f2b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
index 33bdf75..c241255 100644
--- a/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/max/e8192f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
index 7902113..aab8a61 100644
--- a/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/03c7e3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
index f1ae3fe..dd6c20b 100644
--- a/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/0dc614.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
index 2cb677a..63f2667 100644
--- a/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/364910.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_364910() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
index b447269..87916cc 100644
--- a/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/371bd6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_371bd6() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
index fe1b381..99c8ef6 100644
--- a/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/3941e1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
index 621e991..dc12bc9 100644
--- a/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/46c5d3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
index b0324f7..a8f89e7 100644
--- a/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/527b79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_527b79() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
index 886c489..7b0f2a9 100644
--- a/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/717257.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_717257() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
index 1b79ad3..3c834a1 100644
--- a/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/794711.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_794711() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
index 65a9a1d..76cc67e 100644
--- a/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/7c710a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
index 0091d51..28ad37a 100644
--- a/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/82b28f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
index 635d213..79cbf5e 100644
--- a/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/84c9fe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_84c9fe() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
index b4abf64..f29dd79 100644
--- a/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/93cfc4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
index 51aa1df..49f020f 100644
--- a/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/98e797.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_98e797() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
index 3342319..bffa2ef 100644
--- a/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/a45171.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
index d0c283d..4dae1d5 100644
--- a/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/aa28ad.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
index 3489a96..97c24a5 100644
--- a/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/ab0acd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
index 60e3d18..39da4f2 100644
--- a/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/ac84d6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
index b6cba2f..201985b 100644
--- a/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/af326d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
index 30a5156..4a34614 100644
--- a/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/af364e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_af364e() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
index b26106a..81bf900 100644
--- a/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c70bb7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
index da3994e..50ca450 100644
--- a/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c73147.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
index e348b3e..81afc89 100644
--- a/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/c76fa6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
index a735735..c4ea2d7 100644
--- a/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/min/e780f9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
index e79183b..3befac4 100644
--- a/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/0c8c33.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
index a19289e..5a4a54a 100644
--- a/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/1faeb1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
index 69bdddf..b7e405e 100644
--- a/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/275cac.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_275cac() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
index 919ad87..deda55a 100644
--- a/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/2fadab.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
index 6f002ea..a766e27 100644
--- a/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/30de36.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_30de36() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
index c7bdaab..d97725f 100644
--- a/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/315264.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
index c5eee9e..75f9054 100644
--- a/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/343c49.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_343c49() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
index 2a3810f..ca0ee3c 100644
--- a/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/38cbbb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
index 1de5cff..4aea0b9 100644
--- a/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/42d11d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_42d11d() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
index db6c8f6..475284d 100644
--- a/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/4f0b5e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
index 1979214..dbd48d9 100644
--- a/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/63f2fd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
index f29f13a..c115a68 100644
--- a/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/6f8adc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
index 44d50fb..ad6170c 100644
--- a/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/98007a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_98007a() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
index c461857..05a1640 100644
--- a/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/98ee3e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
index e53e484..b66f5a7 100644
--- a/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/9c2681.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_9c2681() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
index 234e03a..ec14337 100644
--- a/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/c1aec6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
index 7126a79..d5db527 100644
--- a/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/c37ede.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
index 2276376..b9fbcc9 100644
--- a/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/e46a83.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
index 2066f8c..d55de27 100644
--- a/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/ee2468.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
index 295176f..201747b 100644
--- a/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/ef3575.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_ef3575() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
index 476abd1..b63a7ba 100644
--- a/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/mix/f1a543.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
index 630bea9..7808ecd 100644
--- a/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/2d50da.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
index 8bbd18f..3f0964f 100644
--- a/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/45005f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f16 {
   f16vec3 fract;
diff --git a/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
index be50434..cb8b996 100644
--- a/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/4bfced.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
index aa3a712..913de82 100644
--- a/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/5ea256.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
index 35ec0b6..c64bc82 100644
--- a/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/68d8ee.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
index bc6f4fb..6cd3dc7 100644
--- a/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/732aa6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
index 0741bb8..a04a75b 100644
--- a/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/8dbbbf.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_f16 {
   float16_t fract;
diff --git a/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
index cafadca..0067ce5 100644
--- a/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/995934.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f16 {
   f16vec4 fract;
diff --git a/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
index 3bcc8fa..a8b40bb 100644
--- a/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/a545b9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f16 {
   f16vec2 fract;
diff --git a/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
index 5ccbc18..bbe190e 100644
--- a/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/bbf7f7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
index 14adca5..81d1e53 100644
--- a/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/c15f48.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
index 7dcc135..357d7f5 100644
--- a/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/modf/f3d1f9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
index 413130f..91b076f 100644
--- a/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/39d5ec.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
index 942c998..99a6ee9 100644
--- a/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/4eaf61.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_4eaf61() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
index 8d56c8c..b6a5709 100644
--- a/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/584e47.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_584e47() {
   vec2 res = vec2(0.70710676908493041992f);
diff --git a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
index 060c00d..cf18a6c 100644
--- a/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/64d8c0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
index 72bbf4c..69fe7a7 100644
--- a/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/7990f3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
index b87e23f..92ffc4c 100644
--- a/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/9a0aab.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
index c7d7784..1391023 100644
--- a/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/b8cb8d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
index 053a255..5d9d61d 100644
--- a/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/e7def8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_e7def8() {
   vec3 res = vec3(0.57735025882720947266f);
diff --git a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
index fcc987e..2a1c5b3 100644
--- a/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/normalize/fc2ef1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
index 21862b4..0147bb2 100644
--- a/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16float/0e97b3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
index a046756..adb4d1f 100644
--- a/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16snorm/6c169b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
index 9cbae25..845451b6 100644
--- a/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack2x16unorm/0f08e4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
index 1cba533..583891d 100644
--- a/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4x8snorm/4d22e7.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
index a50410d..195773e 100644
--- a/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pack4x8unorm/95c456.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
index 43ef0b6..97e87cc 100644
--- a/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/04a908.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
index ff7be7d..1c1dec6 100644
--- a/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/46e029.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
index cd88272..ded4216 100644
--- a/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/4a46c9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
index c18960b..48c7b4e 100644
--- a/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/4f33b2.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
index d61fbdb..7fc9a5b 100644
--- a/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/749c42.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_749c42() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
index d5d0cf0..54ddc30 100644
--- a/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/a8f6b2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_a8f6b2() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
index 892ea2e..31f9f24 100644
--- a/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/bc91ed.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_bc91ed() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
index 532311d..18edba9 100644
--- a/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/ce9ef5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
index 576ef1f..7973762 100644
--- a/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/e42f20.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_e42f20() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
index 436ca79..e084683 100644
--- a/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/e60ea5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
index 4d839b3..199a66a 100644
--- a/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/f37b25.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
index 55d7219..0f6522c 100644
--- a/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/pow/fa5429.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
index da4668e..06426df 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/12e50e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
index f26617a..5df0b9b 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/2cddf3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
index 46f30e3..0272c44 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/cba294.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
index 90cb0f9..e585b79 100644
--- a/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/quantizeToF16/e8fd14.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
index 58f8b3c..2769f22 100644
--- a/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/09b7fc.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
index 794cc1c..7b194b0 100644
--- a/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/208fd9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
index 750b043..e80d782 100644
--- a/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/379214.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_379214() {
   vec3 res = vec3(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
index 201150e..9497a2e 100644
--- a/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/44a9f8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_44a9f8() {
   vec2 res = vec2(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
index 5909e7d..6ba06e5 100644
--- a/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/44f20b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
index 1f61586..8648e45 100644
--- a/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/524a91.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_524a91() {
   vec4 res = vec4(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
index a643f9b..d498b63 100644
--- a/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/61687a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
index 10f8ccb..50d1bf1 100644
--- a/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/6b0ff2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
index e92aae2..358b983 100644
--- a/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/7ea4c7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
index c25f8c4..9b35654 100644
--- a/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/bff231.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_bff231() {
   float res = 0.01745329238474369049f;
diff --git a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
index a9f2a7b..449a8dd 100644
--- a/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/f96258.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
index 801f682..c72e357 100644
--- a/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/radians/fbacf0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
index f60115e..413d37a 100644
--- a/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/05357e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
index 2e27550..c12963e 100644
--- a/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/310de5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
index 17105af..af188e9 100644
--- a/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/61ca21.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
index 216d469..f8fe456 100644
--- a/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/a8baf2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_a8baf2() {
   vec3 res = vec3(-5.0f);
diff --git a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
index 53ef076..70fe434 100644
--- a/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/b61e10.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
index 78debe2..c4a35cf 100644
--- a/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/bb15ac.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
index fff1f23..c73f3d6 100644
--- a/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/bba2d0.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_bba2d0() {
   vec2 res = vec2(-3.0f);
diff --git a/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
index a1507a5..41fac90 100644
--- a/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/d7e210.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_d7e210() {
   vec4 res = vec4(-7.0f);
diff --git a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
index 918f776..f661e76 100644
--- a/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reflect/f47fdb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
index 5dd753c..2ca5d34 100644
--- a/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/0594ba.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
index a0203f9..f9a0383 100644
--- a/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/570cb3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
index e3da22f..d936e83 100644
--- a/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/7e02e6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
index a087dc0..79f6b11 100644
--- a/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/8984af.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
index 1a30d60..1c80d50 100644
--- a/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/8c192a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_8c192a() {
   vec4 res = vec4(-7.0f);
diff --git a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
index 849069c..6915c22 100644
--- a/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cbc1d2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
index 22603f7..e793230 100644
--- a/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cd905f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
index 3aa7137..2824c2e 100644
--- a/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/cf1629.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_cf1629() {
   vec2 res = vec2(-3.0f);
diff --git a/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
index c83ef7b..8714e39 100644
--- a/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/refract/d7569b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_d7569b() {
   vec3 res = vec3(-5.0f);
diff --git a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
index 02f7458..18a4807 100644
--- a/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/222177.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
index 39903ff..1126b7e 100644
--- a/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/35fea9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
index 97ee386..504495f 100644
--- a/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/4dbd6f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
index 8343f12..83eda5f 100644
--- a/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/7c4269.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
index ca287c6..bbd55f8 100644
--- a/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/a6ccd4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
index 477beef..7c6b8be 100644
--- a/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/c21bc1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
index 5c9cba5..c1ba3a1 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e1f4c1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
index 0f9c646..e80f34e 100644
--- a/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/reverseBits/e31adf.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
index 0969b1e..f442dda 100644
--- a/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/106c0b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
index a18114c..eb3f005 100644
--- a/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/184d5a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_184d5a() {
   vec4 res = vec4(4.0f);
diff --git a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
index a7ecd7b..24dcb1c 100644
--- a/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/1c7897.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
index 0adc7c0..bdd341e 100644
--- a/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/52c84d.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
index 0d7b0a4..c8b5f66 100644
--- a/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/773a8f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_773a8f() {
   float res = 4.0f;
diff --git a/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
index 14cbb3b..28de45e 100644
--- a/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/8fdca3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_8fdca3() {
   vec2 res = vec2(4.0f);
diff --git a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
index 7605eef..ea6fa56 100644
--- a/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/9078ef.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
index 78f0c61..e690924 100644
--- a/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/9edc38.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
index dd390a7..a873d34 100644
--- a/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/a1673d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_a1673d() {
   vec3 res = vec3(4.0f);
diff --git a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
index dbe38b1..96b5665 100644
--- a/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/d87e84.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
index ce4804f..4d02871 100644
--- a/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/e1bba2.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
index eaf5fba..05d0fcc 100644
--- a/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/round/f665b5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
index 7a967b5..e54bdf2 100644
--- a/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/270da5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
index 2ee9efb..135c7e1 100644
--- a/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/462535.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
index e6bfa97..b07accd 100644
--- a/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/4ed8d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_4ed8d7() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
index f8d3783..a42d375 100644
--- a/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/51567f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
index f3230d4..119074c 100644
--- a/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/6bcddf.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
index e660571..9c31896 100644
--- a/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/78b37c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_78b37c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
index 6b4c44c..77cb742 100644
--- a/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/a5b571.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
index d89b135..a1a5585 100644
--- a/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/cd2028.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
index 499d488..67a2fe2 100644
--- a/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/d55822.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_d55822() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
index e71a638..796082b 100644
--- a/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/dcde71.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
index 950837f..9ab26d2 100644
--- a/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/e40fb6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_e40fb6() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
index 4fdaa81..2575e78 100644
--- a/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/saturate/e8df56.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
index 6d58188..9bf615e 100644
--- a/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/00b848.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
index b71f1bc..0b901db 100644
--- a/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/01e2cd.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
index e1abe08..1b7bd09 100644
--- a/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/087ea4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
index 98a7e95..f899907 100644
--- a/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/089657.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_089657() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
index 02618cb..14081ad 100644
--- a/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/10e73b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
index 0bf0b8c..70eb608 100644
--- a/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/17441a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_17441a() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
index ff9cfb7..20e75c1 100644
--- a/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1ada2a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
index 93f6c4f..eed4b29 100644
--- a/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1e960b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
index 930bc64..9b56845 100644
--- a/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/1f4d93.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_1f4d93() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
index 85ae182..a8294a6 100644
--- a/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/266aff.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
index 0c55d3c..521a96d 100644
--- a/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/28a27e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
index 4757c32..062e305 100644
--- a/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/2c96d4.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_2c96d4() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
index f7f5033..3eca898 100644
--- a/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/3a14be.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_3a14be() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
index a89ff99..a2b9156 100644
--- a/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/3c25ce.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
index 7f456c0..3dab29f 100644
--- a/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/416e14.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
index 5c2a42c..4674018 100644
--- a/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/431dfb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_431dfb() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
index 502a2e4..f03504c 100644
--- a/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/43741e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_43741e() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
index 616fcc2..44165b4 100644
--- a/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/494051.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_494051() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
index f2e5a9a..76a0018 100644
--- a/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/4c4738.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_4c4738() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
index e457b9d..12dca6d4 100644
--- a/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/4e60da.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_4e60da() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
index f3e014b..6c11622 100644
--- a/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/51b047.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
index be4612e..1bb8aee 100644
--- a/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/53d518.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
index f1de136..f3abf3f 100644
--- a/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/713567.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
index 473da2a..7cf653c 100644
--- a/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/78be5f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
index fe83c2e..27c79fa 100644
--- a/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/80a9a9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
index 7635389..6528e7a 100644
--- a/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/830dd9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
index 5d4ef53..904e5c6 100644
--- a/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/86f9bd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
index 20d96ad..a299fe3 100644
--- a/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/8fa62c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
index 30ecdf1..d308e81 100644
--- a/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/99f883.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
index 35d7abb..50cdc59 100644
--- a/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/9b478d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_9b478d() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
index 5f4dd1b..88e6ee4 100644
--- a/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/a081f1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
index 59cce3e..d569c34 100644
--- a/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/a2860e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
index 7d92b7e..2812ecc 100644
--- a/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ab069f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
index 0ac4029..347ed91 100644
--- a/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/b04721.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
index a3a1139..6b8a5d9 100644
--- a/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/b93806.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_b93806() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
index 3724160..3ec6590 100644
--- a/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bb447f.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
index e4eca6f..a319233 100644
--- a/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bb8aae.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
index 74236f4..c5e635d 100644
--- a/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/bf3d29.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
index 1c0d555..9a05ef0 100644
--- a/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c31f9e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
index 51f3381..b6d0809 100644
--- a/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c41bd1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
index 2e96996..d6a8af1 100644
--- a/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/c4a4ef.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
index 815a6ce..b9fceb6 100644
--- a/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/cb9301.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
index d2aea07..3773936 100644
--- a/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/dfab3b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_dfab3b() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
index e82544c..d54d5e8 100644
--- a/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/e381c3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_e381c3() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
index 1e8bbc9..c283faf 100644
--- a/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/e3e028.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
index 11ab7bd..c57028a 100644
--- a/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ebfea2.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
index b256cb3..bb878e0 100644
--- a/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ed7c13.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
index 12b13d3..8a5c08e 100644
--- a/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/ed8a15.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
index a9d9b44..2d2f5af 100644
--- a/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/select/fb7e53.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
index 1bdb757..add493c 100644
--- a/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/0799fd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_0799fd() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
index 055b8f6..2da4d216 100644
--- a/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/159665.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
index bef419f..a70b7a2 100644
--- a/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/160933.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
index 2bb9ab4..2e89b4e 100644
--- a/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3233fa.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
index f1d1223..6cee32c 100644
--- a/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3a39ac.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_3a39ac() {
   int res = 1;
diff --git a/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
index 855bd83..4065f07 100644
--- a/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/3bdab6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_3bdab6() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
index f8d6b4d..ed48e4d 100644
--- a/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/55339e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_55339e() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
index 9c6dad0..f37e9b8 100644
--- a/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/58d779.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
index ccf89dc..bef847d 100644
--- a/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/5d283a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
index 7e72af4..3d8e4cb 100644
--- a/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/7c85ea.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
index d4e1fc8..d973f2e 100644
--- a/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/926015.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
index 97ba362..2b39410 100644
--- a/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/943b2e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_943b2e() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
index 30a9a4d..79ae65a 100644
--- a/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/9603b1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
index 77165ed..b0e503c 100644
--- a/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/ab6301.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_ab6301() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
index 27299a7..f657904 100644
--- a/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/b8f634.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
index f30b888..f560e47 100644
--- a/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/c8289c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_c8289c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
index 6d07cb8..ed1cc89 100644
--- a/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/ccdb3c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
index 813bad7..81e9d40 100644
--- a/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/d065d8.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
index 2e924df..ed22a96 100644
--- a/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/dd790e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
index 9baba40..542a41d 100644
--- a/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sign/f5da6a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_f5da6a() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
index a184d89..4eeddbc 100644
--- a/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/01f241.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
index 0010c80..e7a0288 100644
--- a/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/15b2c6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_15b2c6() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
index a58a332..57aebb1 100644
--- a/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/2c903b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
index 4b690c5..197b987 100644
--- a/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/3cca11.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
index f61132c..a883f8b 100644
--- a/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/4e3979.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
index b5d0b66..ed740c3 100644
--- a/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/5c0712.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
index 04cd7d5..bdffa77 100644
--- a/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/66a59f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
index efc102b..f726a76 100644
--- a/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/67b03c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_67b03c() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
index 497f2b9..4d142a8 100644
--- a/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/68d3ab.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_68d3ab() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
index 1a38190..06058a2 100644
--- a/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/a9ab19.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_a9ab19() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
index 5e8710e..89e577f 100644
--- a/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/b78c91.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
index 07234ec..0bd900e 100644
--- a/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sin/fc8bc4.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
index d38af76..adbd291 100644
--- a/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/0908c1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
index 4af4e37..24381ca 100644
--- a/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/445e33.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
index 753bb5d..36fb5f0 100644
--- a/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/69cce2.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
index da0114b..129860f 100644
--- a/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/77a2a3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_77a2a3() {
   vec3 res = vec3(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
index d65d8e1..9e1b29b 100644
--- a/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/7bb598.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
index dbd51f8..e7fd85c 100644
--- a/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/924f19.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
index 725e252..60f8f24 100644
--- a/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/9c1092.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_9c1092() {
   vec2 res = vec2(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
index 1a25c28..a383407 100644
--- a/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/a3da7c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_a3da7c() {
   vec4 res = vec4(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
index 1219146..1a4e18d 100644
--- a/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/b9860e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
index 72f04db..f3347a1 100644
--- a/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/ba7e25.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
index bfe94eae..29dd8c5 100644
--- a/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/c4df74.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_c4df74() {
   float res = 1.17520117759704589844f;
diff --git a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
index f6cc268..2b9f3cc 100644
--- a/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sinh/c9a5eb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
index d7f4fe4..50e2130 100644
--- a/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/0c481b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_0c481b() {
   vec2 res = vec2(0.5f);
diff --git a/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
index 12359d8..16eb482 100644
--- a/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/0c4ffc.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_0c4ffc() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
index a371f65..d2a6aec 100644
--- a/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/12c031.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
index 3c90ce9..185595b 100644
--- a/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/392c19.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
index d61a842..3b13185 100644
--- a/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/40864c.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
index 46eeccb..088b757 100644
--- a/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/586e12.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
index 562fefa..b31b8c0 100644
--- a/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/66e4bd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_66e4bd() {
   vec3 res = vec3(0.5f);
diff --git a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
index f2495b7..730cf8f 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6c4975.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
index a56da11..d2e2e87 100644
--- a/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/6e7a74.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
index f046ecc..2860df5 100644
--- a/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/a80fff.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_a80fff() {
   float res = 0.5f;
diff --git a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
index 6f365fc..d14aa2d 100644
--- a/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/aad1db.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
index 53a9f21..e63fdad 100644
--- a/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/smoothstep/c43ebd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
index 910819a..c6c1725 100644
--- a/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/072192.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_072192() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
index 9c2bd9f..e752e94 100644
--- a/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/20c74e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
index ee4417e..a310b89 100644
--- a/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/4ac2c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_4ac2c5() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
index e2196c0..e8e0162 100644
--- a/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/803d1c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
index e41ecff..2620d26 100644
--- a/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/895a0c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
index 2c5a45e..71fefe3 100644
--- a/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/8c7024.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
index feec5e8..2f0921e 100644
--- a/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/8da177.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_8da177() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
index c6f1427..63e151f 100644
--- a/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/9c5cbe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_9c5cbe() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
index 10fe5e3..eb1cda7 100644
--- a/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/aa0d7a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
index eff1b74..42ea817 100644
--- a/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/d9ab4d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
index 7f33e73..4711be5 100644
--- a/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/ec33e9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
index 5e8b27a..816955f 100644
--- a/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/sqrt/f8c59a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
index 516e8b4..7635e28 100644
--- a/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/07cb06.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
index eba7706..4060358 100644
--- a/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/0b073b.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
index 11a3c7a..5913e66 100644
--- a/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/19accd.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
index 130fcbf..a28efab 100644
--- a/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/334303.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
index bfcf13a..633f4af 100644
--- a/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/38cd79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_38cd79() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
index d276f82..5e1d9c7 100644
--- a/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/415879.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_415879() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
index 9694197..5604a39 100644
--- a/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/630d07.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
index 2d91ea8..df72bcc 100644
--- a/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/7c7e5c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_7c7e5c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
index 39c747b..5268390 100644
--- a/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/baa320.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
index f54dbbc..7f658eb 100644
--- a/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/cc6b61.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
index 28b55f7..888fb55 100644
--- a/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/e2b337.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
index 5a98ba9..75b938d 100644
--- a/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/step/f9b70c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_f9b70c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
index 9ad3e37..7daced3 100644
--- a/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/244e2a.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
index ec25ac7..e70a04a 100644
--- a/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/2f030e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
index fb990ea..51e0c50 100644
--- a/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/311400.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_311400() {
   float res = 1.55740773677825927734f;
diff --git a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
index 4342e50..aab1ae6 100644
--- a/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/539e54.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
index 1ac28bd..b6158b1 100644
--- a/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/7be368.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_7be368() {
   vec2 res = vec2(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
index 44c145d..e85726c 100644
--- a/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/7ea104.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
index 262f03a..012468b 100644
--- a/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/8ce3e9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
index 40f9545..0b81dea 100644
--- a/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/9f7c9c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
index 5803b3a..1d82baf 100644
--- a/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/a0966f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_a0966f() {
   vec4 res = vec4(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
index b920c44..64510ff 100644
--- a/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/ae26ae.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_ae26ae() {
   vec3 res = vec3(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
index 59446f0..6d01b9d 100644
--- a/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/d4d491.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
index 004d93f..3200206 100644
--- a/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tan/db0456.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
index 0fba5f3..7740d1b 100644
--- a/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/06a4fe.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
index 74033cd..c093c29 100644
--- a/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/313aa1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_313aa1() {
   float res = 0.76159417629241943359f;
diff --git a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
index 06285f7..358bbb4 100644
--- a/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5663c5.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
index 2afea7d..4180f10 100644
--- a/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5724b3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
index 79da781..b615ad3 100644
--- a/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/5b19af.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
index de224d7..d2482cc 100644
--- a/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/6289fd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_6289fd() {
   vec3 res = vec3(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
index 9a412f2..c7a4cab 100644
--- a/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/6d105a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
index 4e2aa5b..aece99f 100644
--- a/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/9f9fb9.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
index 9687133..8f4f83b 100644
--- a/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/ac5d33.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_ac5d33() {
   vec4 res = vec4(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
index bc26059..d913b90 100644
--- a/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/c15fdb.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
index 767b82c..c13506f 100644
--- a/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/c48aa6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_c48aa6() {
   vec2 res = vec2(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
index 5fe6d33..3de64aa 100644
--- a/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/tanh/e8efb3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
index 7860031..a489c14 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/00348c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
index 77ee3ef..da07437 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/022903.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
index 20c7bb2..cf28250 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0890c6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.glsl
index 824dfcf..7d5fc75 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/09140b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.glsl
index 2586d8f..a6c70ec 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0baa0d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.glsl
index 5dc6e8a..024faed 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0c0b0c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
index 7f291bc5..a6c33d7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/13f8db.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.glsl
index 7b85b79..3cb574e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1417dd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.glsl
index fbaf29e..d5af62b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/15aa17.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
index b0b845e..86a9b27 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/15b577.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
index 62f0f66..f8efd85 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1a2be7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
index c414ba8..3f74360 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bc428.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
index ad41e34..272dd5b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1bd78c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.glsl
index ba31e75..1a7d4f2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/224113.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
index ffc3690..76f4156 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/24db07.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
index d1c34e3..72f5cd7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/26d6bf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
index 1ae32a1..8bffe9b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2e443d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
index ffee698..cbed794 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2fd2a4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.glsl
index 5a96619..22755fb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/31799c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.glsl
index dbbeaee..eb6212e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/35a7e5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.glsl
index 443adeb..84d8d85 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/378a65.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
index 3f0107c..f1df147 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/382b16.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.glsl
index 2ee9f6d..01c6da4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3a5bb1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.glsl
index 6137b7c..84a983b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3a7b69.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.glsl
index c77a899..19baa20 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3af3e7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
index c7c38ee..4fbcaa9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3b38f6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.glsl
index d2c7609..19a7d18 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3baab5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
index 3fdde2d..6ddadf7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3f3474.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
index 6494939..320f747 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3fc3dc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.glsl
index 388ebf9..ba553ad 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/40c671.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.glsl
index 6317e7f..0303a2b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/40ecf4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.glsl
index 4eb7836..5e55fca 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/41545f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
index 3b24b6b..7937721 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/445376.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.glsl
index 868adcb..0e68b5b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/44b358.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.glsl
index 4c6f856..5927223 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/452fc1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
index fd530f5..5ed91b7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/46f0fc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
index 481072d..f52891c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/49a067.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.glsl
index b7b0de1..42c0aa4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4b26ef.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
index 48ba467a..e969688 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4be71b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
index 4fffbbc..cf71cd6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/528c0e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.glsl
index 18d8f1b..b7204fd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/58a82d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.glsl
index d9c6003..616acb1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/591981.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.glsl
index 7f5fe21..7b5d754 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/599ab5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.glsl
index bc304ff..adb8164 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5b4b10.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
index 53d46d7..b8b7619 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5df042.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.glsl
index 01d6c50..22a0c4a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/607979.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
index 384f794..15da757 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/62cb5a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
index cbd6bae..bdfdf95 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/64dc74.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.glsl
index b48d280..5a8866d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/674058.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
index 66bc26a..b4bf9a8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6e6c7a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
index 2d58cdc..eece38f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/6f1b5d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.glsl
index 0f21a9a..18efe9b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7228de.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
index 43cb364..95de26d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/756031.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.glsl
index 17f9f2f..c50ac10 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/756304.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
index 7dcdfd9..47135ee 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/79d168.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
index 13a7636..9df52ef 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a3890.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
index f972f63..9f40f67 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7a9e30.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.glsl
index d3889a9..06fb23c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/84f363.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.glsl
index dbeb579..87866be 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/867ead.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.glsl
index 2749b281..a56171b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8efd47.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.glsl
index dd46ad6..1722153 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/902179.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.glsl
index 0411303..80cbfb9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/90dd74.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
index 2682b7e..b33423e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/920006.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.glsl
index a5fefdc..9d6d281 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/92552e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
index 4d0484e..504156e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/965645.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
index 41641c4..7c505ec 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/991ea9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
index 1bc995d..2833740 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9b223b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
index 0b38985..1cd2faf 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9baf27.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
index ddd34e1..8f3d37b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9c7a00.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
index 1c7252f..dc29380 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9cd4ca.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
index abdf55b..a50a77c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9e0794.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
index ad10ea5..67f88a5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a2ba5e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
index 905d28d..9c9e8d7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a48049.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
index b94c4df..0b0bd81 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a4cd56.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.glsl
index 9476a5e..b3c051d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/aa4353.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
index f41247b..dca2a62 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/aac604.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.glsl
index 069e1c5..a2ddf21 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ad7d3b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
index 253cfd8..e8d4436 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b46d97.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
index e826968..850a187 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bb95d9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.glsl
index 2316be5..72c08ac 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bbe285.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.glsl
index 4acf890..71bc213 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c1dbf6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
index 3e656b4..0835ebc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c2cdd3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.glsl
index b578f04..e335d31 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c44fc1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
index f35d537..0050738 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c5a36e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
index 8cc9c5e..2340095 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c871f3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.glsl
index 6963154..926c382 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cad3b7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.glsl
index f3b5c23..9f2845e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cc947b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
index b86cb50..76639c5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/cdc6c9.wgsl.expected.glsl
@@ -69,7 +69,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct GammaTransferParams {
   float G;
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.glsl
index a876ea7..06a5867 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d08a94.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.glsl
index 37a302d..ee85c68 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d1b882.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
index 75976dd..8f8f4aa 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d3accd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.glsl
index bbd174e..91da2e3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d63c28.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.glsl
index d9d5a8f..63abdf2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d8ba68.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.glsl
index 5c3606f..0681ec9 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/d8f887.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.glsl
index 6585696..18ee778 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/da30d2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.glsl
index dd892e1..fbf5bb4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dc83ce.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.glsl
index 1ffc53c..7887fe8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dee461.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
index 4df686d..9cf5f40 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/dfdc32.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.glsl
index 38d1b36..ae62815 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e122fe.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
index 522965a..c2adeb0 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e18a8b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
index 5bfee51..02ba803 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4bfd2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
index 6d20b28..ad9449a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4e310.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
index 5961333..824ae12 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e5a203.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.glsl
index a9726ab..adf7549 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e99308.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.glsl
index 5547462..89b1b27 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ea066c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
index b9b0a35..e896728 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eafe19.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.glsl
index b26825c..3594b7d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb03b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.glsl
index 1ff0462..d56d2da 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ef2e58.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
index 1297637..b1ed5ef 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f17acd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.glsl
index 1b19e45..77e0d2e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f3a2ac.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.glsl
index 6b6261f..347f90d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f4e469.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
index c4ade33..2967711 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f626b3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
index a5532bc..f7631a1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f8522e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.glsl
index 611c55a..d4d3886 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fbb15a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
index 7411a2e..e9e4e97 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureDimensions/fdf6e9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
index b58e73c..69ce878 100644
--- a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
index a01cc37..7f87dbb 100644
--- a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
index e263e66..eca99de 100644
--- a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
index 5e50ac6..75195fd 100644
--- a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
index 2bfa786b..2e4573f 100644
--- a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
index fa11e5b..12d7d9f 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
index a220e14f..786e18b 100644
--- a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
index 898c7c0..c998ed3 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
index e0c4586..e6a393f 100644
--- a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
index 085823c..179c870 100644
--- a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
index 13cab31..ac0613c 100644
--- a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
index 1e9a73c..c04ed97 100644
--- a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
index 07838e2..b261a54 100644
--- a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
index aea29f5..4cee982 100644
--- a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
index 938b371..2be1edd 100644
--- a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
index 136e647..cee995d 100644
--- a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
index 4734bf0..b1a14de 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
index 15923e5..a7d7cd8 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
index f61d83a..f83c86d 100644
--- a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
index e0e074d..23edaf0 100644
--- a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
index 15cdfa2..bc7aa4d 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
index 5efbb38..ae38ce8 100644
--- a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
index c5d9cd3..69d5bc8 100644
--- a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
index dd81216..e8eb7ca 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
index 3df6710..5a867e7 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
index fe245b9..32fa430 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
index 68c555e..af8e977 100644
--- a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
index 3e942c2..63c685f 100644
--- a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
index 9c55f1d..0c736e1 100644
--- a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
index c9134e5..2594100 100644
--- a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
index f1dda73..ca2790c 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
index e4e4aa1..c94ceb5 100644
--- a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
index ab1b40b..865ec44 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
index 32ce804..d495910 100644
--- a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
index dda61bb..fcbc235 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
index a320e6b..8befbab 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
index 5eb84a5..7eb6437 100644
--- a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
index 2c3315b..e900092 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
index d77443f..5246178 100644
--- a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
index 74dfcd6..30c6107 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
index b5d3f6a..984661e 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
index 124f3da..4f2d9c9 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
index f3648ad..139b867 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
index 44b345a..46d434e 100644
--- a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
index aba1326..207cc53 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
index 538ac28..e627e47 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
index 07df1a2..5e23b34 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
index 7268253..a74022c 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
index 6e42449..a02c274 100644
--- a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
index 39e8e9f..bd36e95 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/144a9a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
index 6dcc848..6c65b56 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/182fd4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
index 9dcc8fc..73a7f27 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/313add.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
index d430d69..5e9220c 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/6d9352.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
index dcf0d62..27f7591 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/783e65.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
index 343dccb..fb0d103 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/b5bc43.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
index e33bef2..f7a967d 100644
--- a/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureGatherCompare/f585cc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
index 45f44f9..de3c022 100644
--- a/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/019da0.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
index 388725a..a6b1c62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/026217.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
index 1ad880c..dfe9113 100644
--- a/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/04b911.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
index f26f312..ac65e4c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/0cb698.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
index 0fe6d93..ad7370d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1373dc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
index 16e6215..ba4d8a9 100644
--- a/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/168dc8.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
index ecdf575..4cbade4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/19cf87.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
index 033e345..651e41c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b051f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
index 2d9c055..cc8284e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1b8588.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
index 273445c..2fd2ef4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.glsl
@@ -102,7 +102,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
index 7e6a2dd..2534d24 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1c562a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
index 900ef2c..b8104d2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/1f2016.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
index 59445f7..400160f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/216c37.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
index da38bb4..660e2b2 100644
--- a/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/21d1c4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
index 1bea6e5..b2fafb4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/223246.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
index 38ab811..972bc85 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2363be.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
index 862b32c..9b8f3a3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2d479c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
index 44efb98..39d8e17 100644
--- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
index e6bf029..aae749d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
index aac5b35..72a9692 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3c96e8.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
index 2160e9a..1ca79fc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3d3fd1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
index 042fcae..5cd9c36 100644
--- a/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/3da3ed.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
index 0011cbb..3a018ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/439e2a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
index 691431e..d8685cc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/46a93f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
index ee52c46..a127bb5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/47e818.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
index f8fd177..8f975b6 100644
--- a/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/484344.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
index cc95cba..5b6455d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
index a6ba478..ed43da3 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4acb64.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
index 88a9cd4..5b99b05 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4c423f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
index 10aa3e4..1322dcd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
index d6c691b..a9762ff 100644
--- a/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/4fd803.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
index 5689678..1ec3705 100644
--- a/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/53e142.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
index fc3a1e8..37cf423 100644
--- a/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/54a59b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
index 6486983..3a6c84b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/5a2f9d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
index 9d30a03..c5c0165 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6154d4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
index 29b2ab6..0afb7ca 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
index 9b76f58..0841ba7 100644
--- a/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/62d1de.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
index 8f6b661..855df4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
index 8bf0b27..a03d944 100644
--- a/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/656d76.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
index 3889522..4d8196c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/66be47.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
index 41563c5..374bc36 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
index 46e425a..a8f1991 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6b77d4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
index 133b9d3..17b3b83 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf4b7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
index b0d1d9c..1014ee1 100644
--- a/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/6d376a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
index 2038ec9..2b49e74 100644
--- a/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/714471.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
index cf52a8f..266d724 100644
--- a/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/789045.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
index 3691302..33c08c8 100644
--- a/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/79e697.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
index 4123f4f..7b3dade 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7ab4df.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
index 956dbc3..25c218e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7b63e0.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
index ebab6eb..e691682 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
index fd86207..91b3234 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7c90e5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
index 94a6d80..e67d6bb 100644
--- a/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/7fd822.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
index 9fa911d..90fcd11 100644
--- a/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/81c381.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
index 34292d5..cff5f07 100644
--- a/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/84dee1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
index fc46b49..d694e13 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8527b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
index 5da6f7e..bc90b9b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/87be85.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
index da4fe59..81601f4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/897cf3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
index 5760501..1523959 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.glsl
@@ -102,7 +102,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
index 616f6d9..25f6393 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/8ccbe3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
index f8160a9..ac9eb62 100644
--- a/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/92eb1f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
index 80a6e20..be4e94c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/96efd5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
index d03c88f..6bfb67b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9885b0.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
index ced2c42..e28a22c 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9aa733.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
index 23a020a..692f5da 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9b2667.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
index 6f76ed1..7ae6089 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9d70e9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
index df593ee..dd55a6b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9ed19e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
index 1be8fa7..338122e 100644
--- a/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/9fbfd9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
index b00166a..8b6a410 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a24be1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
index 9d50ac3..09e1eaf 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
index f7bcb7b..77429ac 100644
--- a/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/a9a9f5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
index ca9896b..616602f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b29f71.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
index fd6d569d..e0bd4bc 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b6ba5d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
index 211dcd2..a6b41bd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b73f6b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
index 1f4ad5d..1e8ae9d 100644
--- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
index 015ff21..149ea81 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bc3201.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
index daf5eca..6fe47ef 100644
--- a/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/bcbb3c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
index 2a36aa2..1ddf9be 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c16e00.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
index 806d55b..c962a04 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c2a480.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
index 42be2dbd..ef3d890 100644
--- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
index c9b175e..0aca236 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
index d831606..f45583a 100644
--- a/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/cb57c2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
index a0f91f3..a3d5f01 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e35f72.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
index 75aee64..bd2e4ed 100644
--- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
index 7d95906..1a2beb4 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ebfb92.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
index 09f8ad4..c1d4a94 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
index 55aa76a..96aff3b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f348d9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
index f955722..2fdd423 100644
--- a/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/f85291.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
index 3d58724..de31eec 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
index 7a2fdbe..eedeccd 100644
--- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
index 4facd90..2b51f4b 100644
--- a/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureLoad/ff1119.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.glsl
index 001d1ff..4e63c55 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/014a3b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
index e67a1c0..1dce1fd 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/0ec222.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.glsl
index 690008d..ee0c592 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/1f858a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.glsl
index 0ef28f0..5781ff4 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/3465ec.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.glsl
index 1d5c395..3bba5f5 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/4c4333.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.glsl
index af22f02..9a5fa9c 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/59eb57.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.glsl
index b661842..e106412 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/61bd23.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
index f5f87b3..2377b29 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/77be7b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.glsl
index f2f8fe7..52740fa 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/878dea.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.glsl
index a635720..b044f84 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/87faad.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
index 8b87e5c..687d8c6 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8ac32a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.glsl
index 3c84a10..9b4a103 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8bd987.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.glsl
index c00260a..414bf19 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/8dbf23.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.glsl
index 95cdd1f..b61d5b0 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/9695c6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.glsl
index 0b00cc7..14e935a 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/98a9cf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
index 4705af1..fa565fb 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/a9d3f5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.glsl
index e54aa63..bcf5c8e 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/d75a0b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.glsl
index 6f34c77..3c3c67f 100644
--- a/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLayers/de8087.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.glsl
index b5e60ce..edce0f1 100644
--- a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.glsl
index 28a5429..2460a7b 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.glsl
index b1938cd..8bae5db 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.glsl
index b4aa95d..ed567bb 100644
--- a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.glsl
index 0fecc76..3906bb3 100644
--- a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.glsl
index 02abe9c..eb3ea9f 100644
--- a/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.glsl
index 81bebca..5fdb53e 100644
--- a/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.glsl
index 12da042..1d0509d 100644
--- a/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.glsl
index 12207a6..32dc45d 100644
--- a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.glsl
index 4fcca05..3be0736 100644
--- a/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.glsl
index 9d8a2f7..8bd1c5f 100644
--- a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.glsl
index d000575..3b93d75 100644
--- a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.glsl
index 685201c..c4ecdb4 100644
--- a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.glsl
index d83990f..38612af 100644
--- a/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.glsl
index 90e4b4b..ab6060d 100644
--- a/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
index b348446..3fd7f14 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
@@ -111,7 +111,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
index d8e7782..60048f0 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 
 vec4 tint_textureSampleBaseClampToEdge(highp sampler2D t_1, highp sampler2D t_s, vec2 coord) {
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.glsl
index e8e0a2c..014ab42 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/1c707e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.glsl
index 4522baa..54ff598 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/53b9f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.glsl
index 5329946..b369be5 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/594824.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.glsl
index 84f0785..ecc0c2a 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/6a9113.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.glsl
index eb4e969..203996e 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/80e579.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.glsl
index 29e0562..0813b8e 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/87915c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.glsl
index c6f4f0f..1955112 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/9dbb51.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.glsl
index 7051751..b621fde 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/a161cf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.glsl
index 122ade3..38394f9 100644
--- a/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleBias/d3fa1b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.glsl
index 6376337..8f6e5b6 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/3a5923.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.glsl
index 92c0b71..2f53d97 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/63fb83.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.glsl
index ba390d1..8ad5552 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/90ae56.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.glsl
index f73f5e5..e1f56f3 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dd431d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.glsl
index 33a580a..155c79a 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompare/dec064.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
index 6044632..9c1875d 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
index 6eed60f..610868b 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
index 250737c..8955c4e 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
index a9bf133..cc6d6e9 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
index e586842..4cb25ea 100644
--- a/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
index ed8048b..4530a95 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/21402b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
index be8a782..6bfd50c 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/2ecd8f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
index 0907653..0405683 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/521263.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
index 7b0c55a..609c696 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5312f4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
index 8d14fb3..aff030e 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/5884dd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
index a7aea2a..5c88024 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/7cd6de.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
index a74d222..ddee93f 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/a09131.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
index 6852e79..2027dce 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d4e3c5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
index 7ecdb27..8881f70 100644
--- a/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleGrad/d65515.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
index 99f5205..e38c325 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/02be59.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
index 5a1f05f..0fe7837 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/0b0a1b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
index 50b4c76..828f52b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/265cc7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
index 1ee4465..efb5ded 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/302be4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
index 4a2c3f6..e05840a 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/73e892.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
index eb099ad..33f3bb1 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/749baf.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
index 9d2a56a..677867b 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/abfcc0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
index 2bf8b5f..1323591 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/b7c55c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
index b0438a7..0f5ceee 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c32df7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
index 3ac431e..63db939 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/c6aca6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
index 8f575e4..0022699 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/dcbecb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
index b353b55..c546e90 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/f3b2c8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
index 077c479..8f0828d 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/faa6d7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.glsl
index 5a72fd2..5bb4e33 100644
--- a/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/00ca64.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_00ca64() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.glsl
index 15f4a41..2deba27 100644
--- a/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/0148bd.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_0148bd() {
diff --git a/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.glsl
index 5021ed4..73f2a0e 100644
--- a/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/05ce15.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_05ce15() {
diff --git a/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.glsl
index 5989871..507d2d2 100644
--- a/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/068641.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_068641() {
diff --git a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.glsl
index 5380fea..fb465d62 100644
--- a/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/06e49c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_06e49c() {
diff --git a/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.glsl
index 8196807..26a7526 100644
--- a/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/07548b.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 void textureStore_07548b() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.glsl
index 67dbe37..651bfa6 100644
--- a/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/0a1a79.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_0a1a79() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.glsl
index ac6275c..520dce9 100644
--- a/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/0af6b5.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_0af6b5() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.glsl
index 7ff9d58..5a5787a 100644
--- a/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/0c3dff.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_0c3dff() {
diff --git a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.glsl
index 730ca7d..78d4028 100644
--- a/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/0cc825.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_0cc825() {
diff --git a/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.glsl
index 91d49dd..8fa16bf 100644
--- a/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/102722.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_102722() {
diff --git a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.glsl
index 7a7040b..89c9226 100644
--- a/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/158cf0.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_158cf0() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.glsl
index 360dde1..94ee52e 100644
--- a/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1839f2.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_1839f2() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.glsl
index 16992aa..7a34d47 100644
--- a/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1a7d35.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1a7d35() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.glsl
index 7d04d1f..8ba14af 100644
--- a/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1bbd08.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_1bbd08() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.glsl
index 28735ea..f27670f 100644
--- a/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1c02e7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1c02e7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.glsl
index b9cc536..524e603 100644
--- a/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1dc954.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_1dc954() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.glsl
index ff9ee4a..9c80702 100644
--- a/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1e20f2.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_1e20f2() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.glsl
index 39a7b31..6373936 100644
--- a/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1efc36.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_1efc36() {
diff --git a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.glsl
index 5ee4edb..bd89258 100644
--- a/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/1f1ef8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1f1ef8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.glsl
index 81a7915..fa75df6 100644
--- a/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/207fdd.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 void textureStore_207fdd() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.glsl
index f05be5e..cac662b 100644
--- a/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/22d955.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_22d955() {
diff --git a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.glsl
index 8443dcb..c960a81 100644
--- a/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/22f045.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_22f045() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.glsl
index 1d4c29a..6052362 100644
--- a/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2383fc.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_2383fc() {
diff --git a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.glsl
index 84b9c35..de4ff35 100644
--- a/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/258ab0.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_258ab0() {
diff --git a/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.glsl
index 5da5639..699541d 100644
--- a/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/26bf70.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_26bf70() {
diff --git a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.glsl
index 8e6d5af..0cc1b7c 100644
--- a/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/27063a.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_27063a() {
diff --git a/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.glsl
index 6986f27..5bb47af 100644
--- a/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/285218.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_285218() {
diff --git a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.glsl
index cd0e4c2..893cf9f 100644
--- a/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/28a7ec.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_28a7ec() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.glsl
index 292852b..e112cde 100644
--- a/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2ac6c7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_2ac6c7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.glsl
index 8362a03..2b8b88e 100644
--- a/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2e4245.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_2e4245() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.glsl
index 1b49822..e128029 100644
--- a/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2e6102.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_2e6102() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.glsl
index d887e41..ef467d9 100644
--- a/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2eb2a4.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_2eb2a4() {
diff --git a/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.glsl
index f5d59daf..f10f0f4 100644
--- a/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/2ed2a3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_2ed2a3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.glsl
index 894ec52..66986d5 100644
--- a/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/30b0b0.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_30b0b0() {
diff --git a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.glsl
index a013f36..31b67f9 100644
--- a/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/319029.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_319029() {
diff --git a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.glsl
index 5c4305d..6dc25b9 100644
--- a/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/32f368.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_32f368() {
diff --git a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.glsl
index 2fc62dc..ca73a0d 100644
--- a/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/330b7c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_330b7c() {
diff --git a/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.glsl
index 0abfb90..edb17a5 100644
--- a/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/331aee.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 void textureStore_331aee() {
diff --git a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.glsl
index 82aa4fd..c09b652 100644
--- a/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/33cec0.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_33cec0() {
diff --git a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.glsl
index f503dba..a5d1401 100644
--- a/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/37ffd4.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_37ffd4() {
diff --git a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.glsl
index bc05eea..2dbb00d 100644
--- a/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/38e8d7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_38e8d7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.glsl
index 3ff7e90..ab39992 100644
--- a/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/3a52ac.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_3a52ac() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.glsl
index e903047..310cdfb 100644
--- a/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/3bb7a1.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_3bb7a1() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.glsl
index 48ba6b4..41215a4 100644
--- a/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/3bec15.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_3bec15() {
diff --git a/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.glsl
index c4d67d0..8a8f675 100644
--- a/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/3c1937.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_3c1937() {
diff --git a/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.glsl
index 91e06cc..5c1e7cc 100644
--- a/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/40c455.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_40c455() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.glsl
index dcc4af3..b938201 100644
--- a/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/4288fc.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 void textureStore_4288fc() {
diff --git a/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.glsl
index 6c29a7e..b8db369 100644
--- a/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/441ba8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_441ba8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.glsl
index b3d2ffd..6e9ad99 100644
--- a/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/44daa7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_44daa7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.glsl
index 071e1b7..96923ef 100644
--- a/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/486500.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_486500() {
diff --git a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.glsl
index 7e577e5..097f4c2 100644
--- a/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/4fc057.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_4fc057() {
diff --git a/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.glsl
index 53ede68..3a10007 100644
--- a/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/52f503.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_52f503() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.glsl
index 3bbe9a3..7c241a9 100644
--- a/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/5841f8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_5841f8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.glsl
index a6864fd..84145fa 100644
--- a/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/59a0ab.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_59a0ab() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.glsl
index f0e7f4e..7cd7a98 100644
--- a/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/5a2f8f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_5a2f8f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.glsl
index 46377e4..74f816a 100644
--- a/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/5ddc61.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_5ddc61() {
diff --git a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.glsl
index 91a0642..fb24f4e 100644
--- a/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/5f9a49.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_5f9a49() {
diff --git a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.glsl
index 9d806ca..485ebee 100644
--- a/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/60975f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_60975f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.glsl
index 30ce8f9..02c14e1 100644
--- a/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/699a1b.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_699a1b() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.glsl
index e244a82..eef64e97 100644
--- a/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/6b75c3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_6b75c3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.glsl
index 57a5b90..f49a676 100644
--- a/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/6b80d2.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_6b80d2() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.glsl
index 7f42837..84022cb 100644
--- a/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/6cff2e.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_6cff2e() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.glsl
index 9b05317..21ba535 100644
--- a/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/6da692.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_6da692() {
diff --git a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.glsl
index e171c61..b474b92 100644
--- a/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/6f8642.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_6f8642() {
diff --git a/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.glsl
index dbcd2e8..1b34d7a 100644
--- a/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/731349.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_731349() {
diff --git a/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.glsl
index 6f63069..e984780 100644
--- a/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/73bbbc.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_73bbbc() {
diff --git a/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.glsl
index 04635eb..8d9eabc 100644
--- a/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/752da6.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_752da6() {
diff --git a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.glsl
index ed09818..e288854 100644
--- a/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/76affd.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_76affd() {
diff --git a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.glsl
index 2f3f36f..760cfcc 100644
--- a/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/779d14.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_779d14() {
diff --git a/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.glsl
index 087a5ea..e439f79 100644
--- a/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/77c0ae.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_77c0ae() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.glsl
index 3846e41..3c653f4 100644
--- a/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/7cec8d.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_7cec8d() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.glsl
index 25d6a3c..f265f7c 100644
--- a/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/7cf6e7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_7cf6e7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.glsl
index 0bd19b3..3213073 100644
--- a/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/7f7fae.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_7f7fae() {
diff --git a/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.glsl
index 6588904..36d0c79 100644
--- a/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/804942.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_804942() {
diff --git a/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.glsl
index 3a71c44..69bfa28 100644
--- a/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/805dae.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_805dae() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.glsl
index 9cb69a4..0700025 100644
--- a/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8b9310.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 void textureStore_8b9310() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.glsl
index 88d82ad..b30c41e 100644
--- a/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8bb287.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_8bb287() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.glsl
index 6f80d0c..645bef9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8c76e9.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_8c76e9() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.glsl
index 9362b4c..fd529e3 100644
--- a/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8dc54f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_8dc54f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.glsl
index 2627dfc..17e96c9 100644
--- a/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8e0479.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_8e0479() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.glsl
index 09b9fde..b9fe10b 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ed9f8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_8ed9f8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.glsl
index 6532b28..8758f07 100644
--- a/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8f71a1.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 void textureStore_8f71a1() {
diff --git a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.glsl
index f4e1a12..53fec1d 100644
--- a/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/8ff674.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_8ff674() {
diff --git a/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.glsl
index 6207b4f..d01c85c 100644
--- a/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/958353.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_958353() {
diff --git a/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.glsl
index c5ee416..62bf4b1 100644
--- a/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/959d94.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_959d94() {
diff --git a/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.glsl
index 989356b..7109681 100644
--- a/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/95e452.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_95e452() {
diff --git a/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.glsl
index abb1fea..e07b57a 100644
--- a/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/969534.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_969534() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.glsl
index 8015329..0118466 100644
--- a/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9938b7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_9938b7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.glsl
index 5439a69..e36254f 100644
--- a/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9a3ecc.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_9a3ecc() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.glsl
index d4decdb..b7d5a77 100644
--- a/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9aedd3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_9aedd3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.glsl
index b57014e..8fffc78 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d8668.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_9d8668() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.glsl
index ee29fa5..1562b56 100644
--- a/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9d9cd5.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_9d9cd5() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.glsl
index b783004..844a0ed 100644
--- a/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9e3ec5.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_9e3ec5() {
diff --git a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.glsl
index 31ef353..574039e 100644
--- a/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/9f7cea.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_9f7cea() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.glsl
index 5b65139..b1ad2e0 100644
--- a/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a0f96e.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_a0f96e() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.glsl
index 501d60e..e404d94 100644
--- a/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a1352c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_a1352c() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.glsl
index 879e186..7d1a1a2 100644
--- a/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a165b8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_a165b8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.glsl
index 6612cbb..fe691fd 100644
--- a/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a4c338.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_a4c338() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.glsl
index 7bacb6e..63ab99e 100644
--- a/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a5e80d.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 void textureStore_a5e80d() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.glsl
index f6bfd77..6097af3 100644
--- a/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a6a986.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_a6a986() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.glsl
index c367db8..bda62bf 100644
--- a/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a6e78f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_a6e78f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.glsl
index 18456eb..bde2a02 100644
--- a/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/a9426c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_a9426c() {
diff --git a/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.glsl
index 41fe949..f4f9c64 100644
--- a/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/aeb38a.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_aeb38a() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.glsl
index d76d7a5..bdb56b2 100644
--- a/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/b42fd3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_b42fd3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.glsl
index 272b927..18313ae 100644
--- a/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/b706b1.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 void textureStore_b706b1() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.glsl
index 202c44f..d1161b6 100644
--- a/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/b70ded.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_b70ded() {
diff --git a/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.glsl
index d3797b4..0e97a72 100644
--- a/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/b76ff3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_b76ff3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.glsl
index b6ba883..3525881 100644
--- a/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/bbcb7f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_bbcb7f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.glsl
index b5fc1e6..58b59d0 100644
--- a/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/be6e30.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_be6e30() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.glsl
index ca2c613..b068386 100644
--- a/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/bedbfc.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_bedbfc() {
diff --git a/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.glsl
index 44ad74e..414d7b3 100644
--- a/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/bf775c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_bf775c() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.glsl
index 8dc8283..e0a7b48 100644
--- a/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/c1f29e.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_c1f29e() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.glsl
index 6be181b..2ddb487 100644
--- a/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/c2ca46.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_c2ca46() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.glsl
index 22d00c6..3a3de12 100644
--- a/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/c32905.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_c32905() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.glsl
index 98e6513..45370e4 100644
--- a/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/c5af1e.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 void textureStore_c5af1e() {
diff --git a/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.glsl
index 9c26224..5c4b380 100644
--- a/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/c9d780.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_c9d780() {
diff --git a/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.glsl
index 295aab0..af55273 100644
--- a/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/cb3b0b.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 void textureStore_cb3b0b() {
diff --git a/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.glsl
index 848590c..1b60ec0 100644
--- a/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/cd6755.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_cd6755() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.glsl
index 6d35f74..bbc325e 100644
--- a/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/d26166.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_d26166() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.glsl
index eeb67a8..1f21943 100644
--- a/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/d2b565.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_d2b565() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.glsl
index fc5f8f7..64192e5 100644
--- a/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/d4aa95.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_d4aa95() {
diff --git a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.glsl
index 9ace954..dd8962d 100644
--- a/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/d55e65.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_d55e65() {
diff --git a/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.glsl
index ce1044e..304bd06 100644
--- a/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/db92a2.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_db92a2() {
diff --git a/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.glsl
index 82932b7..eb4557d 100644
--- a/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/dd7d81.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 void textureStore_dd7d81() {
diff --git a/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.glsl
index b64d972..518d0dd 100644
--- a/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/de4b94.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_de4b94() {
diff --git a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.glsl
index c0a6eb1..277b45d 100644
--- a/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/df2ca4.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_df2ca4() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.glsl
index 58ddd9d..24102bc 100644
--- a/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/e0b666.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_e0b666() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.glsl
index 01c89d3..61d4efd 100644
--- a/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/e38281.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_e38281() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.glsl
index 06daf2b..e48dfe8 100644
--- a/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/e7c6d8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_e7c6d8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.glsl
index 8afd92c..84674fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/e885e8.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_e885e8() {
diff --git a/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.glsl
index 076296d..5f4787e 100644
--- a/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/e8cbf7.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_e8cbf7() {
diff --git a/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.glsl
index 939999e..9ebf807 100644
--- a/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/eb702f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 void textureStore_eb702f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.glsl
index fae6231..0d92de4 100644
--- a/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/eb78b9.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_eb78b9() {
diff --git a/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.glsl
index fddab83..93a05fb 100644
--- a/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/ef9f2f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_ef9f2f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.glsl
index 7c4ec44..1917cdb 100644
--- a/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/f1e6d3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_f1e6d3() {
diff --git a/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.glsl
index ef22abd..692a2b0 100644
--- a/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/f8dead.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_f8dead() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.glsl
index bf5c500..99e64e6 100644
--- a/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/fb9a8f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_fb9a8f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.glsl
index c78030e..4ae068a 100644
--- a/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/fbf53f.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_fbf53f() {
diff --git a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.glsl
index 0ef5171..9bc1ae8 100644
--- a/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureStore/fd350c.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_fd350c() {
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
index 7b06a26..86dd46a 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
index 6d632f3..9ee8dec 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3x4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
index 5948d0b..42fee66 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
index c1dd309..a2c38b7 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2x4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
index 4fdd5cf..38901f5 100644
--- a/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/32dd64.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_32dd64() {
   mat4x3 res = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
index 6c40d55..4be891c 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4x2 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
index 70de138..cd3282e 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3x2 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
index 8c4e25d..bab8788 100644
--- a/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/553e90.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_553e90() {
   mat2x4 res = mat2x4(vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
index 1a04ea6..4f8d251 100644
--- a/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5c133c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_5c133c() {
   mat3x4 res = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
index 2968eda..3c6b00a 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2x4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
index 7bf364b..ff32a5b 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3x4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
index 7abc811..b8580c6 100644
--- a/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/66fce8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_66fce8() {
   mat3 res = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
index 5f8dd67..bf4bad8 100644
--- a/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/70ca11.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_70ca11() {
   mat3x2 res = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
index 76b1843..483de38 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
index 069cce3..352aaa8 100644
--- a/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/7eb2c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_7eb2c5() {
   mat2 res = mat2(vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
index f077991..1deaf5d 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
index 17c5103..077920e 100644
--- a/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/84a763.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_84a763() {
   mat4x2 res = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
index c33db6b..8ed1b52 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
index 8e9363a..e527f10 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.glsl
@@ -32,7 +32,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4x3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
index a3da82b..5789a0e 100644
--- a/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/ace596.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_ace596() {
   mat2x3 res = mat2x3(vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
index e59d4ad..0845181 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2x3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
index 697f42c..7ac0edb 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
index d4dff64..920a5e4 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3x2 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
index afe4b08..8a96b46 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.glsl
@@ -30,7 +30,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4x3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
index 7757e01..9978baf 100644
--- a/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/dc671a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_dc671a() {
   mat4 res = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
index f3e9088..d9e1506 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2x3 inner;
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
index 6725813..2e320b8 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4x2 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
index 3cbb238..11995ff 100644
--- a/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/103ab8.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
index f81df13..38ecb88 100644
--- a/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/117396.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_117396() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
index d14f434..c77d29c 100644
--- a/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/562d05.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
index c25da0b..6bde473 100644
--- a/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/7d6ded.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_7d6ded() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
index 55d3c0c..d2eaeef 100644
--- a/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/a56109.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
index bcd6a46..12937df 100644
--- a/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/c12555.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_c12555() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
index e88c5b9..7036fbd 100644
--- a/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/cc2b0d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
index 4c94d35..078059e 100644
--- a/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/ce7c17.wgsl.expected.glsl
@@ -25,7 +25,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
index c138dd5..d5e1296 100644
--- a/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/e183aa.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
index 83b839f..a59a10f 100644
--- a/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/eb83df.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
index b04c014..c87aceb 100644
--- a/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/f0f1a1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_f0f1a1() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
index e3adf65..07e48d7 100644
--- a/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/trunc/f370d3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
index f1ed3c3..2715c6b 100644
--- a/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16float/32a5cf.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
index 363f90b..214bd27 100644
--- a/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16snorm/b4aea6.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
index c775d61..35a1898 100644
--- a/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack2x16unorm/7699c0.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
index 5c919e1..14ae0fc 100644
--- a/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4x8snorm/523fb3.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
index f4aaf38..17ca840 100644
--- a/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/unpack4x8unorm/750c74.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
index 572e56f..373f3e8 100644
--- a/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/002533.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
index 853d2af..185dc9b 100644
--- a/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/005174.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
index 2835b0d..8f48c20 100644
--- a/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/1ce782.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
index 16a39f2..a9cd317 100644
--- a/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/1e9d53.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
index b068d2d..5c59adc 100644
--- a/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/2f861b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_2f861b() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
index 09828f8..d5fd9d7 100644
--- a/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/421ca3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
index f47a14c..22011e2 100644
--- a/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/467cd1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
index 1d9d9c8..d531701 100644
--- a/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/4ad288.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
index 9a02e7b..9944c5a 100644
--- a/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/538d29.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
index 43a48a3..c6ccf52 100644
--- a/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/577d6e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_577d6e() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
index d454d02..107cb40 100644
--- a/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5a8af1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_5a8af1() {
   int res = 1;
diff --git a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
index ca0c00c..9190a51 100644
--- a/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5ad50a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
index a8b9dcf..b625667 100644
--- a/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/5ae4fe.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
index d557b5b..8fea8da 100644
--- a/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7326de.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
index 678ed03e..84706ae 100644
--- a/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7f28e6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
index 08ed773..d88ceb2 100644
--- a/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/7faa9e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
index 7eeff32..65eacb7 100644
--- a/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/82ff9d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_82ff9d() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
index c3fce66..87bf393 100644
--- a/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/8ca9b1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_8ca9b1() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
index 52fbdd0..0f77852 100644
--- a/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/9c80a6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
index a7d37b0..c7069c1 100644
--- a/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/aedb6d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_aedb6d() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
index 37c2cbb..54cca28 100644
--- a/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/b96037.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
index d9a6e95..40d874d 100644
--- a/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/c3321c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_c3321c() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
index 4255eda..d35bc5b 100644
--- a/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/e28785.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void abs_e28785() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
index 2f42b39..3b908b2 100644
--- a/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/abs/fd247f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
index 4c3430b..cde252a 100644
--- a/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/004aff.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
index 7158930..929cbc1 100644
--- a/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/069188.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_069188() {
   vec3 res = vec3(0.25f);
diff --git a/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
index 29e3f42..9630a00 100644
--- a/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/15d35b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_15d35b() {
   vec2 res = vec2(0.25f);
diff --git a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
index b229caf..5e957a6 100644
--- a/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/203628.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
index d35159c..c4df5ea 100644
--- a/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/303e3d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
index 37715e7..f2fc3cf 100644
--- a/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/489247.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
index 2afdd5f..dd5516f 100644
--- a/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/4dac75.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_4dac75() {
   vec4 res = vec4(0.25f);
diff --git a/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
index 0a841bf..cea24dd 100644
--- a/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/5e9ad2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acos_5e9ad2() {
   float res = 0.25f;
diff --git a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
index a37bcd3..f044a62 100644
--- a/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/8e2acf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
index b0bee1a..5e5f1fa 100644
--- a/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/a610c4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
index 32c732e..0146af5 100644
--- a/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/dfc915.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
index 2297a63..0156164 100644
--- a/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acos/f47057.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
index cc419fd..09dc0ef 100644
--- a/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/17260e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_17260e() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
index b1d4a3a..b9dbcb5 100644
--- a/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/3433e8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_3433e8() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
index b5c0bd3..4f849b4 100644
--- a/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/490aae.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_490aae() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
index 8f8fece..dc0883c 100644
--- a/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/5f49d8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
     return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
index 7ea82c5..603924e 100644
--- a/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/640883.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
     return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
index cd02020..0d50ad2 100644
--- a/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/9f213e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void acosh_9f213e() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
index 4dc597b..891269d 100644
--- a/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/a37dfe.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 float16_t tint_acosh(float16_t x) {
   return ((x < 1.0hf) ? 0.0hf : acosh(x));
diff --git a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
index a454f98..788e055 100644
--- a/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/d51ccb.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
     return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
index 95d73e9..4abad68 100644
--- a/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/de60d8.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
     return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
index a604103..8297a71 100644
--- a/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/e38f5c.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
index 3ae9f05..3f9bea5 100644
--- a/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/ecf2d1.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_acosh(float x) {
   return ((x < 1.0f) ? 0.0f : acosh(x));
diff --git a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
index e270d08..3d4aa7c 100644
--- a/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/acosh/f56574.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
     return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
index 1b86d97..8b8361a 100644
--- a/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/353d6a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
index c9fbf8b..5674503 100644
--- a/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/986c7b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
index 5861143..42c0565 100644
--- a/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/bd2dba.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
index 3cfffef..b6cd146 100644
--- a/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/all/f46790.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
index 5bab5e3..79782c5 100644
--- a/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/083428.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
index 57f6658..e0f8695 100644
--- a/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/0e3e58.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
index ab735df..c88fd3e 100644
--- a/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/2ab91a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
index 8050906..342cb82 100644
--- a/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/any/e755c1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
index b2d79ac..a8d01b7 100644
--- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   int arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl
index 8d77b8a..9195996 100644
--- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   int arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
index 5bc4297..0462444 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl
@@ -29,7 +29,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   float16_t arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
index 25343cb..af57d29 100644
--- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   float arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl
index c155e09..5f86382 100644
--- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl
@@ -29,7 +29,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   float16_t arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl
index b8890f5..4c72db1 100644
--- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   float arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
index 57ed7ff..b87f6c6 100644
--- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 1, std430) buffer SB_RO_ssbo {
   uint arg_0[];
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl
index d6c4cda..8e9864d 100644
--- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer SB_RW_ssbo {
   uint arg_0[];
diff --git a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
index 57d144b..f6838c9 100644
--- a/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/064953.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
index 5efe560..9e1e170 100644
--- a/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/0bac07.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_0bac07() {
   vec3 res = vec3(0.5f);
diff --git a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
index a72fec2..9482ba4 100644
--- a/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/11dfda.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
index 8aa8a6f..4491b43 100644
--- a/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/2d8e29.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
index 49101fe..7845003 100644
--- a/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/3cfbd4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
index 9483665..09e5549 100644
--- a/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/64bb1f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_64bb1f() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
index 276e078..73d2eef 100644
--- a/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/7b6a44.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
index 7330302..e6620c3 100644
--- a/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/8cd9c9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
index 6b8eb2f..2e21522 100644
--- a/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/a5dd88.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_a5dd88() {
   vec2 res = vec2(0.5f);
diff --git a/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
index 4afa665..4740ebf 100644
--- a/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/a6d73a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asin_a6d73a() {
   float res = 0.5f;
diff --git a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
index ec528c7..05d48c6 100644
--- a/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/b4aced.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
index 20f90c3..8eff9b3 100644
--- a/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asin/c0c272.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
index 28da684..f0ac590 100644
--- a/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/157447.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
index f714432..335ecdb 100644
--- a/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/16b543.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_16b543() {
   vec2 res = vec2(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
index e2e9a76..a8c2b42 100644
--- a/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/180015.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_180015() {
   float res = 0.88137358427047729492f;
diff --git a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
index b608beb..d0e292a 100644
--- a/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/2265ee.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
index d26e019..1218434 100644
--- a/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/468a48.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
index d7d838e..a15352c 100644
--- a/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/4a2226.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
index 7af712f..244fc60 100644
--- a/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/51079e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_51079e() {
   vec3 res = vec3(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
index e0d9602..ae9092b 100644
--- a/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/8d2e51.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
index 1d6c2b4..3dc3e33 100644
--- a/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/95ab2b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
index f29a4c7..a608669 100644
--- a/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/ad8f8b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
index e60d6d8..10e478f 100644
--- a/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/cf8603.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void asinh_cf8603() {
   vec4 res = vec4(0.88137358427047729492f);
diff --git a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
index b16ef07..dafc9e8 100644
--- a/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/asinh/fb5e8c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
index b7ef9b1..7d929cf 100644
--- a/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/02979a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
index 0fe6b42..dab5120 100644
--- a/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/19faea.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
index c90fa66..39c2267 100644
--- a/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/1e1764.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
index 350f3d3..3082031 100644
--- a/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/331e6d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
index c79c72f..a47c016 100644
--- a/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/5ca7b8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_5ca7b8() {
   vec2 res = vec2(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
index 049397c..67b2335 100644
--- a/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/749e1b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_749e1b() {
   vec3 res = vec3(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
index 3cc4ed2..09e9382 100644
--- a/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/7a2a75.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_7a2a75() {
   float res = 0.78539818525314331055f;
diff --git a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
index 4e353d0..83f6f23 100644
--- a/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a5f421.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
index 8f5979a..20f8747 100644
--- a/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a7ba61.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
index 4ae1684..179e3ca 100644
--- a/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/a8b696.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
index a1a9c54..9ddec90 100644
--- a/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/ad96e4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
index 3ea638e..1957650 100644
--- a/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan/d17fb2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan_d17fb2() {
   vec4 res = vec4(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
index b4afab7..652037b 100644
--- a/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/034ace.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_034ace() {
   float res = 0.78539818525314331055f;
diff --git a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
index 6a8fcc0..e55489b 100644
--- a/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/21dfea.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
index 40e2aaa..e1e60bc 100644
--- a/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/3c2865.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_3c2865() {
   vec3 res = vec3(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
index 55e2b3c..2877829 100644
--- a/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/57fb13.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
index cd37c9b..f91a6bd 100644
--- a/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/93febc.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
index ef5870b..7adaf5c 100644
--- a/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/96057c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
index db3b3e5..12376d3 100644
--- a/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/a70d0d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
index 806c9a6..d178135 100644
--- a/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/ae713e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
index dc495d7..4cb66c6 100644
--- a/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/c19683.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_c19683() {
   vec2 res = vec2(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
index 427f0a0..a4308e6 100644
--- a/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/c4be45.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atan2_c4be45() {
   vec4 res = vec4(0.78539818525314331055f);
diff --git a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
index 3560977..8493877 100644
--- a/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/ca698e.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
index af1c849..1f9ffc8 100644
--- a/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atan2/d983ab.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
index cf1cfda..0c60644 100644
--- a/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/440cca.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
index dc8f579..ebc1e5e 100644
--- a/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/5bf88d.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
     return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
index 2fce2e4..1a37a60 100644
--- a/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/70d5bd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_70d5bd() {
   vec2 res = vec2(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
index 68f1e32..3b1b385 100644
--- a/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/7997d8.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_atanh(float x) {
   return ((x >= 1.0f) ? 0.0f : atanh(x));
diff --git a/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
index a28b2e9..537f120 100644
--- a/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/7f2874.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_7f2874() {
   vec3 res = vec3(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
index c6a4bc5..4a7d2bd 100644
--- a/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/c0e634.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
     return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
index 86ca443..bf33b12 100644
--- a/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/c5dc32.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_c5dc32() {
   float res = 0.54930615425109863281f;
diff --git a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
index f17b1cd..2c3582f 100644
--- a/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/d2d8cd.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 float16_t tint_atanh(float16_t x) {
   return ((x >= 1.0hf) ? 0.0hf : atanh(x));
diff --git a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
index 5de83b1..d45a889 100644
--- a/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/e3b450.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
     return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
index 28ea06f..e15535a 100644
--- a/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/e431bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void atanh_e431bb() {
   vec4 res = vec4(0.54930615425109863281f);
diff --git a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
index 799000e..b9ad650 100644
--- a/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/ec4b06.wgsl.expected.glsl
@@ -35,7 +35,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
     return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
index de6a26b..f8b9e8f 100644
--- a/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atanh/f3e01b.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
     return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/atomicAdd/8a199a.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicAdd/8a199a.wgsl.expected.glsl
index f0a19bf..e4db71a 100644
--- a/test/tint/builtins/gen/var/atomicAdd/8a199a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicAdd/8a199a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicAdd/d32fe4.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicAdd/d32fe4.wgsl.expected.glsl
index 4a92de8..e9a6397 100644
--- a/test/tint/builtins/gen/var/atomicAdd/d32fe4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicAdd/d32fe4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicAnd/152966.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicAnd/152966.wgsl.expected.glsl
index 1e3cad1..9f144b5 100644
--- a/test/tint/builtins/gen/var/atomicAnd/152966.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicAnd/152966.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicAnd/85a8d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicAnd/85a8d9.wgsl.expected.glsl
index 1112ac0..dca61c8 100644
--- a/test/tint/builtins/gen/var/atomicAnd/85a8d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicAnd/85a8d9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
index 0fda562..481d83a 100644
--- a/test/tint/builtins/gen/var/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicCompareExchangeWeak/1bd40a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resulti32 {
   int old_value;
diff --git a/test/tint/builtins/gen/var/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
index 9054347..835d61c 100644
--- a/test/tint/builtins/gen/var/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicCompareExchangeWeak/63d8e6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resultu32 {
   uint old_value;
diff --git a/test/tint/builtins/gen/var/atomicExchange/d59712.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicExchange/d59712.wgsl.expected.glsl
index e3071be..952ad70 100644
--- a/test/tint/builtins/gen/var/atomicExchange/d59712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicExchange/d59712.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicExchange/f2e22f.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicExchange/f2e22f.wgsl.expected.glsl
index c39edb1..17ad67f 100644
--- a/test/tint/builtins/gen/var/atomicExchange/f2e22f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicExchange/f2e22f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicLoad/0806ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicLoad/0806ad.wgsl.expected.glsl
index d38ae3c..eea1b55 100644
--- a/test/tint/builtins/gen/var/atomicLoad/0806ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicLoad/0806ad.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicLoad/fe6cc3.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicLoad/fe6cc3.wgsl.expected.glsl
index 6f69cb8..fc59321 100644
--- a/test/tint/builtins/gen/var/atomicLoad/fe6cc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicLoad/fe6cc3.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicMax/51b9be.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicMax/51b9be.wgsl.expected.glsl
index c02fd60..5c0aceb 100644
--- a/test/tint/builtins/gen/var/atomicMax/51b9be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicMax/51b9be.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicMax/92aa72.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicMax/92aa72.wgsl.expected.glsl
index 219ae2e..4b40a7f 100644
--- a/test/tint/builtins/gen/var/atomicMax/92aa72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicMax/92aa72.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicMin/8e38dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicMin/8e38dc.wgsl.expected.glsl
index 392dcdf..701c82c 100644
--- a/test/tint/builtins/gen/var/atomicMin/8e38dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicMin/8e38dc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicMin/c67a74.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicMin/c67a74.wgsl.expected.glsl
index a25756d..a121a52 100644
--- a/test/tint/builtins/gen/var/atomicMin/c67a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicMin/c67a74.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicOr/5e95d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicOr/5e95d4.wgsl.expected.glsl
index c1adeac..269b59d 100644
--- a/test/tint/builtins/gen/var/atomicOr/5e95d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicOr/5e95d4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicOr/8d96a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicOr/8d96a0.wgsl.expected.glsl
index 0374747..a9e89e0 100644
--- a/test/tint/builtins/gen/var/atomicOr/8d96a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicOr/8d96a0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicStore/cdc29e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicStore/cdc29e.wgsl.expected.glsl
index 09b5b8d..b464f2f 100644
--- a/test/tint/builtins/gen/var/atomicStore/cdc29e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicStore/cdc29e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicStore/d1e9a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicStore/d1e9a6.wgsl.expected.glsl
index 6a5e49b..4457c8b 100644
--- a/test/tint/builtins/gen/var/atomicStore/d1e9a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicStore/d1e9a6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicSub/051100.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicSub/051100.wgsl.expected.glsl
index eacf33f..77c74dd 100644
--- a/test/tint/builtins/gen/var/atomicSub/051100.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicSub/051100.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/atomicSub/15bfc9.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicSub/15bfc9.wgsl.expected.glsl
index e76d133..4436968 100644
--- a/test/tint/builtins/gen/var/atomicSub/15bfc9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicSub/15bfc9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicXor/54510e.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicXor/54510e.wgsl.expected.glsl
index e9d656c..8033161 100644
--- a/test/tint/builtins/gen/var/atomicXor/54510e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicXor/54510e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   uint arg_0;
diff --git a/test/tint/builtins/gen/var/atomicXor/c1b78c.wgsl.expected.glsl b/test/tint/builtins/gen/var/atomicXor/c1b78c.wgsl.expected.glsl
index fcc92ef..ae50e27 100644
--- a/test/tint/builtins/gen/var/atomicXor/c1b78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/atomicXor/c1b78c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct SB_RW {
   int arg_0;
diff --git a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
index 23c4504..8d5ad1c 100644
--- a/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/09bf52.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
index 7a6447b..3d85405 100644
--- a/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/11b1dc.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_11b1dc() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
index 47b8a69..32531ed 100644
--- a/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/18c240.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
index c129c84..6b04f1d 100644
--- a/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/32c946.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_32c946() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
index 8d3db95..02f9c40 100644
--- a/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/34064b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
index a18c18e..00533ef 100644
--- a/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/4bca2a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
index 0ebe7c0..81f86e1 100644
--- a/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/678655.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
index 9b808b0..6a3684a 100644
--- a/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/96f597.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
index 6c206ad..b1055a8 100644
--- a/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/b74c16.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
index 506d1f0..cfeb639 100644
--- a/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/bb2ca2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_bb2ca2() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
index 86208fc..fefcf5b 100644
--- a/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/e0b70a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ceil_e0b70a() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
index 3464759..c18e8f1 100644
--- a/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ceil/f3f889.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
index 3f8fa23..c4495a9 100644
--- a/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/0acf8f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
index cc6d48a..1a3d09a 100644
--- a/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/177548.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_177548() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
index 25cce0c..828bd91 100644
--- a/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/1a32e3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
index 2b18490..fbfcc62 100644
--- a/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/235b29.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
index cf8f34c..c44ebb1 100644
--- a/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/23aa4f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_23aa4f() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
index 990fdac..3b8bf7e 100644
--- a/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2bd567.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
index 099ef62..4dc2d81 100644
--- a/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2bde41.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
index 7c95fdd..1b0b486 100644
--- a/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/2c251b.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
index cdda825..06d03a1 100644
--- a/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/548fc7.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
index 7442317..8c549c2 100644
--- a/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/553ffb.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
index 2cd1427..2432262 100644
--- a/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/5cf700.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_5cf700() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
index a715a0b..4220ac1 100644
--- a/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/5f0819.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
index 1aa814f..9858d24 100644
--- a/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/6c1749.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
index 0760a8e..9f5a9c1 100644
--- a/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/7706d7.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
index f6f9b96..62db912 100644
--- a/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/867397.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
index 1d592a4..981bfd4 100644
--- a/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/87df46.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_87df46() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
index 12ccf0f..56c6e64 100644
--- a/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/8b1eaa.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_8b1eaa() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
index cf52b93..2e88080 100644
--- a/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/96e56a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_96e56a() {
   int res = 1;
diff --git a/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
index 554727e..ab95145 100644
--- a/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/9d731c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_9d731c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
index c4fb2c8..20f0c5f 100644
--- a/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/a2de25.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
index 9128fc8..0f86891 100644
--- a/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/b07c65.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
index 8f84f74..0c137b8 100644
--- a/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/b195eb.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
index 4f7dabb..693dbcb 100644
--- a/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/bd43ce.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl b/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
index 7c41a2f..51f2fb4 100644
--- a/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/clamp/d396af.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void clamp_d396af() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
index 8c245cf..c6c9d75 100644
--- a/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/0835a8.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
index 5c0c063..50b6b2b 100644
--- a/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/0a89f7.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
index 0e6b3a7..1e440c1 100644
--- a/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/16dc15.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
index 4a10c86..4a6f1a4 100644
--- a/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/29d66d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
index 7df432a..a06329a 100644
--- a/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/47d768.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_47d768() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
index 0742349..797f852 100644
--- a/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/5bc2c6.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
index 0d745de..a328998 100644
--- a/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/6b1fdf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_6b1fdf() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
index 77e46e1..8a34ce8 100644
--- a/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/a297d4.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_a297d4() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
index 3f2d50a..47a7e74 100644
--- a/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/af7447.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cos_af7447() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
index 09bc185..69b2421 100644
--- a/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/c3b486.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
index 40be5dc..8047941 100644
--- a/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/c5c28e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
index ba34122..97392e1 100644
--- a/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cos/fc047d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
index b307d29..c2de7cb 100644
--- a/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/2ed778.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
index 4c86068..e9ba8a9 100644
--- a/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/377652.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
index 566b68a..d4949c2e 100644
--- a/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/3b7bbf.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
index 2cec246..713d6a4 100644
--- a/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/432645.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_432645() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
index c2f80bb..9b26fcc 100644
--- a/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/43b672.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
index e133436..91753af 100644
--- a/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/b1b8a0.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
index c7a48f9..ccdd314 100644
--- a/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/c13756.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
index d6ae3cd..a7e5346 100644
--- a/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/c892bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_c892bb() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
index 4f4b630..461b402 100644
--- a/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/d8dee7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_d8dee7() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
index da1bad6..7c3a799 100644
--- a/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/da92dd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
index b28fd31..d10ddd4 100644
--- a/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/e0c1de.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl b/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
index 673ca0d..1fd36b8 100644
--- a/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cosh/f67ff1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cosh_f67ff1() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
index 353e7f6..4f38e08 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/208d46.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_count_leading_zeros(uint v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
index 8e82333..aab9752 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/6d4656.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_count_leading_zeros(int v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
index f9cd059..b66c1b0 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/70783f.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
index 8a13b93..2332ea1 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/7c38a6.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
index 5d0dbea..bb70682d 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/858d40.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
index 500ced0..f8fd6cf 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/ab6345.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
index 9ff99e5..40e2061 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/eab32b.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
index 6a6fc4a..2f70e1a 100644
--- a/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countLeadingZeros/f70103.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
index e30480c..ecc3a8c 100644
--- a/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/0d0e46.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
index 8be511d..f034550 100644
--- a/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/0f7980.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
index 1efff3f..1767927 100644
--- a/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/65d2ae.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
index 38322fa..659be80 100644
--- a/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/690cfc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
index 9e7779e..0d5d1bc 100644
--- a/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/94fd81.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
index 1719eb2..799cbca 100644
--- a/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/ae44f9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
index baf4f6b..5e436d7 100644
--- a/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/af90e2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
index c0732aa..2556081 100644
--- a/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countOneBits/fd88b2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
index dc7e94f..bbe7443 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1ad138.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
index dcecc37..a84c2b5 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/1dc84a.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
index e7cfae2..affcaf0 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/21e394.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_count_trailing_zeros(uint v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
index a433a86..646d132 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/327c37.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
index d2807ad..f74992c 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/42fed6.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_count_trailing_zeros(int v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
index d349d93..609174f 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/8ed26f.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
index 1eb0bbc..09fb183 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/acfacb.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
index f558abd..95023b6 100644
--- a/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/countTrailingZeros/d2b4a0.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
index dc87e92..04666c8 100644
--- a/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/041cb0.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
index 839a641..b2b9044 100644
--- a/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/1d7933.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void cross_1d7933() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
index 23aa5e2..21d99fd 100644
--- a/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/cross/9857cb.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
index ba39aff..b4b7644 100644
--- a/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/0d170c.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_degrees(vec4 param_0) {
   return param_0 * 57.29577951308232286465f;
diff --git a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
index 91078c5..ebdc9e2 100644
--- a/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/1ad5df.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_degrees(vec2 param_0) {
   return param_0 * 57.29577951308232286465f;
diff --git a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
index 67b66ce..0d4cd96 100644
--- a/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/2af623.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_degrees(vec3 param_0) {
   return param_0 * 57.29577951308232286465f;
diff --git a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
index 12b4ecf..9d465bb 100644
--- a/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/3055d3.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_degrees(f16vec4 param_0) {
   return param_0 * 57.29577951308232286465hf;
diff --git a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
index 4e8dfba..8800690 100644
--- a/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/51f705.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_degrees(float param_0) {
   return param_0 * 57.29577951308232286465f;
diff --git a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
index f0676b0..d47eb25 100644
--- a/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/5e9805.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 float16_t tint_degrees(float16_t param_0) {
   return param_0 * 57.29577951308232286465hf;
diff --git a/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
index 9d96588..6d5a869 100644
--- a/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/810467.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_810467() {
   vec2 res = vec2(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
index d5946bf..236df0a 100644
--- a/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/c0880c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_c0880c() {
   vec3 res = vec3(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
index b599bb7..39c60f7 100644
--- a/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/d43a49.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_d43a49() {
   vec4 res = vec4(57.295780181884765625f);
diff --git a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
index 03a7f35..8cbf001 100644
--- a/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/dfe8f4.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_degrees(f16vec3 param_0) {
   return param_0 * 57.29577951308232286465hf;
diff --git a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
index 4011fbb..6c06b44 100644
--- a/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/f59715.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_degrees(f16vec2 param_0) {
   return param_0 * 57.29577951308232286465hf;
diff --git a/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl b/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
index 3017003..b8ff73f 100644
--- a/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/degrees/fafa7e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void degrees_fafa7e() {
   float res = 57.295780181884765625f;
diff --git a/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
index d5b27a9..a5aa46d 100644
--- a/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/1bf6e7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_1bf6e7() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
index aa3b347..67a54a7 100644
--- a/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/2b62ba.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
index a3686d7..50aff29 100644
--- a/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/32bfde.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
index 884f420..1eb47f8 100644
--- a/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/a0a87c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
index fb8d99d..b60ab86 100644
--- a/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/c8251d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_c8251d() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
index 488869b..94408a7 100644
--- a/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/cefdf3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void determinant_cefdf3() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
index 8848abc..b2292c2 100644
--- a/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/d7c86f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
index 30512ac..755060b 100644
--- a/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/e19305.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
index 2a0188f..5ee15ba 100644
--- a/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/determinant/fc12a5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
index af70a29..2373ae0 100644
--- a/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/0657d4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
index 58e8f50..e62a7ca 100644
--- a/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/3a175a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_3a175a() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
index fcdb4e1..9c9ed1f 100644
--- a/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/7272f3.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
index 40e8aca..6c3c598 100644
--- a/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/7d201f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
index 7486548..35460fb 100644
--- a/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/83911f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_83911f() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
index aae24b5..a820d54 100644
--- a/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/892a5d.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
index 90f99d6..72f0974 100644
--- a/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/928fa0.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
index a0cf63f..673b6cb 100644
--- a/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/9646ea.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
index 413df52..13953fd 100644
--- a/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/aa4055.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
index 8cd6d36..872a175 100644
--- a/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/ac5535.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_ac5535() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
index 32b9870..33a05a4 100644
--- a/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/cfed73.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
index 99df855..9f54132 100644
--- a/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/distance/f9c9ee.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void distance_f9c9ee() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
index fde4529..91f21a4 100644
--- a/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/08eb56.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_08eb56() {
   float res = 4.0f;
diff --git a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
index 78d65f9..7f5f937 100644
--- a/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/0c577b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
index 56f8ba0..880b0a5 100644
--- a/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/0d2c2e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_0d2c2e() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
index ee01341..2d73d41 100644
--- a/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/14bc63.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_14bc63() {
   int res = 2;
diff --git a/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
index bf3a69a..44ea415 100644
--- a/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/5a4c8f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_5a4c8f() {
   float res = 3.0f;
diff --git a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
index e71c1c4..1a22308 100644
--- a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_int_dot(uvec3 a, uvec3 b) {
   return a[0]*b[0] + a[1]*b[1] + a[2]*b[2];
diff --git a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
index 75b8216..52a95c1 100644
--- a/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/883f0e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
index 26e79af..f29c28b 100644
--- a/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/8e40f1.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
index fa31042..d274940 100644
--- a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_int_dot(uvec2 a, uvec2 b) {
   return a[0]*b[0] + a[1]*b[1];
diff --git a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
index a91a9e6..d4a320a 100644
--- a/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/ba4246.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
index 0a21a3d..d17e2e1 100644
--- a/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/c11efe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_c11efe() {
   int res = 3;
diff --git a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
index 4f7d403..1ca0ff5 100644
--- a/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/cd5a04.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
index 78c791e..45c334a 100644
--- a/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/d0d179.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
index 75900ed..22f3fa4 100644
--- a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_int_dot(uvec4 a, uvec4 b) {
   return a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3];
diff --git a/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
index a10a639..648f67f 100644
--- a/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/eb9fbf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void dot_eb9fbf() {
   int res = 4;
diff --git a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
index 63b3882..01dd019 100644
--- a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_int_dot(ivec4 a, ivec4 b) {
   return a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3];
diff --git a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
index 5bc8b7d..a498379 100644
--- a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_int_dot(ivec3 a, ivec3 b) {
   return a[0]*b[0] + a[1]*b[1] + a[2]*b[2];
diff --git a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
index 5cc486b..3a7d0e3 100644
--- a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_int_dot(ivec2 a, ivec2 b) {
   return a[0]*b[0] + a[1]*b[1];
diff --git a/test/tint/builtins/gen/var/dpdx/0763f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdx/0763f7.wgsl.expected.glsl
index 9a0aac2..1edb35b 100644
--- a/test/tint/builtins/gen/var/dpdx/0763f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdx/0763f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdx/99edb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdx/99edb1.wgsl.expected.glsl
index d5d850f..95220ba 100644
--- a/test/tint/builtins/gen/var/dpdx/99edb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdx/99edb1.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/dpdx/c487fa.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdx/c487fa.wgsl.expected.glsl
index d41b8f9..a222970 100644
--- a/test/tint/builtins/gen/var/dpdx/c487fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdx/c487fa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdx/e263de.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdx/e263de.wgsl.expected.glsl
index e8cdd73..a2a0cb1 100644
--- a/test/tint/builtins/gen/var/dpdx/e263de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdx/e263de.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdxCoarse/029152.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxCoarse/029152.wgsl.expected.glsl
index 4fb7498..8cf2292 100644
--- a/test/tint/builtins/gen/var/dpdxCoarse/029152.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxCoarse/029152.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdxCoarse/9581cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxCoarse/9581cf.wgsl.expected.glsl
index 3488992..276649d 100644
--- a/test/tint/builtins/gen/var/dpdxCoarse/9581cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxCoarse/9581cf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/dpdxCoarse/c28641.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxCoarse/c28641.wgsl.expected.glsl
index 9d655b6..46df0ef 100644
--- a/test/tint/builtins/gen/var/dpdxCoarse/c28641.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxCoarse/c28641.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdxCoarse/f64d7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxCoarse/f64d7b.wgsl.expected.glsl
index 4f8071d..6706174 100644
--- a/test/tint/builtins/gen/var/dpdxCoarse/f64d7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxCoarse/f64d7b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdxFine/8c5069.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxFine/8c5069.wgsl.expected.glsl
index ae8c057..0165fb9 100644
--- a/test/tint/builtins/gen/var/dpdxFine/8c5069.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxFine/8c5069.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdxFine/9631de.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxFine/9631de.wgsl.expected.glsl
index 6a02cfc..323ec70 100644
--- a/test/tint/builtins/gen/var/dpdxFine/9631de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxFine/9631de.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/dpdxFine/f401a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxFine/f401a2.wgsl.expected.glsl
index d0c93f2..ec73054 100644
--- a/test/tint/builtins/gen/var/dpdxFine/f401a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxFine/f401a2.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdxFine/f92fb6.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdxFine/f92fb6.wgsl.expected.glsl
index 662b205..d2ce58f 100644
--- a/test/tint/builtins/gen/var/dpdxFine/f92fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdxFine/f92fb6.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdy/699a05.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdy/699a05.wgsl.expected.glsl
index 9d3e66a..440a776 100644
--- a/test/tint/builtins/gen/var/dpdy/699a05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdy/699a05.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdy/7f8d84.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdy/7f8d84.wgsl.expected.glsl
index f948355..6ce5d77 100644
--- a/test/tint/builtins/gen/var/dpdy/7f8d84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdy/7f8d84.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdy/a8b56e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdy/a8b56e.wgsl.expected.glsl
index 150eb1e..2013f3a 100644
--- a/test/tint/builtins/gen/var/dpdy/a8b56e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdy/a8b56e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/dpdy/feb40f.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdy/feb40f.wgsl.expected.glsl
index c57f293..db719e8 100644
--- a/test/tint/builtins/gen/var/dpdy/feb40f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdy/feb40f.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdyCoarse/3e1ab4.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyCoarse/3e1ab4.wgsl.expected.glsl
index 330ffe1..5679540 100644
--- a/test/tint/builtins/gen/var/dpdyCoarse/3e1ab4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyCoarse/3e1ab4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/dpdyCoarse/445d24.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyCoarse/445d24.wgsl.expected.glsl
index 0ea0803..bd2b7d0 100644
--- a/test/tint/builtins/gen/var/dpdyCoarse/445d24.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyCoarse/445d24.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdyCoarse/870a7e.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyCoarse/870a7e.wgsl.expected.glsl
index f04cb61..0305c4a 100644
--- a/test/tint/builtins/gen/var/dpdyCoarse/870a7e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyCoarse/870a7e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdyCoarse/ae1873.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyCoarse/ae1873.wgsl.expected.glsl
index 0926eb9..216d462 100644
--- a/test/tint/builtins/gen/var/dpdyCoarse/ae1873.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyCoarse/ae1873.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdyFine/1fb7ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyFine/1fb7ab.wgsl.expected.glsl
index 881e436..7353d9b 100644
--- a/test/tint/builtins/gen/var/dpdyFine/1fb7ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyFine/1fb7ab.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/dpdyFine/6eb673.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyFine/6eb673.wgsl.expected.glsl
index 13d30c4..a2279cf 100644
--- a/test/tint/builtins/gen/var/dpdyFine/6eb673.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyFine/6eb673.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/dpdyFine/d0a648.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyFine/d0a648.wgsl.expected.glsl
index 5b3e747..6b34977 100644
--- a/test/tint/builtins/gen/var/dpdyFine/d0a648.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyFine/d0a648.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/dpdyFine/df33aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/dpdyFine/df33aa.wgsl.expected.glsl
index bf741f4..00bde3e 100644
--- a/test/tint/builtins/gen/var/dpdyFine/df33aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/dpdyFine/df33aa.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
index 4fa45f3..385f23e 100644
--- a/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/0f70eb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
index 63fed90..1a65144 100644
--- a/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/13806d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
index 1725fbb..68f99f5 100644
--- a/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/1951e7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
index 85e6447..ff9c91f 100644
--- a/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/2e08e2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
index 2b7644c..969c46d 100644
--- a/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/49e4c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_49e4c5() {
   float res = 2.71828174591064453125f;
diff --git a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
index 99ae8f9..7c014b8 100644
--- a/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/611a87.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
index 6a619c6..4d619f0 100644
--- a/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/699629.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_699629() {
   vec2 res = vec2(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
index ed315e8..9c75c60 100644
--- a/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/771fd2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
index 71a9995..5b60fc0 100644
--- a/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/bda5bb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_bda5bb() {
   vec3 res = vec3(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
index 9214ca2..1837f41 100644
--- a/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/c18fe9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
index 72d6b7c..3b533b6 100644
--- a/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/d98450.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
index 756089e..eca9b73 100644
--- a/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp/dad791.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp_dad791() {
   vec4 res = vec4(2.71828174591064453125f);
diff --git a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
index 4b5503c..d845b18 100644
--- a/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/151a4c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
index 4dea06a..8c73b5d 100644
--- a/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/18aa76.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_18aa76() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
index 9529513..d91215e 100644
--- a/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/1f8680.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
index 131c8f4..4e94616 100644
--- a/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/303753.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_303753() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
index bd13f74..02a1a3c 100644
--- a/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/751377.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
index 8cc964a..d89c0f0 100644
--- a/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/8bd72d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_8bd72d() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
index b62cc29..9b5c16c 100644
--- a/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/a9d0a7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
index 0b247a6..07b1760 100644
--- a/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/b408e4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
index 3f1e641..feee996 100644
--- a/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/d6777c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
index d711fcb..bde6160 100644
--- a/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/dea523.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
index 7180ee6..98733dc 100644
--- a/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/f4f0f1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void exp2_f4f0f1() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
index fb789c0..5e8e245 100644
--- a/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/exp2/ffa827.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
index bde2f9f..da56c4b 100644
--- a/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/12b197.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_extract_bits(uvec3 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
index ef65566b9..62b71a0 100644
--- a/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/249874.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_extract_bits(int v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
index b10ac24..8db0b87 100644
--- a/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/631377.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_extract_bits(uvec4 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
index 87dbdd7..14f9435 100644
--- a/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/a99a8d.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec2 tint_extract_bits(ivec2 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
index 5f37284..90c8dc5 100644
--- a/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/ce81f8.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_extract_bits(uint v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
index 547d5eb..fa354d3 100644
--- a/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/e04f5d.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec3 tint_extract_bits(ivec3 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
index fc5d310..f10c0f0 100644
--- a/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/f28f69.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_extract_bits(uvec2 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
index af6749d..ea1ba99 100644
--- a/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/extractBits/fb850f.wgsl.expected.glsl
@@ -32,7 +32,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 tint_extract_bits(ivec4 v, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
index a4a1c00..406652d 100644
--- a/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/2c4d14.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_2c4d14() {
   vec4 res = vec4(-1.0f);
diff --git a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
index 6c93c2c..f644b5b 100644
--- a/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/524986.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
index 7962d54..014076d 100644
--- a/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/5afbd5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
index 5cf09f7..7142c89 100644
--- a/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/b316e5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
index 316c6ff..157f23c 100644
--- a/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/b42ef3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_b42ef3() {
   vec2 res = vec2(-1.0f);
diff --git a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
index 331af8c..19b54e1 100644
--- a/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/cc63dc.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
index d3497c8..f8483a5 100644
--- a/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/e6908b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
index f3d6e75..89a602e 100644
--- a/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/fb0f2e.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl b/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
index 3e26400..5c2ab3a 100644
--- a/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/faceForward/fe522b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void faceForward_fe522b() {
   vec3 res = vec3(-1.0f);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
index c168581..1e06adf 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/000ff3.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
index 0404a8f..98ac374 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/35053e.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
index e290636..2ec922a 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/3fd7d0.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
index 8ae1bd1..f626a3e 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/57a1a3.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_first_leading_bit(int v) {
   uint x = ((v < 0) ? uint(~(v)) : uint(v));
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
index 2a81d48..4a39395 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/6fe804.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
index c9b0fea..3e220a8 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/a622c2.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
index 0ddc1e9..f4b0cb1 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/c1f940.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
index b80060a..5e1f6f9 100644
--- a/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstLeadingBit/f0779d.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_first_leading_bit(uint v) {
   uint x = v;
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
index 8c9092f..f64c365 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/110f2c.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
index d795cd8..0e8c7a1 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/3a2acc.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_first_trailing_bit(int v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
index 67e55e8..e380c1a 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/45eb10.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
index e906b13..49b7057 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/47d475.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_first_trailing_bit(uint v) {
   uint x = uint(v);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
index ddb8997..63c7e1e 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/50c072.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
index 822977a..a9663af 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/7496d6.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
index e491ac2..d3f394d 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/86551b.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
index b57b5e4..1f15793 100644
--- a/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/firstTrailingBit/cb51ce.wgsl.expected.glsl
@@ -44,7 +44,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
index 63dedc1..6918915 100644
--- a/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/218952.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_218952() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
index c8322f6..34a32f3 100644
--- a/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/3802c0.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
index bd508f3..7c3c536 100644
--- a/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/3bccc4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
index 2666908..f820a2f 100644
--- a/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/5fc9ac.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
index 7a52a77..d120464 100644
--- a/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/60d7ea.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
index 2308427..83ad831 100644
--- a/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/66f154.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
index bf4c719..8311949 100644
--- a/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/84658c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
index d5c3a05..2d20f8d 100644
--- a/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/953774.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_953774() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
index 57e720a..7e63a60 100644
--- a/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/a2d31b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
index e4c1a50..bf7075e 100644
--- a/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/b6e09c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
index d2d4681..7dd7d49 100644
--- a/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/dcd5a2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_dcd5a2() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
index f6dd7ae..47534a9 100644
--- a/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/floor/e585ef.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void floor_e585ef() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
index 7e6b4b4..5caed9e 100644
--- a/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/143d5d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_143d5d() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
index 215c740..783b334 100644
--- a/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/1f5084.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_1f5084() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
index d7cf037..4c71580 100644
--- a/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/26a7a9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
index c094238..0ff3006 100644
--- a/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/466442.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_466442() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
index 8782910..92fed82 100644
--- a/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/6a3283.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
index 669c461..f7137de 100644
--- a/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/ab7818.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
index 9cf1519..3fbfc98 100644
--- a/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/bf21b6.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
index 50cec00..a023d44 100644
--- a/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/c10ba3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
index 8299c29..47bd4a7 100644
--- a/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/c8abb3.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
index ab54dd2..4d591dc 100644
--- a/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/e17c5c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
index d344af9..5eb3e2e 100644
--- a/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/e7abdc.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
index 16ddde5..cc7bcb0 100644
--- a/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fma/eb25d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fma_eb25d7() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
index 0d8c38a..1d3c740 100644
--- a/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/181aa9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
index a8d9c20..3376a4d 100644
--- a/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/2eddfe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_2eddfe() {
   float res = 0.25f;
diff --git a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
index 1dfd9fe..4d485ce 100644
--- a/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/498c77.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
index 946ec1d..65fade4 100644
--- a/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/7e3f2d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_7e3f2d() {
   vec4 res = vec4(0.25f);
diff --git a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
index 51740c2..d02deb9 100644
--- a/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/8bc1e9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
index a67af0a..8d96750 100644
--- a/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/943cb1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
index 7d88f3c..eb7beca 100644
--- a/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/958a1d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
index be87d9d..c8761bf 100644
--- a/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/a49758.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
index 186811f..42718aa 100644
--- a/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/eb38ce.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
index e6fe3c1..c5535e3 100644
--- a/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/ed00ca.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_ed00ca() {
   vec2 res = vec2(0.25f);
diff --git a/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
index 9952c8b..53b840a 100644
--- a/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/ed2f79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void fract_ed2f79() {
   vec3 res = vec3(0.25f);
diff --git a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
index 34f3e43..07738f8 100644
--- a/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fract/fa5c71.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
index f573f2f..f2fc022 100644
--- a/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/34bbfb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
index cbde333..4f5e0a3 100644
--- a/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/3dd21e.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f16 {
   f16vec4 fract;
diff --git a/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
index 3ae3faf..dc115f0 100644
--- a/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/4b2200.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
index 55c0952..3290b93 100644
--- a/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/5257dd.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f16 {
   float16_t fract;
diff --git a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
index 3f3ae87..234bedb 100644
--- a/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/5f47bf.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f16 {
   f16vec2 fract;
diff --git a/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
index 0887713..d1a53a5 100644
--- a/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/6fb3ad.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
index 71c2548..338f1ff 100644
--- a/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/77af93.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
index 3f99207..9ee5de3 100644
--- a/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/979800.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
index 500511e..78b23f4 100644
--- a/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/ae4a66.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f16 {
   f16vec3 fract;
diff --git a/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
index 2f47c25..3c62573 100644
--- a/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/bee870.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
index 9ced10b..6070ed3 100644
--- a/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/bf45ae.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl b/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
index 57eb245..7d80571 100644
--- a/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/frexp/eb2421.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct frexp_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/var/fwidth/5d1b39.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidth/5d1b39.wgsl.expected.glsl
index 8e53275..46a7ea6 100644
--- a/test/tint/builtins/gen/var/fwidth/5d1b39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidth/5d1b39.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/fwidth/b83ebb.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidth/b83ebb.wgsl.expected.glsl
index d539297..e3bba09 100644
--- a/test/tint/builtins/gen/var/fwidth/b83ebb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidth/b83ebb.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/fwidth/d2ab9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidth/d2ab9a.wgsl.expected.glsl
index ca19bf0..f615e98 100644
--- a/test/tint/builtins/gen/var/fwidth/d2ab9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidth/d2ab9a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/fwidth/df38ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidth/df38ef.wgsl.expected.glsl
index c0984da..67a5a21 100644
--- a/test/tint/builtins/gen/var/fwidth/df38ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidth/df38ef.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/fwidthCoarse/159c8a.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthCoarse/159c8a.wgsl.expected.glsl
index 9734df8..bca8264 100644
--- a/test/tint/builtins/gen/var/fwidthCoarse/159c8a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthCoarse/159c8a.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/fwidthCoarse/1e59d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthCoarse/1e59d9.wgsl.expected.glsl
index 73f4087..51bb5d8 100644
--- a/test/tint/builtins/gen/var/fwidthCoarse/1e59d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthCoarse/1e59d9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/fwidthCoarse/4e4fc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthCoarse/4e4fc4.wgsl.expected.glsl
index 9b6d068..538dc8b 100644
--- a/test/tint/builtins/gen/var/fwidthCoarse/4e4fc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthCoarse/4e4fc4.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/fwidthCoarse/e653f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthCoarse/e653f7.wgsl.expected.glsl
index 00f4009..4681cf3 100644
--- a/test/tint/builtins/gen/var/fwidthCoarse/e653f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthCoarse/e653f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/fwidthFine/523fdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthFine/523fdc.wgsl.expected.glsl
index 4464c7c..7e082bb 100644
--- a/test/tint/builtins/gen/var/fwidthFine/523fdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthFine/523fdc.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/fwidthFine/68f4ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthFine/68f4ef.wgsl.expected.glsl
index 82334fb..86868d6 100644
--- a/test/tint/builtins/gen/var/fwidthFine/68f4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthFine/68f4ef.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/fwidthFine/f1742d.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthFine/f1742d.wgsl.expected.glsl
index fb304f9..c7a1bdb 100644
--- a/test/tint/builtins/gen/var/fwidthFine/f1742d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthFine/f1742d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/fwidthFine/ff6aa0.wgsl.expected.glsl b/test/tint/builtins/gen/var/fwidthFine/ff6aa0.wgsl.expected.glsl
index f7101ca..97a85eb 100644
--- a/test/tint/builtins/gen/var/fwidthFine/ff6aa0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/fwidthFine/ff6aa0.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
index 92b6a3d..116ac50 100644
--- a/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/3c7ba5.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_insert_bits(uvec2 v, uvec2 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
index a1d5e1c..bce4f48 100644
--- a/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/428b0b.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec3 tint_insert_bits(ivec3 v, ivec3 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
index d1eb280..dad42b2 100644
--- a/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/51ede1.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_insert_bits(uvec4 v, uvec4 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
index 247e14c..b1585f1 100644
--- a/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/65468b.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int tint_insert_bits(int v, int n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
index 3545ad3..99d5fda 100644
--- a/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/87826b.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_insert_bits(uvec3 v, uvec3 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
index 792a9e9..8901bb9 100644
--- a/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/d86978.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 tint_insert_bits(ivec4 v, ivec4 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
index 569766b..e499640 100644
--- a/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/e3e3a2.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uint tint_insert_bits(uint v, uint n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
index 3ef6ca5..b9f5854 100644
--- a/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/insertBits/fe6ba6.wgsl.expected.glsl
@@ -33,7 +33,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec2 tint_insert_bits(ivec2 v, ivec2 n, uint offset, uint count) {
   uint s = min(offset, 32u);
diff --git a/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
index bc25b44..43939ca 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/07a6fe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_07a6fe() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
index 25ce045..dd0c940 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/440300.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
index 5f7e5e4..3adf787 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/4ca6d6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_4ca6d6() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
index 8049c79..653fcc6 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/5f51f8.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
index a8ccaba..11bf551 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/6d0783.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_6d0783() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
index da3cd3c..2c2dc34 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/84407e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
index 76594c3..e293ef0 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/8f2bd2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
index 50442ee..c31b6f1 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b197b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
index 2ae0669..ea121bd 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/b85ebd.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
index f620b65..5ea3d96 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/c22347.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
index b1e350d..fc519b9 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/cbdc70.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl b/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
index 53b0371..d714727 100644
--- a/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/inverseSqrt/f60c1c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void inverseSqrt_f60c1c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
index 9f8f319..1d02c6c 100644
--- a/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/082c1f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
index 87b352b..34e980e 100644
--- a/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/217a31.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
index e762d08..bb868dc 100644
--- a/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/2bfc68.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_2bfc68() {
   ivec2 arg_1 = ivec2(1);
diff --git a/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
index 629e3b2..4ed287c 100644
--- a/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/2c6370.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_2c6370() {
   vec2 res = vec2(2.0f);
diff --git a/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
index 21fcf35..b2fb544 100644
--- a/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/376938.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_376938() {
   ivec4 arg_1 = ivec4(1);
diff --git a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
index 246ebfb..da17883 100644
--- a/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/3d90b4.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
index 9dba689..9971449 100644
--- a/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/4a3ad9.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_4a3ad9() {
   vec3 res = vec3(2.0f);
diff --git a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
index 651a12d..89cc50d 100644
--- a/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/593ff3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
index 2aaddf2..5696c2d 100644
--- a/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/624e0c.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
index cfd2f6e..60eede7 100644
--- a/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/65a7bd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
index eda6e14..1c7ebb4 100644
--- a/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/71ebe3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_71ebe3() {
   int arg_1 = 1;
diff --git a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
index 7b58af9..a7bbf4e 100644
--- a/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/7485ce.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
index c930500..161e28c 100644
--- a/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/7fa13c.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
index ecbf749..4fb87b7 100644
--- a/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/8a0c2f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
index bda25d4..c462344 100644
--- a/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/8e43e9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
index aa1c655..e2dd17e 100644
--- a/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a22679.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
index 4c5bb90..b450f59 100644
--- a/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a31cdc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
index 1472719..b46dba1 100644
--- a/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/a6126e.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_a6126e() {
   ivec3 arg_1 = ivec3(1);
diff --git a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
index db9e4c0..a176e58 100644
--- a/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/abd718.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
index 0a508bb..2bef5e4 100644
--- a/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/c9d0b7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
index 9676cec..ae177ce 100644
--- a/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/cb0faf.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_cb0faf() {
   vec4 res = vec4(2.0f);
diff --git a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
index 491dda1..c7cfe8f 100644
--- a/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/cc9cde.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
index 1dab912..eaf63aa 100644
--- a/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/db8b49.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
index b2017bf..0a61222 100644
--- a/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/ldexp/fdbc7b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void ldexp_fdbc7b() {
   float res = 2.0f;
diff --git a/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
index bfac97a..0a85662 100644
--- a/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/056071.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
index f5b5c86..68d89ee 100644
--- a/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/3f0e13.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
index fb815a6..17a2ad5 100644
--- a/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/555aba.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_555aba() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
index 1825b2a..c49d7f4 100644
--- a/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/5b1a9b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
index 1dcf099..4d11bcf 100644
--- a/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/602a17.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
index 16c9226..85e8de2 100644
--- a/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/7b4741.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_7b4741() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
index cfb1b8c..3e7895f 100644
--- a/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/936ad5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_936ad5() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
index 4ed4ce7..4136c04 100644
--- a/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/afde8b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
index e621887..fe3b3b9 100644
--- a/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/ba16d6.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
index de1885e..4055643 100644
--- a/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/becebf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
index 70ab3e1..0d630d9 100644
--- a/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/c158da.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl b/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
index 6c6a328..0160e94 100644
--- a/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/length/c2c544.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void length_c2c544() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
index 6c4d818..9963a69 100644
--- a/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/3da25a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
index e6a0182..cef9deb 100644
--- a/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/655989.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_655989() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
index 06b9a1b..077c97c 100644
--- a/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/697e1d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_697e1d() {
   vec4 res = vec4(0.0f);
diff --git a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
index 37f6ae6..8c7cb28 100644
--- a/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/6ff86f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
index d177759..9a49058 100644
--- a/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/7114a6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
index 9d50ecc..1cba65b 100644
--- a/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/8f0e32.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
index 6800239..af6fcac 100644
--- a/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/b2ce28.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
index 5dc623a..d5c2510 100644
--- a/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/b8088d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_b8088d() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
index 70b0e34..06684c2 100644
--- a/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/c9f489.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
index bb463c3..0c533c6 100644
--- a/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/cdbdc1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
index 7cbdb2e..d2c75ba 100644
--- a/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/f4c570.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
index d29f386..1fac255 100644
--- a/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log/f60cc7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log_f60cc7() {
   vec2 res = vec2(0.0f);
diff --git a/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
index 9759833..5dafdf7 100644
--- a/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/0fbd39.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_0fbd39() {
   vec3 res = vec3(0.0f);
diff --git a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
index c94898b..20ea889 100644
--- a/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/38b478.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
index 36966de..580efe7 100644
--- a/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/4036ed.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
index 1429b32..d196daa 100644
--- a/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/5b464b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_5b464b() {
   float res = 0.0f;
diff --git a/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
index b7d204c..83ca1c1 100644
--- a/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/6b8954.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_6b8954() {
   vec2 res = vec2(0.0f);
diff --git a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
index fe3e94c..7b1f49c 100644
--- a/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/776088.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
index 15e1afe..34a243d 100644
--- a/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/8c10b3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
index 75c4f07..2fca5bb 100644
--- a/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/902988.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
index 8b2864c..75dd46c 100644
--- a/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/a52bbb.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void log2_a52bbb() {
   vec4 res = vec4(0.0f);
diff --git a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
index 47a9764..7e7ee9a 100644
--- a/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/adb233.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
index cfc072d..2c92479 100644
--- a/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/aea659.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
index 35c5c8e..af99168 100644
--- a/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/log2/fb9f0b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
index 01727cd..9a2a20d 100644
--- a/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/067f3a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_067f3a() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
index a902a2a..6ab1406 100644
--- a/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/0c0aae.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
index 1dda017..6ecf589 100644
--- a/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/111ac0.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
index 6575eb7..da307bb 100644
--- a/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/19070a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_19070a() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
index 7a377b6..fa2c067 100644
--- a/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/25eafe.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
index 8efff62..03bc60f 100644
--- a/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/320815.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
index 0becf92..fd52f9e 100644
--- a/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/34956e.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
index 00544cc..3d9cb2b 100644
--- a/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/445169.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
index dcb979b..2ec8601 100644
--- a/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/44a39d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
index ed88cac..1991ce8 100644
--- a/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/453e04.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
index 241d0fd..8a07996 100644
--- a/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/462050.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
index 3aca743..773d0d9 100644
--- a/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/482d23.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_482d23() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
index 48c0e84..2105479 100644
--- a/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/4883ac.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
index f0b724c..10a19eb 100644
--- a/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/4bbff2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_4bbff2() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
index 1a10d09..4e97181 100644
--- a/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/85e6bc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
index 6d9f6bc..23ee698 100644
--- a/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/a1b196.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_a1b196() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
index 6202bde..fb7e004 100644
--- a/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/a93419.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
index 2516a41..19270cb 100644
--- a/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/b1b73a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
index b1ddc20..4e5208e 100644
--- a/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/c023dd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_c023dd() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
index 19780ed..825de70 100644
--- a/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/caa3d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_caa3d7() {
   int res = 1;
diff --git a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
index 88df4d5..6387b95 100644
--- a/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/ce7c30.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
index f56e201..3e1a2ce 100644
--- a/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/de6b87.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void max_de6b87() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
index af6ad58..60c8cf2 100644
--- a/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/e14f2b.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
index c9b4a23..df2e39d 100644
--- a/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/max/e8192f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
index 6767d44..9cb7748 100644
--- a/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/03c7e3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
index 12f2b1b..504506a 100644
--- a/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/0dc614.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
index 2cb677a..63f2667 100644
--- a/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/364910.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_364910() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
index b447269..87916cc 100644
--- a/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/371bd6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_371bd6() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
index c41c255..44fca5f 100644
--- a/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/3941e1.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
index d9f166c..7410ad8 100644
--- a/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/46c5d3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
index b0324f7..a8f89e7 100644
--- a/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/527b79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_527b79() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
index 886c489..7b0f2a9 100644
--- a/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/717257.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_717257() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
index 1b79ad3..3c834a1 100644
--- a/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/794711.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_794711() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
index baf94ae..3e704e7 100644
--- a/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/7c710a.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
index 8f58a03..0b0e4bc 100644
--- a/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/82b28f.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
index 635d213..79cbf5e 100644
--- a/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/84c9fe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_84c9fe() {
   int res = 1;
diff --git a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
index 4dc79df..ba474f6 100644
--- a/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/93cfc4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
index 51aa1df..49f020f 100644
--- a/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/98e797.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_98e797() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
index 9fa2ece..b749fe1 100644
--- a/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/a45171.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
index 5665232..5a37f0c 100644
--- a/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/aa28ad.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
index d5481f9..d10eb5d 100644
--- a/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/ab0acd.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
index 8c1b3df..a80d4b0 100644
--- a/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/ac84d6.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
index 65edf9e..6a51fb5 100644
--- a/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/af326d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
index 30a5156..4a34614 100644
--- a/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/af364e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void min_af364e() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
index f4af17e..fac4963 100644
--- a/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c70bb7.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
index bf0ed35..8dd24be 100644
--- a/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c73147.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
index 01e7ea2..69b8bc9 100644
--- a/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/c76fa6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
index b021554..9730999 100644
--- a/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/min/e780f9.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
index 6eff575..7a92852 100644
--- a/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/0c8c33.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
index e3e167d..73d70fc 100644
--- a/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/1faeb1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
index 69bdddf..b7e405e 100644
--- a/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/275cac.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_275cac() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
index 974d4a1..7d63966 100644
--- a/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/2fadab.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
index 6f002ea..a766e27 100644
--- a/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/30de36.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_30de36() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
index a37e48c..c949ecd 100644
--- a/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/315264.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
index c5eee9e..75f9054 100644
--- a/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/343c49.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_343c49() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
index 75544df..a2fdbac 100644
--- a/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/38cbbb.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
index 1de5cff..4aea0b9 100644
--- a/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/42d11d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_42d11d() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
index f48f87e..2358f87 100644
--- a/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/4f0b5e.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
index 173f59e..44b755d 100644
--- a/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/63f2fd.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
index 778bf25..ca5f335 100644
--- a/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/6f8adc.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
index 44d50fb..ad6170c 100644
--- a/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/98007a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_98007a() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
index 683b657..f83cb36 100644
--- a/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/98ee3e.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
index e53e484..b66f5a7 100644
--- a/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/9c2681.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_9c2681() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
index c268586..199194a 100644
--- a/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/c1aec6.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
index dfbdc24..274791e 100644
--- a/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/c37ede.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
index 5f78e57..09ff1b2 100644
--- a/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/e46a83.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
index ff7c08b..8fcff8c 100644
--- a/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/ee2468.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
index 295176f..201747b 100644
--- a/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/ef3575.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void mix_ef3575() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
index ac5c3ea..91a2ffc 100644
--- a/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/mix/f1a543.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
index 3e858a2..a6dccd7 100644
--- a/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/2d50da.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
index f019a7d..bc6770c 100644
--- a/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/45005f.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f16 {
   f16vec3 fract;
diff --git a/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
index a527a59..2579a47 100644
--- a/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/4bfced.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
index 994c2eb..8b6d6b7 100644
--- a/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/5ea256.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
index 35ec0b6..c64bc82 100644
--- a/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/68d8ee.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec3_f32 {
   vec3 fract;
diff --git a/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
index bc6f4fb..6cd3dc7 100644
--- a/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/732aa6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f32 {
   vec2 fract;
diff --git a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
index db8b53a..f1a95e5 100644
--- a/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/8dbbbf.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_f16 {
   float16_t fract;
diff --git a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
index 49bd43b..427839d 100644
--- a/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/995934.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f16 {
   f16vec4 fract;
diff --git a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
index 56974b5..479353b 100644
--- a/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/a545b9.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec2_f16 {
   f16vec2 fract;
diff --git a/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
index a7a2692..8bf6386 100644
--- a/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/bbf7f7.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
index 14adca5..81d1e53 100644
--- a/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/c15f48.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_f32 {
   float fract;
diff --git a/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
index 7dcc135..357d7f5 100644
--- a/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/modf/f3d1f9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct modf_result_vec4_f32 {
   vec4 fract;
diff --git a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
index 66360b2..7d90d36 100644
--- a/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/39d5ec.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
index 942c998..99a6ee9 100644
--- a/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/4eaf61.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_4eaf61() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
index 8d56c8c..b6a5709 100644
--- a/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/584e47.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_584e47() {
   vec2 res = vec2(0.70710676908493041992f);
diff --git a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
index 42c9506..2663c2e 100644
--- a/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/64d8c0.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
index 2e2b6b9..f777669 100644
--- a/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/7990f3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
index ee0e8f9..697f3fd 100644
--- a/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/9a0aab.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
index c4c6c6a..46669d3 100644
--- a/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/b8cb8d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
index 053a255..5d9d61d 100644
--- a/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/e7def8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void normalize_e7def8() {
   vec3 res = vec3(0.57735025882720947266f);
diff --git a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
index f9a2e7f..82bb44f 100644
--- a/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/normalize/fc2ef1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
index f884272..06cb779 100644
--- a/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16float/0e97b3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
index fb0ecd1..b874cb9 100644
--- a/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16snorm/6c169b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
index 3eb954f..c896889 100644
--- a/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack2x16unorm/0f08e4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
index 8142e81..68c0e00 100644
--- a/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4x8snorm/4d22e7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
index 7c21dd3..af20298 100644
--- a/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pack4x8unorm/95c456.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
index c5e903a..c3542c7 100644
--- a/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/04a908.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
index 2dd4cd5..e968a60 100644
--- a/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/46e029.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
index d5eada7..56386aa 100644
--- a/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/4a46c9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
index aa0fe74..c93dbf9 100644
--- a/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/4f33b2.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
index d61fbdb..7fc9a5b 100644
--- a/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/749c42.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_749c42() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
index d5d0cf0..54ddc30 100644
--- a/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/a8f6b2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_a8f6b2() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
index 892ea2e..31f9f24 100644
--- a/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/bc91ed.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_bc91ed() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
index 985f6e8..916f1ba 100644
--- a/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/ce9ef5.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
index 576ef1f..7973762 100644
--- a/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/e42f20.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void pow_e42f20() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
index 425718f..4303d0d 100644
--- a/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/e60ea5.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
index f4958ec..07e4163 100644
--- a/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/f37b25.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
index f643a6f..2d617fa 100644
--- a/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/pow/fa5429.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
index 6cfcd39..4068af5 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/12e50e.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_quantizeToF16(float param_0) {
   return unpackHalf2x16(packHalf2x16(vec2(param_0))).x;
diff --git a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
index 085fd8b..0a54e48 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/2cddf3.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_quantizeToF16(vec2 param_0) {
   return unpackHalf2x16(packHalf2x16(param_0));
diff --git a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
index 901fbf8..8dbe785 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/cba294.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_quantizeToF16(vec4 param_0) {
   return vec4(
diff --git a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
index e600e43..19866c28 100644
--- a/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/quantizeToF16/e8fd14.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_quantizeToF16(vec3 param_0) {
   return vec3(
diff --git a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
index c882f7b..6a519b6 100644
--- a/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/09b7fc.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_radians(vec4 param_0) {
   return param_0 * 0.01745329251994329547f;
diff --git a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
index c524c63..98796cf 100644
--- a/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/208fd9.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 float16_t tint_radians(float16_t param_0) {
   return param_0 * 0.01745329251994329547hf;
diff --git a/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
index 750b043..e80d782 100644
--- a/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/379214.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_379214() {
   vec3 res = vec3(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
index 201150e..9497a2e 100644
--- a/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/44a9f8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_44a9f8() {
   vec2 res = vec2(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
index 19da18b..5cbbec7 100644
--- a/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/44f20b.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_radians(f16vec4 param_0) {
   return param_0 * 0.01745329251994329547hf;
diff --git a/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
index 1f61586..8648e45 100644
--- a/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/524a91.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_524a91() {
   vec4 res = vec4(0.01745329238474369049f);
diff --git a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
index 8b13d39..48ec031 100644
--- a/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/61687a.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_radians(vec2 param_0) {
   return param_0 * 0.01745329251994329547f;
diff --git a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
index 2e0d958..b26feb5 100644
--- a/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/6b0ff2.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_radians(float param_0) {
   return param_0 * 0.01745329251994329547f;
diff --git a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
index 23decc1..81264a7 100644
--- a/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/7ea4c7.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_radians(f16vec3 param_0) {
   return param_0 * 0.01745329251994329547hf;
diff --git a/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
index c25f8c4..9b35654 100644
--- a/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/bff231.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void radians_bff231() {
   float res = 0.01745329238474369049f;
diff --git a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
index a0280e0..15d9fa4 100644
--- a/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/f96258.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_radians(vec3 param_0) {
   return param_0 * 0.01745329251994329547f;
diff --git a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
index 0d56f17..22c821b 100644
--- a/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/radians/fbacf0.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_radians(f16vec2 param_0) {
   return param_0 * 0.01745329251994329547hf;
diff --git a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
index 918e59e..0878be6 100644
--- a/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/05357e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
index a5a6280..46db325 100644
--- a/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/310de5.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
index 50eec83..21331c3 100644
--- a/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/61ca21.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
index 216d469..f8fe456 100644
--- a/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/a8baf2.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_a8baf2() {
   vec3 res = vec3(-5.0f);
diff --git a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
index 23dcaec..b66e790 100644
--- a/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/b61e10.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
index 82f47ef..7c274de 100644
--- a/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/bb15ac.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
index fff1f23..c73f3d6 100644
--- a/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/bba2d0.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_bba2d0() {
   vec2 res = vec2(-3.0f);
diff --git a/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
index a1507a5..41fac90 100644
--- a/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/d7e210.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void reflect_d7e210() {
   vec4 res = vec4(-7.0f);
diff --git a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
index e28515b..ec1209c 100644
--- a/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reflect/f47fdb.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
index 8956c18..f0fe2ca 100644
--- a/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/0594ba.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
index 4ac1edd..9966784 100644
--- a/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/570cb3.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
index e92e164..41c267d 100644
--- a/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/7e02e6.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
index 3a3a469..bea18de 100644
--- a/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/8984af.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
index 1a30d60..1c80d50 100644
--- a/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/8c192a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_8c192a() {
   vec4 res = vec4(-7.0f);
diff --git a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
index da3c95e..57c4e7f 100644
--- a/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cbc1d2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
index e251d38..5a3db7a 100644
--- a/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cd905f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
index 3aa7137..2824c2e 100644
--- a/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/cf1629.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_cf1629() {
   vec2 res = vec2(-3.0f);
diff --git a/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl b/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
index c83ef7b..8714e39 100644
--- a/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/refract/d7569b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void refract_d7569b() {
   vec3 res = vec3(-5.0f);
diff --git a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
index eb8e7c2..6f83cde 100644
--- a/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/222177.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
index e13a645..3af93ee 100644
--- a/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/35fea9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
index 29975d0..f1dff92 100644
--- a/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/4dbd6f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
index b6b5c9b..74cb289 100644
--- a/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/7c4269.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
index 65917bb..f04ed7e 100644
--- a/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/a6ccd4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
index 9a56a26..73a0ace 100644
--- a/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/c21bc1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
index 8b74d6f..8675259 100644
--- a/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/e1f4c1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
index b19b001..562b8b8 100644
--- a/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/reverseBits/e31adf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
index 78273ec..c1e2a50 100644
--- a/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/106c0b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
index a18114c..eb3f005 100644
--- a/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/184d5a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_184d5a() {
   vec4 res = vec4(4.0f);
diff --git a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
index 182cce5..b24cb94 100644
--- a/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/1c7897.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
index d11ef5d..dee43d8 100644
--- a/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/52c84d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
index 0d7b0a4..c8b5f66 100644
--- a/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/773a8f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_773a8f() {
   float res = 4.0f;
diff --git a/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
index 14cbb3b..28de45e 100644
--- a/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/8fdca3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_8fdca3() {
   vec2 res = vec2(4.0f);
diff --git a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
index c4f1ff0..4dcf667 100644
--- a/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/9078ef.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
index 8114437..1a27626 100644
--- a/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/9edc38.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
index dd390a7..a873d34 100644
--- a/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/a1673d.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void round_a1673d() {
   vec3 res = vec3(4.0f);
diff --git a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
index 1f8bf23..d7bc5d1 100644
--- a/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/d87e84.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
index e305e2b..8c8b3ab 100644
--- a/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/e1bba2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
index cfd3fe7..9222893 100644
--- a/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/round/f665b5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
index 187a54f..7077d83 100644
--- a/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/270da5.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_saturate(float v) {
   return clamp(v, 0.0f, 1.0f);
diff --git a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
index 19e5f62..8bd3262 100644
--- a/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/462535.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_saturate(f16vec3 v) {
   return clamp(v, f16vec3(0.0hf), f16vec3(1.0hf));
diff --git a/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
index e6bfa97..b07accd 100644
--- a/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/4ed8d7.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_4ed8d7() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
index 604df23..87d7cfb 100644
--- a/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/51567f.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_saturate(vec2 v) {
   return clamp(v, vec2(0.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
index 1a97179..7d2a727 100644
--- a/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/6bcddf.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_saturate(vec3 v) {
   return clamp(v, vec3(0.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
index e660571..9c31896 100644
--- a/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/78b37c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_78b37c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
index 6ba81f5..da86b11 100644
--- a/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/a5b571.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_saturate(vec4 v) {
   return clamp(v, vec4(0.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
index 0c7188d..0e760c3 100644
--- a/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/cd2028.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_saturate(f16vec2 v) {
   return clamp(v, f16vec2(0.0hf), f16vec2(1.0hf));
diff --git a/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
index 499d488..67a2fe2 100644
--- a/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/d55822.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_d55822() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
index 377884c..d85dd1e 100644
--- a/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/dcde71.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_saturate(f16vec4 v) {
   return clamp(v, f16vec4(0.0hf), f16vec4(1.0hf));
diff --git a/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
index 950837f..9ab26d2 100644
--- a/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/e40fb6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void saturate_e40fb6() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
index e95042a..393d9ee 100644
--- a/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/saturate/e8df56.wgsl.expected.glsl
@@ -30,7 +30,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 float16_t tint_saturate(float16_t v) {
   return clamp(v, 0.0hf, 1.0hf);
diff --git a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
index 34f6617..0a4e907 100644
--- a/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/00b848.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
     return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
index ca70929..17469c2 100644
--- a/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/01e2cd.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
     return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
index 3753e0d..67e767f 100644
--- a/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/087ea4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec4 inner;
diff --git a/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
index 93734b1..641802c 100644
--- a/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/089657.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_089657() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
index 8c15238..475c63d 100644
--- a/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/10e73b.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
index 668d57d..09d6639 100644
--- a/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/17441a.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_17441a() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
index 78a0ab8..b5f5727 100644
--- a/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1ada2a.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
index ed90de5..4dd7037 100644
--- a/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1e960b.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
     return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
index 68e04ae..513c5e9 100644
--- a/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/1f4d93.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
     return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
index 2143720..9546f23 100644
--- a/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/266aff.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
     return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
index 6802318..36afa98 100644
--- a/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/28a27e.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
     return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
index 31d3ede..b9e8084 100644
--- a/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/2c96d4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
index ce3844b..786db2e 100644
--- a/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/3a14be.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_3a14be() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
index f3da958..fdc5424 100644
--- a/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/3c25ce.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
index 18ad57b..8563e19 100644
--- a/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/416e14.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
index ce206d6..0e29310 100644
--- a/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/431dfb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
     return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
index f709f8a..f4caeea 100644
--- a/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/43741e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
     return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
index b143ed8..65b915e 100644
--- a/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/494051.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_494051() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
index 88de1f6..270d399 100644
--- a/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/4c4738.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
     return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
index 5cfc7ec..10951ee 100644
--- a/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/4e60da.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_4e60da() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
index f703fed..a84dc1b 100644
--- a/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/51b047.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec2 inner;
diff --git a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
index 5d50641..beacb1c 100644
--- a/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/53d518.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
     return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
index 62bd2be..0655224 100644
--- a/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/713567.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
index 73db658..c856596 100644
--- a/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/78be5f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
index b6bce8a..6572c00 100644
--- a/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/80a9a9.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bvec3 tint_select(bvec3 param_0, bvec3 param_1, bvec3 param_2) {
     return bvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
index 8974383..ab5a37a 100644
--- a/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/830dd9.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
index e8f269d..295e955 100644
--- a/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/86f9bd.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
index 361cf4a..dfa08a2 100644
--- a/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/8fa62c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
index 5d9a375..3b76cd6 100644
--- a/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/99f883.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uint inner;
diff --git a/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
index 2ddd9bb..0fbf08a 100644
--- a/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/9b478d.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_9b478d() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
index be587c1..58ac069 100644
--- a/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/a081f1.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
     return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
index f71683a..c36ce50 100644
--- a/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/a2860e.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
     return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
index fd6ecb5..59ebac2 100644
--- a/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ab069f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
index dd3491c..913fa98 100644
--- a/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/b04721.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   uvec3 inner;
diff --git a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
index e307458..b32238e 100644
--- a/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/b93806.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
     return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
index 4ef7166..80fdae0 100644
--- a/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bb447f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
index 41dcfae..dd4c580 100644
--- a/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bb8aae.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
     return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
index 2970dd5..b03eab7 100644
--- a/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/bf3d29.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
index b1c01a5..f6c63b2 100644
--- a/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c31f9e.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
index 0071cf9..d52cba6 100644
--- a/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c41bd1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
index 34cd123..5a70eb3 100644
--- a/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/c4a4ef.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
     return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
index 27d8377..ce77a6a 100644
--- a/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/cb9301.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bvec2 tint_select(bvec2 param_0, bvec2 param_1, bvec2 param_2) {
     return bvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
index e1c9cc0..696b80a 100644
--- a/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/dfab3b.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_dfab3b() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
index 206c61a..57dc637 100644
--- a/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/e381c3.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void select_e381c3() {
   bool arg_2 = true;
diff --git a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
index 38837aa..936895f 100644
--- a/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/e3e028.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bvec4 tint_select(bvec4 param_0, bvec4 param_1, bvec4 param_2) {
     return bvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
diff --git a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
index 94aa569..022d6f7 100644
--- a/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ebfea2.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
index 0d186fb..8c59cf0 100644
--- a/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ed7c13.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
     return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
diff --git a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
index 4737066..c28a311 100644
--- a/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/ed8a15.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
index 0ca9a06..8bf49f2 100644
--- a/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/select/fb7e53.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
index 1bdb757..add493c 100644
--- a/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/0799fd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_0799fd() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
index 5c323d9..cab2964 100644
--- a/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/159665.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
index 7779a29..04b6a12 100644
--- a/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/160933.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
index 43fdb49..876dece 100644
--- a/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3233fa.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   int inner;
diff --git a/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
index f1d1223..6cee32c 100644
--- a/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3a39ac.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_3a39ac() {
   int res = 1;
diff --git a/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
index 855bd83..4065f07 100644
--- a/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/3bdab6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_3bdab6() {
   ivec4 res = ivec4(1);
diff --git a/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
index f8d6b4d..ed48e4d 100644
--- a/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/55339e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_55339e() {
   ivec3 res = ivec3(1);
diff --git a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
index a79f7d0..6c40e27 100644
--- a/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/58d779.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec4 inner;
diff --git a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
index 6c2b97f..9f7ac69 100644
--- a/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/5d283a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
index 16a3031..ef63e57 100644
--- a/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/7c85ea.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
index ed3785e..741b8a4 100644
--- a/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/926015.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec2 inner;
diff --git a/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
index 97ba362..2b39410 100644
--- a/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/943b2e.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_943b2e() {
   ivec2 res = ivec2(1);
diff --git a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
index 4b176c6..44d258e 100644
--- a/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/9603b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   ivec3 inner;
diff --git a/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
index 77165ed..b0e503c 100644
--- a/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/ab6301.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_ab6301() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
index 758d77b..5e04aec 100644
--- a/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/b8f634.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
index f30b888..f560e47 100644
--- a/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/c8289c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_c8289c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
index ed6c856..eb84049 100644
--- a/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/ccdb3c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
index 5bc7699..c9f5899 100644
--- a/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/d065d8.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
index 0adc572..38d119c 100644
--- a/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/dd790e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
index 9baba40..542a41d 100644
--- a/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sign/f5da6a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sign_f5da6a() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
index 3d8ea4b..a841eec 100644
--- a/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/01f241.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
index 0010c80..e7a0288 100644
--- a/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/15b2c6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_15b2c6() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
index b9e2a6f..c91b64d 100644
--- a/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/2c903b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
index 9eb39e5..18268de 100644
--- a/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/3cca11.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
index 7706214..216ec97 100644
--- a/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/4e3979.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
index 6781911..ceb3e6a 100644
--- a/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/5c0712.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
index 1c9e08d..f8de3fa 100644
--- a/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/66a59f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
index efc102b..f726a76 100644
--- a/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/67b03c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_67b03c() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
index 497f2b9..4d142a8 100644
--- a/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/68d3ab.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_68d3ab() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
index 1a38190..06058a2 100644
--- a/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/a9ab19.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sin_a9ab19() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
index 703e8bd..0027d40 100644
--- a/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/b78c91.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
index 093a9a5..e857a05 100644
--- a/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sin/fc8bc4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
index 7ac46ef..bf48d11 100644
--- a/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/0908c1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
index 961d7bd..27ae7d9 100644
--- a/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/445e33.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
index f697bc2..00f8dc1 100644
--- a/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/69cce2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
index da0114b..129860f 100644
--- a/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/77a2a3.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_77a2a3() {
   vec3 res = vec3(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
index 12fc4ca..673955b 100644
--- a/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/7bb598.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
index 450d63c..0b95f98 100644
--- a/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/924f19.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
index 725e252..60f8f24 100644
--- a/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/9c1092.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_9c1092() {
   vec2 res = vec2(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
index 1a25c28..a383407 100644
--- a/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/a3da7c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_a3da7c() {
   vec4 res = vec4(1.17520117759704589844f);
diff --git a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
index fcf39c6..6c5f278 100644
--- a/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/b9860e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
index ec97fa5..9e9adb7 100644
--- a/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/ba7e25.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
index bfe94eae..29dd8c5 100644
--- a/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/c4df74.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sinh_c4df74() {
   float res = 1.17520117759704589844f;
diff --git a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
index fbc734c..50654e2 100644
--- a/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sinh/c9a5eb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
index d7f4fe4..50e2130 100644
--- a/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/0c481b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_0c481b() {
   vec2 res = vec2(0.5f);
diff --git a/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
index 12359d8..16eb482 100644
--- a/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/0c4ffc.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_0c4ffc() {
   vec4 res = vec4(0.5f);
diff --git a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
index 4ef5c44..f3c4b17 100644
--- a/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/12c031.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
index a32adf6..cb1bc17 100644
--- a/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/392c19.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
index 14a5b35..01ea7d1 100644
--- a/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/40864c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
index 474cf23..42b7f99 100644
--- a/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/586e12.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
index 562fefa..b31b8c0 100644
--- a/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/66e4bd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_66e4bd() {
   vec3 res = vec3(0.5f);
diff --git a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
index f286eac..953390b 100644
--- a/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/6c4975.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
index 43af1bd..a5dfc4b 100644
--- a/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/6e7a74.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
index f046ecc..2860df5 100644
--- a/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/a80fff.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void smoothstep_a80fff() {
   float res = 0.5f;
diff --git a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
index 91d2309..ef74003 100644
--- a/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/aad1db.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
index 3209fe1..f2cdd23 100644
--- a/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/smoothstep/c43ebd.wgsl.expected.glsl
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
index 910819a..c6c1725 100644
--- a/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/072192.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_072192() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
index aed6cc2..2ef5e24 100644
--- a/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/20c74e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
index ee4417e..a310b89 100644
--- a/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/4ac2c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_4ac2c5() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
index e8f0464..96c6ee6 100644
--- a/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/803d1c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
index 45344a4..0dcdf38 100644
--- a/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/895a0c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
index 64b1356..64f4c9c 100644
--- a/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/8c7024.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
index feec5e8..2f0921e 100644
--- a/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/8da177.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_8da177() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
index c6f1427..63e151f 100644
--- a/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/9c5cbe.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void sqrt_9c5cbe() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
index 0928323..6cf48d8 100644
--- a/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/aa0d7a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
index 0a477ca..3ade250 100644
--- a/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/d9ab4d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
index 9cb0303..44300a8 100644
--- a/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/ec33e9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
index 5c06a66..1b205ba6 100644
--- a/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/sqrt/f8c59a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
index 97cb546..0d7ffbc 100644
--- a/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/07cb06.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
index aff82eb..88a95f3 100644
--- a/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/0b073b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
index 3068f27..60e4a38 100644
--- a/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/19accd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
index fb9352d..c73c328 100644
--- a/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/334303.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
index bfcf13a..633f4af 100644
--- a/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/38cd79.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_38cd79() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
index d276f82..5e1d9c7 100644
--- a/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/415879.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_415879() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
index e768265..4b506d6 100644
--- a/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/630d07.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
index 2d91ea8..df72bcc 100644
--- a/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/7c7e5c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_7c7e5c() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
index 2c19b4e..ca9fbea 100644
--- a/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/baa320.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
index 8ce24cc..054591f 100644
--- a/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/cc6b61.wgsl.expected.glsl
@@ -27,7 +27,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
index 0424d9c..9462ba5 100644
--- a/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/e2b337.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl b/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
index 5a98ba9..75b938d 100644
--- a/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/step/f9b70c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void step_f9b70c() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
index ed9c07d..1f29b94 100644
--- a/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/244e2a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
index 0734874..ead6797 100644
--- a/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/2f030e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
index fb990ea..51e0c50 100644
--- a/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/311400.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_311400() {
   float res = 1.55740773677825927734f;
diff --git a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
index 5a772b8..332a4e0 100644
--- a/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/539e54.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
index 1ac28bd..b6158b1 100644
--- a/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/7be368.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_7be368() {
   vec2 res = vec2(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
index 13233eb..ca6b8fa 100644
--- a/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/7ea104.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
index d9dc182..9ceef8c 100644
--- a/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/8ce3e9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
index a0dfce4..d47a99d 100644
--- a/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/9f7c9c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
index 5803b3a..1d82baf 100644
--- a/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/a0966f.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_a0966f() {
   vec4 res = vec4(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
index b920c44..64510ff 100644
--- a/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/ae26ae.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tan_ae26ae() {
   vec3 res = vec3(1.55740773677825927734f);
diff --git a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
index e8556c0..573817b 100644
--- a/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/d4d491.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
index 4230a2a..22041b8 100644
--- a/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tan/db0456.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
index 8206fe0..0fbf518 100644
--- a/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/06a4fe.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
index 74033cd..c093c29 100644
--- a/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/313aa1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_313aa1() {
   float res = 0.76159417629241943359f;
diff --git a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
index 0fbe966..ab76295 100644
--- a/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5663c5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
index 6f03ff6..bfa8372 100644
--- a/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5724b3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
index 0a05875..ca12c1b 100644
--- a/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/5b19af.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
index de224d7..d2482cc 100644
--- a/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/6289fd.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_6289fd() {
   vec3 res = vec3(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
index 8515933..fd144bc 100644
--- a/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/6d105a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
index 0a4fc08..2ed67c6 100644
--- a/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/9f9fb9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
index 9687133..8f4f83b 100644
--- a/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/ac5d33.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_ac5d33() {
   vec4 res = vec4(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
index 3dfd7f1..8d6e872 100644
--- a/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/c15fdb.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
index 767b82c..c13506f 100644
--- a/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/c48aa6.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tanh_c48aa6() {
   vec2 res = vec2(0.76159417629241943359f);
diff --git a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
index d0dea5a..067732a 100644
--- a/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/tanh/e8efb3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
index 7860031..a489c14 100644
--- a/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/00348c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
index 06d5925..2f3ace6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/022903.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
index ff3b2bf..72d035e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0890c6.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/09140b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/09140b.wgsl.expected.glsl
index 824dfcf..7d5fc75 100644
--- a/test/tint/builtins/gen/var/textureDimensions/09140b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/09140b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/0baa0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0baa0d.wgsl.expected.glsl
index 2586d8f..a6c70ec 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0baa0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0baa0d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/0c0b0c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/0c0b0c.wgsl.expected.glsl
index 5dc6e8a..024faed 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0c0b0c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/0c0b0c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
index 25d147f..67134b6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/13f8db.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/1417dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1417dd.wgsl.expected.glsl
index 7b85b79..3cb574e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1417dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1417dd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
index fbaf29e..d5af62b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
index 09db9e2..995b028 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15b577.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
index 62f0f66..f8efd85 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1a2be7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
index 1c6b7ea..b3d0fb1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bc428.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
index b53e0dc..517ae2e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/1bd78c.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/224113.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/224113.wgsl.expected.glsl
index ba31e75..1a7d4f2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/224113.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/224113.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
index ffc3690..76f4156 100644
--- a/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/24db07.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
index d1c34e3..72f5cd7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/26d6bf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
index 4991234..b20471e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2e443d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
index 43f669a..e6ce89c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/2fd2a4.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/31799c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/31799c.wgsl.expected.glsl
index 5a96619..22755fb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/31799c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/31799c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/35a7e5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/35a7e5.wgsl.expected.glsl
index dbbeaee..eb6212e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/35a7e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/35a7e5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/378a65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/378a65.wgsl.expected.glsl
index 443adeb..84d8d85 100644
--- a/test/tint/builtins/gen/var/textureDimensions/378a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/378a65.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
index e6cf729..919180a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/382b16.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3a5bb1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3a5bb1.wgsl.expected.glsl
index 2ee9f6d..01c6da4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3a5bb1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3a5bb1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3a7b69.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3a7b69.wgsl.expected.glsl
index 6137b7c..84a983b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3a7b69.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3a7b69.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3af3e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3af3e7.wgsl.expected.glsl
index c77a899..19baa20 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3af3e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3af3e7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
index c7c38ee..4fbcaa9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3b38f6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3baab5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3baab5.wgsl.expected.glsl
index d2c7609..19a7d18 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3baab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3baab5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
index 3fdde2d..6ddadf7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3f3474.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
index 974be2d..ed9e86c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/3fc3dc.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/40c671.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/40c671.wgsl.expected.glsl
index 388ebf9..ba553ad 100644
--- a/test/tint/builtins/gen/var/textureDimensions/40c671.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/40c671.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/40ecf4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/40ecf4.wgsl.expected.glsl
index 6317e7f..0303a2b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/40ecf4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/40ecf4.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/41545f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/41545f.wgsl.expected.glsl
index 4eb7836..5e55fca 100644
--- a/test/tint/builtins/gen/var/textureDimensions/41545f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/41545f.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
index 3b24b6b..7937721 100644
--- a/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/445376.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/44b358.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/44b358.wgsl.expected.glsl
index 868adcb..0e68b5b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/44b358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/44b358.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/452fc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/452fc1.wgsl.expected.glsl
index 4c6f856..5927223 100644
--- a/test/tint/builtins/gen/var/textureDimensions/452fc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/452fc1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
index fd530f5..5ed91b7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/46f0fc.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
index 2a19ebd..8f68a03 100644
--- a/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/49a067.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/4b26ef.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/4b26ef.wgsl.expected.glsl
index b7b0de1..42c0aa4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4b26ef.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4b26ef.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
index 48ba467a..e969688 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/4be71b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
index 68b08b7..9901454 100644
--- a/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/528c0e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/58a82d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/58a82d.wgsl.expected.glsl
index 18d8f1b..b7204fd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/58a82d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/58a82d.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/591981.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/591981.wgsl.expected.glsl
index d9c6003..616acb1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/591981.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/591981.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/599ab5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/599ab5.wgsl.expected.glsl
index 7f5fe21..7b5d754 100644
--- a/test/tint/builtins/gen/var/textureDimensions/599ab5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/599ab5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/5b4b10.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/5b4b10.wgsl.expected.glsl
index bc304ff..adb8164 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5b4b10.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/5b4b10.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
index 53d46d7..b8b7619 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/5df042.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/607979.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/607979.wgsl.expected.glsl
index 01d6c50..22a0c4a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/607979.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/607979.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
index 384f794..15da757 100644
--- a/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/62cb5a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
index 0d7ee0b..0b118c8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/64dc74.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/674058.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/674058.wgsl.expected.glsl
index b48d280..5a8866d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/674058.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/674058.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
index 9cc4f3e..7fce54f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6e6c7a.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
index 7bc3cfb..f62df71 100644
--- a/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/6f1b5d.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/7228de.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7228de.wgsl.expected.glsl
index 0f21a9a..18efe9b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7228de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7228de.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
index 02be4d9..69b13ae 100644
--- a/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/756031.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/756304.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/756304.wgsl.expected.glsl
index 17f9f2f..c50ac10 100644
--- a/test/tint/builtins/gen/var/textureDimensions/756304.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/756304.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
index 5ff9472..fea91c9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/79d168.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
index 13a7636..9df52ef 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a3890.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
index f972f63..9f40f67 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/7a9e30.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/84f363.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/84f363.wgsl.expected.glsl
index d3889a9..06fb23c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/84f363.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/84f363.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/867ead.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/867ead.wgsl.expected.glsl
index dbeb579..87866be 100644
--- a/test/tint/builtins/gen/var/textureDimensions/867ead.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/867ead.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/8efd47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/8efd47.wgsl.expected.glsl
index 2749b281..a56171b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8efd47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/8efd47.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/902179.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/902179.wgsl.expected.glsl
index dd46ad6..1722153 100644
--- a/test/tint/builtins/gen/var/textureDimensions/902179.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/902179.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/90dd74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/90dd74.wgsl.expected.glsl
index 0411303..80cbfb9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/90dd74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/90dd74.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
index da96de6..cb3e3a0 100644
--- a/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/920006.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/92552e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/92552e.wgsl.expected.glsl
index a5fefdc..9d6d281 100644
--- a/test/tint/builtins/gen/var/textureDimensions/92552e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/92552e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
index 4d0484e..504156e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/965645.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
index ede72f9..d34e6ad 100644
--- a/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/991ea9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
index 1bc995d..2833740 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9b223b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
index a27a549..43c6b43 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9baf27.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
index 2368d70..6a32694 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9c7a00.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
index 409d237..bcb4cd4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9cd4ca.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
index bd93fe9..227c84b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/9e0794.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
index 3362a44..01c5395 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a2ba5e.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
index ecb97b8..5a2de99 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a48049.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
index b94c4df..0b0bd81 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/a4cd56.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/aa4353.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/aa4353.wgsl.expected.glsl
index 9476a5e..b3c051d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/aa4353.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/aa4353.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
index 83ed0d3..62ea911 100644
--- a/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/aac604.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/ad7d3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/ad7d3b.wgsl.expected.glsl
index 069e1c5..a2ddf21 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ad7d3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/ad7d3b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
index 6b59f60..14df58e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/b46d97.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
index e826968..850a187 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bb95d9.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/bbe285.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/bbe285.wgsl.expected.glsl
index 2316be5..72c08ac 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bbe285.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/bbe285.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/c1dbf6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c1dbf6.wgsl.expected.glsl
index 4acf890..71bc213 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c1dbf6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c1dbf6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
index 3e656b4..0835ebc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c2cdd3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/c44fc1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c44fc1.wgsl.expected.glsl
index b578f04..e335d31 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c44fc1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c44fc1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
index f35d537..0050738 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c5a36e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
index 1d42694..b94248d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/c871f3.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/cad3b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cad3b7.wgsl.expected.glsl
index 6963154..926c382 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cad3b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cad3b7.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/cc947b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cc947b.wgsl.expected.glsl
index f3b5c23..9f2845e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cc947b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cc947b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
index b86cb50..76639c5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/cdc6c9.wgsl.expected.glsl
@@ -69,7 +69,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct GammaTransferParams {
   float G;
diff --git a/test/tint/builtins/gen/var/textureDimensions/d08a94.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d08a94.wgsl.expected.glsl
index a876ea7..06a5867 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d08a94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d08a94.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/d1b882.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d1b882.wgsl.expected.glsl
index 37a302d..ee85c68 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d1b882.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d1b882.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
index 7b04065..56cc46e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d3accd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/d63c28.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d63c28.wgsl.expected.glsl
index bbd174e..91da2e3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d63c28.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d63c28.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/d8ba68.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d8ba68.wgsl.expected.glsl
index d9d5a8f..63abdf2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d8ba68.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d8ba68.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/d8f887.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/d8f887.wgsl.expected.glsl
index 5c3606f..0681ec9 100644
--- a/test/tint/builtins/gen/var/textureDimensions/d8f887.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/d8f887.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/da30d2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/da30d2.wgsl.expected.glsl
index 6585696..18ee778 100644
--- a/test/tint/builtins/gen/var/textureDimensions/da30d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/da30d2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/dc83ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/dc83ce.wgsl.expected.glsl
index dd892e1..fbf5bb4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dc83ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dc83ce.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/dee461.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/dee461.wgsl.expected.glsl
index 1ffc53c..7887fe8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dee461.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dee461.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
index 26c86d9..a722e78 100644
--- a/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/dfdc32.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e122fe.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e122fe.wgsl.expected.glsl
index 38d1b36..ae62815 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e122fe.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e122fe.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
index 4db6acd..226cfc8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e18a8b.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
index 5bfee51..02ba803 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4bfd2.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
index 3d1842c..4d247ba 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4e310.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
index a092734..23f76f6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e5a203.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/e99308.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/e99308.wgsl.expected.glsl
index a9726ab..adf7549 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e99308.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/e99308.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/ea066c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/ea066c.wgsl.expected.glsl
index 5547462..89b1b27 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ea066c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/ea066c.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
index 0a02a51..e27d0dc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eafe19.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/eb03b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/eb03b1.wgsl.expected.glsl
index b26825c..3594b7d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eb03b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/eb03b1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/ef2e58.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/ef2e58.wgsl.expected.glsl
index 1ff0462..d56d2da 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ef2e58.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/ef2e58.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
index acb7c4d..b9924e5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f17acd.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/f3a2ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f3a2ac.wgsl.expected.glsl
index 1b19e45..77e0d2e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f3a2ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f3a2ac.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/f4e469.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f4e469.wgsl.expected.glsl
index 6b6261f..347f90d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f4e469.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f4e469.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
index c4ade33..2967711 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f626b3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
index a5532bc..f7631a1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/f8522e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/fbb15a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/fbb15a.wgsl.expected.glsl
index 611c55a..d4d3886 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fbb15a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fbb15a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
index bcf1e6c..0abbe9b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/fdf6e9.wgsl.expected.glsl
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
index f9047d1..0f72812 100644
--- a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
index 186cfe0..09e648b 100644
--- a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
index afde8a5..e09eea5 100644
--- a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
index a5180b1..d40c228 100644
--- a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
index f505a88..051985c 100644
--- a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
index 20515d0..2b66222 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
index 0dfc33b..2bed9be 100644
--- a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
index e34db15..034f3e8 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
index 087a39e..a716369 100644
--- a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
index 8243acd..99d431b 100644
--- a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
index ff5fe8a..968bf13 100644
--- a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
index c91bd08..d7951cc 100644
--- a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
index f68eb1b..aa183b1 100644
--- a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
index 9ddf0cd..425ba51 100644
--- a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
index e7a712f..1c49804 100644
--- a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
index 2185e4b..39ea53b 100644
--- a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
index 1456aec..01bc974 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
index e7c6380..45dad1d 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
index 313a123..e9d5651 100644
--- a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
index 9447779..d9b9989 100644
--- a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
index ef49fee..30d28b7 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
index 36a4f92..d0a01e3 100644
--- a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
index a7fb50e..282552e 100644
--- a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
index c701d98..f87b94b 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
index a909815..73cc376 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
index 961393d..63a28fd 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
index a37300f..1953e6f 100644
--- a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usamplerCube arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
index e3d1439..ecc6c2f 100644
--- a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
index 33dae70..5914fec 100644
--- a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
index 2ce2083..38c63af 100644
--- a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
index 6525533..7143966 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
index e545a56..157c859 100644
--- a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
index 8dc448a..b5c2ca2 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
index a9b2156..544ad3c 100644
--- a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
index 69ab184..046c95f 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
index 49d493e..1b14940 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
index 349a35d..a3af8c3 100644
--- a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
index 6e577bb..20aca60 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
index 30bcddf..0d1bc67 100644
--- a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
index 3374754..1ae596e 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
index 114bf34..1bdbad7 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
index 8acc02a..2e044b9 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
index bbefe2f..2beb5a5 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
index f5473aa..6a5c908 100644
--- a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
index 42f3587..7f25788 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
index ea16dff..866c8a9 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
index b44b9f0..4dd4e0d 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
index 4ff414a..5245599 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
index 6c25408..1800768 100644
--- a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_1_arg_2;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
index 5b36ee0..3a6c82f 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/144a9a.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
index 540dce6..11be5c9 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/182fd4.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
index f997ae2..dce2b4b 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/313add.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
index 330a410..6f0abb2 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/6d9352.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
index 4161270..3f48c05 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/783e65.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
index a760aa8..9f3e521 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/b5bc43.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
index 0da1ef0..b09d9a3 100644
--- a/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureGatherCompare/f585cc.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
index 2cc56ad..c8b50cc 100644
--- a/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/019da0.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
index 280e45d..579b496 100644
--- a/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/026217.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
index 8c2ef9f..7910268 100644
--- a/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/04b911.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
index e9ea555..c338ee3 100644
--- a/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/0cb698.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
index 800cb84..e9622dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1373dc.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
index 09820b1..37475d9 100644
--- a/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/168dc8.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
index 72321cd..7fa1fe6 100644
--- a/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/19cf87.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
index 7fdc337..5486377 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b051f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
index 9cbd32c..b167748 100644
--- a/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1b8588.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
index 8f1e2bf..f45001e 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.glsl
@@ -103,7 +103,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
index 0c7eafa..178f8f3 100644
--- a/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1c562a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
index 440f1f0..2ff93e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/1f2016.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
index b274e16..6f459b6 100644
--- a/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/216c37.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
index 3323fd1..655744f 100644
--- a/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/21d1c4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
index fb6abd4..568c5e3 100644
--- a/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/223246.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
index 5f991d1..907d471 100644
--- a/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2363be.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
index 75f3f2e..2b8746e 100644
--- a/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2d479c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
index a2d98f7..677ce10 100644
--- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
index bd5ba81..47f7425 100644
--- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
index 4adc61d..53df6be 100644
--- a/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3c96e8.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
index 779e778..4c7eb65 100644
--- a/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3d3fd1.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
index ea4d956..4b78c99 100644
--- a/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/3da3ed.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
index fe862ce..e0088fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/439e2a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
index 32865c7..df7c915 100644
--- a/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/46a93f.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
index e39c1cb..987bf59 100644
--- a/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/47e818.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
index 0e2c1fa..dbfc8a4 100644
--- a/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/484344.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
index ee70945..f583087 100644
--- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
index dd3b754..cce7df9 100644
--- a/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4acb64.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
index 68ff2de..799565f 100644
--- a/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4c423f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
index 59d8085..d1ba35a 100644
--- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
index d475ffc..bf301fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/4fd803.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
index f3a6be8..471857a 100644
--- a/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/53e142.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
index d62677e..9ee8433 100644
--- a/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/54a59b.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
index e6bbe1a..034336c 100644
--- a/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/5a2f9d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
index 3b91982..3460e5d 100644
--- a/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6154d4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
index 05d767f..fa5b3dd 100644
--- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
index 5743672..0de4854 100644
--- a/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/62d1de.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
index e2d401b..8a2e509 100644
--- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
index 1c28d88..c388cde 100644
--- a/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/656d76.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
index f331694..74158b5 100644
--- a/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/66be47.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
index a58a814..b4e96fe 100644
--- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
index 726add9..5fe394d 100644
--- a/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6b77d4.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
index bbd72eb..2812805 100644
--- a/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6bf4b7.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
index 485a6ef..de7c42b 100644
--- a/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/6d376a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
index 0785173..a61dabe 100644
--- a/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/714471.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
index 1e53c4a..87f320a 100644
--- a/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/789045.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
index 91e448b..f558ed1 100644
--- a/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/79e697.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
index 4df80f4..9f93a80 100644
--- a/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7ab4df.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
index b0dba93..7ea2043 100644
--- a/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7b63e0.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
index 22a3a68..9768c22 100644
--- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
index adeee42..6fbe04c 100644
--- a/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7c90e5.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
index 2b5dbdd..582b7e2 100644
--- a/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/7fd822.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
index 6a73863..2503aee 100644
--- a/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/81c381.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
index 4fad2599c..e5d73c0 100644
--- a/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/84dee1.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
index e08fff2..99fc5e8 100644
--- a/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8527b1.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
index 08f6f21..86ab655 100644
--- a/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/87be85.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
index 59d0fb9..7041318 100644
--- a/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/897cf3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
index 71e9f39..f94ebbd 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.glsl
@@ -103,7 +103,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
index af59e60..b8bf248 100644
--- a/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/8ccbe3.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
index fc246b7..4264443 100644
--- a/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/92eb1f.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
index 4036450..f68f49b 100644
--- a/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/96efd5.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
index 17b1a6a..dccf3b8 100644
--- a/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9885b0.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
index f13f811..f106119 100644
--- a/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9aa733.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
index 15581ef..d5c7107 100644
--- a/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9b2667.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
index 3ba0da3..fb0834b 100644
--- a/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9d70e9.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
index 1b687f5..9120f82 100644
--- a/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9ed19e.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
index d931466..6f20bd3 100644
--- a/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/9fbfd9.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
index 02ba270..f8ef525 100644
--- a/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a24be1.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
index 760ef70..6d5759c 100644
--- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
index 973ff2e..1e0adc2 100644
--- a/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/a9a9f5.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
index 269283d..eaea114 100644
--- a/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b29f71.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
index c598430..4c0a524 100644
--- a/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b6ba5d.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
index 16c4e89..af79b31 100644
--- a/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b73f6b.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
index 04aff45..ab403d8 100644
--- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
index 6653ae9..9663423 100644
--- a/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/bc3201.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
index 0ed5d06..136bbaf 100644
--- a/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/bcbb3c.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
index 038f2ba..f646b17 100644
--- a/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c16e00.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
index 5da0369..dad2a6c 100644
--- a/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c2a480.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
index b1f1530..2abfe86 100644
--- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
index 2489764..ffe70bb 100644
--- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
index 64412e4..692dde4 100644
--- a/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/cb57c2.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
index 6b302d4..d6faf1d 100644
--- a/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e35f72.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler3D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
index 15487fd..635b4e7 100644
--- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
index e57c3df..35a4772 100644
--- a/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ebfb92.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
index 350427c..1c70210 100644
--- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
index 6367ba0..7d51ab1 100644
--- a/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f348d9.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
index 5bca90c..f4e4ad7 100644
--- a/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/f85291.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
index a62a880..b756df1 100644
--- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
index 4889f39..16e5620 100644
--- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DMS arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
index 2987f1b..2f7865f 100644
--- a/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureLoad/ff1119.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/014a3b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/014a3b.wgsl.expected.glsl
index 001d1ff..4e63c55 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/014a3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/014a3b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
index e67a1c0..1dce1fd 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/0ec222.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/1f858a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/1f858a.wgsl.expected.glsl
index 690008d..ee0c592 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/1f858a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/1f858a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/3465ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/3465ec.wgsl.expected.glsl
index 0ef28f0..5781ff4 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/3465ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/3465ec.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/4c4333.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/4c4333.wgsl.expected.glsl
index 1d5c395..3bba5f5 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/4c4333.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/4c4333.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/59eb57.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/59eb57.wgsl.expected.glsl
index af22f02..9a5fa9c 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/59eb57.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/59eb57.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/61bd23.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/61bd23.wgsl.expected.glsl
index b661842..e106412 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/61bd23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/61bd23.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
index f5f87b3..2377b29 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/77be7b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/878dea.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/878dea.wgsl.expected.glsl
index f2f8fe7..52740fa 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/878dea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/878dea.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/87faad.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/87faad.wgsl.expected.glsl
index a635720..b044f84 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/87faad.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/87faad.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
index 8b87e5c..687d8c6 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8ac32a.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8bd987.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/8bd987.wgsl.expected.glsl
index 3c84a10..9b4a103 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8bd987.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8bd987.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/8dbf23.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/8dbf23.wgsl.expected.glsl
index c00260a..414bf19 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/8dbf23.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/8dbf23.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/9695c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/9695c6.wgsl.expected.glsl
index 95cdd1f..b61d5b0 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/9695c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/9695c6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/98a9cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/98a9cf.wgsl.expected.glsl
index 0b00cc7..14e935a 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/98a9cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/98a9cf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
index 4705af1..fa565fb 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/a9d3f5.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_1;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl.expected.glsl
index e54aa63..bcf5c8e 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureNumLayers/de8087.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLayers/de8087.wgsl.expected.glsl
index 6f34c77..3c3c67f 100644
--- a/test/tint/builtins/gen/var/textureNumLayers/de8087.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLayers/de8087.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
diff --git a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.glsl
index 2aa5648..9e78821 100644
--- a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.glsl
index 8653d38..15b85c1 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.glsl
index edde093..62be959 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.glsl
index c76d896..f8a3432 100644
--- a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.glsl
index f4c425e..897ba12 100644
--- a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.glsl
index e22209e..3a60192 100644
--- a/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.glsl
index 26549ac..1e4439e 100644
--- a/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.glsl
index 0d05a57..c29a3bf 100644
--- a/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.glsl
index 3ebb7cd..62458d5 100644
--- a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.glsl
index e3f09d1..3a0c077 100644
--- a/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.glsl
index 8d3202f..499b9b9 100644
--- a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.glsl
index 68b53e0..fd4b3fe 100644
--- a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.glsl
index f66ee37..c5bcfc4 100644
--- a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.glsl
index 7ab0379..76c127c 100644
--- a/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.glsl
index 532ed18..80362da 100644
--- a/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
index cf69f93..b1920e7 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.glsl
@@ -112,7 +112,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
index df1af06..afa8c6f 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/9ca02c.wgsl.expected.glsl
@@ -34,7 +34,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 
 vec4 tint_textureSampleBaseClampToEdge(highp sampler2D t_1, highp sampler2D t_s, vec2 coord) {
diff --git a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.glsl
index 6ea2a85..b343ef2 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/1c707e.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/53b9f7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/53b9f7.wgsl.expected.glsl
index d343ccf..e47fe48 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/53b9f7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/53b9f7.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.glsl
index 320e351..e8c1121 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/594824.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/6a9113.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/6a9113.wgsl.expected.glsl
index 3d30505..8716143 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/6a9113.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/6a9113.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.glsl
index e0198c0..0279c78 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/80e579.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.glsl
index 4c303a4..5228c06 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/87915c.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.glsl
index 214f9f0..b9e7707 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/9dbb51.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.glsl
index 3f6d7e8..7cae1fc 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/a161cf.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleBias/d3fa1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleBias/d3fa1b.wgsl.expected.glsl
index 52958fa..88ce43a 100644
--- a/test/tint/builtins/gen/var/textureSampleBias/d3fa1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleBias/d3fa1b.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/3a5923.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompare/3a5923.wgsl.expected.glsl
index 2a0e458..ba0abeb 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/3a5923.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/3a5923.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/63fb83.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompare/63fb83.wgsl.expected.glsl
index 9828944..13cdcba 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/63fb83.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/63fb83.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.glsl
index 6624672..7c48951 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/90ae56.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.glsl
index b00d8d5..dd197fc 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dd431d.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.glsl
index c28c43b..9722ec7 100644
--- a/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompare/dec064.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
index b2ff988..61037ea 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1116ed.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
index 75cdc7d..4eed5d4 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/1568e3.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCubeShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
index c3e1af8..371244c 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/2ad2b1.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
index 54122c2..4fe4d00 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7dc3c0.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArrayShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
index 19fff0f..e746886 100644
--- a/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleCompareLevel/7f2b9a.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
index 8cf4cef..e54d422 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/21402b.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
index 3a27222..af3f471 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/2ecd8f.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
index e0d4aa8..7c4ef2f 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/521263.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
index e3695d5..2199d3a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5312f4.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
index 839af66..5288e42 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/5884dd.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
index 69dde9b..aa96e4b 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/7cd6de.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
index c00e47d..38d4e9f 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/a09131.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
index 66d4934..bdcd42d 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d4e3c5.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
index bff77b7..9e0a29a 100644
--- a/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleGrad/d65515.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
index 91a191c..939bf11 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/02be59.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
index e08c310..be5b612 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/0b0a1b.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
index 9496eb9..68381cf 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/265cc7.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
index c2c0334..e18ee31 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/302be4.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
index 2182e6b..40ace5d 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/73e892.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
index fda2021..7025243 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/749baf.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
index 67ea1d0..69b0560 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/abfcc0.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
index 8d64a32..6ab3ee3 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/b7c55c.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
index 9ce338a..b54797e 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c32df7.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp samplerCube arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
index a0735b4..816f36e 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/c6aca6.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
index 4dfe052..a6fbee5 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/dcbecb.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler3D arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
index fee0d6a..ab6db6e 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/f3b2c8.wgsl.expected.glsl
@@ -27,7 +27,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DShadow arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
index 1c1367c..69a0036 100644
--- a/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureSampleLevel/faa6d7.wgsl.expected.glsl
@@ -28,7 +28,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DArray arg_0_arg_1;
 
diff --git a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.glsl
index 7f9cf0d..d1f9aa5 100644
--- a/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/00ca64.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_00ca64() {
diff --git a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.glsl
index 54ea295..3319fda 100644
--- a/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/0148bd.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_0148bd() {
diff --git a/test/tint/builtins/gen/var/textureStore/05ce15.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/05ce15.wgsl.expected.glsl
index e40a987..6174295 100644
--- a/test/tint/builtins/gen/var/textureStore/05ce15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/05ce15.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_05ce15() {
diff --git a/test/tint/builtins/gen/var/textureStore/068641.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/068641.wgsl.expected.glsl
index d627f3c..1753885 100644
--- a/test/tint/builtins/gen/var/textureStore/068641.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/068641.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_068641() {
diff --git a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.glsl
index 265a868..6ea699d 100644
--- a/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/06e49c.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_06e49c() {
diff --git a/test/tint/builtins/gen/var/textureStore/07548b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/07548b.wgsl.expected.glsl
index c1b94f0..9d4b86c 100644
--- a/test/tint/builtins/gen/var/textureStore/07548b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/07548b.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 void textureStore_07548b() {
diff --git a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.glsl
index b955a02..765e03d 100644
--- a/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/0a1a79.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_0a1a79() {
diff --git a/test/tint/builtins/gen/var/textureStore/0af6b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/0af6b5.wgsl.expected.glsl
index 7d26a29..7e6467e 100644
--- a/test/tint/builtins/gen/var/textureStore/0af6b5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/0af6b5.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_0af6b5() {
diff --git a/test/tint/builtins/gen/var/textureStore/0c3dff.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/0c3dff.wgsl.expected.glsl
index f7b6498..f5ba773 100644
--- a/test/tint/builtins/gen/var/textureStore/0c3dff.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/0c3dff.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_0c3dff() {
diff --git a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.glsl
index 08388eb..df59c33 100644
--- a/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/0cc825.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_0cc825() {
diff --git a/test/tint/builtins/gen/var/textureStore/102722.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/102722.wgsl.expected.glsl
index 9999106..73b0e8f 100644
--- a/test/tint/builtins/gen/var/textureStore/102722.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/102722.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_102722() {
diff --git a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.glsl
index fd42714..621d454 100644
--- a/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/158cf0.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_158cf0() {
diff --git a/test/tint/builtins/gen/var/textureStore/1839f2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1839f2.wgsl.expected.glsl
index 80d857b..24266b6 100644
--- a/test/tint/builtins/gen/var/textureStore/1839f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1839f2.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_1839f2() {
diff --git a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.glsl
index bcd8839..f147634 100644
--- a/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1a7d35.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1a7d35() {
diff --git a/test/tint/builtins/gen/var/textureStore/1bbd08.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1bbd08.wgsl.expected.glsl
index ebbd4b4..6b05c80 100644
--- a/test/tint/builtins/gen/var/textureStore/1bbd08.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1bbd08.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_1bbd08() {
diff --git a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.glsl
index 20a007a..4417146 100644
--- a/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1c02e7.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1c02e7() {
diff --git a/test/tint/builtins/gen/var/textureStore/1dc954.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1dc954.wgsl.expected.glsl
index 866cb81..1e5b5fb 100644
--- a/test/tint/builtins/gen/var/textureStore/1dc954.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1dc954.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_1dc954() {
diff --git a/test/tint/builtins/gen/var/textureStore/1e20f2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1e20f2.wgsl.expected.glsl
index 2f54945..b9582d3 100644
--- a/test/tint/builtins/gen/var/textureStore/1e20f2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1e20f2.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_1e20f2() {
diff --git a/test/tint/builtins/gen/var/textureStore/1efc36.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1efc36.wgsl.expected.glsl
index b6ba970..f4d71ff 100644
--- a/test/tint/builtins/gen/var/textureStore/1efc36.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1efc36.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_1efc36() {
diff --git a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.glsl
index e04a7f1..ad55bb3 100644
--- a/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/1f1ef8.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_1f1ef8() {
diff --git a/test/tint/builtins/gen/var/textureStore/207fdd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/207fdd.wgsl.expected.glsl
index fd81cb6..a6b30f3 100644
--- a/test/tint/builtins/gen/var/textureStore/207fdd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/207fdd.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 void textureStore_207fdd() {
diff --git a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.glsl
index 2e6e6d4..052b916 100644
--- a/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/22d955.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_22d955() {
diff --git a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.glsl
index 0788b23..62f58ba 100644
--- a/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/22f045.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_22f045() {
diff --git a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.glsl
index c298527..409e208 100644
--- a/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2383fc.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_2383fc() {
diff --git a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.glsl
index d0c070f..9660c71 100644
--- a/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/258ab0.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_258ab0() {
diff --git a/test/tint/builtins/gen/var/textureStore/26bf70.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/26bf70.wgsl.expected.glsl
index e4bbc30..6cb1e84 100644
--- a/test/tint/builtins/gen/var/textureStore/26bf70.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/26bf70.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_26bf70() {
diff --git a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.glsl
index e94b217..892d76a 100644
--- a/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/27063a.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_27063a() {
diff --git a/test/tint/builtins/gen/var/textureStore/285218.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/285218.wgsl.expected.glsl
index dfa6c9b..1d4ea00 100644
--- a/test/tint/builtins/gen/var/textureStore/285218.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/285218.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_285218() {
diff --git a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.glsl
index 9361577..3699f71 100644
--- a/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/28a7ec.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_28a7ec() {
diff --git a/test/tint/builtins/gen/var/textureStore/2ac6c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2ac6c7.wgsl.expected.glsl
index a3f44d9..92e2660 100644
--- a/test/tint/builtins/gen/var/textureStore/2ac6c7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2ac6c7.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_2ac6c7() {
diff --git a/test/tint/builtins/gen/var/textureStore/2e4245.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2e4245.wgsl.expected.glsl
index f5d677b..c926c99 100644
--- a/test/tint/builtins/gen/var/textureStore/2e4245.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2e4245.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_2e4245() {
diff --git a/test/tint/builtins/gen/var/textureStore/2e6102.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2e6102.wgsl.expected.glsl
index a2efe7d..ea581c2 100644
--- a/test/tint/builtins/gen/var/textureStore/2e6102.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2e6102.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_2e6102() {
diff --git a/test/tint/builtins/gen/var/textureStore/2eb2a4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2eb2a4.wgsl.expected.glsl
index 02e6f6d..932e732 100644
--- a/test/tint/builtins/gen/var/textureStore/2eb2a4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2eb2a4.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_2eb2a4() {
diff --git a/test/tint/builtins/gen/var/textureStore/2ed2a3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/2ed2a3.wgsl.expected.glsl
index 24a68fe..e623d32 100644
--- a/test/tint/builtins/gen/var/textureStore/2ed2a3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/2ed2a3.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_2ed2a3() {
diff --git a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.glsl
index 87d1edb..6054433 100644
--- a/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/30b0b0.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_30b0b0() {
diff --git a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.glsl
index 58fc772..957739f 100644
--- a/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/319029.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_319029() {
diff --git a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.glsl
index 77d4a8b..da4b32a 100644
--- a/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/32f368.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_32f368() {
diff --git a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.glsl
index d18eddd..b0267bd 100644
--- a/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/330b7c.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_330b7c() {
diff --git a/test/tint/builtins/gen/var/textureStore/331aee.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/331aee.wgsl.expected.glsl
index e2737d6..0181826 100644
--- a/test/tint/builtins/gen/var/textureStore/331aee.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/331aee.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 void textureStore_331aee() {
diff --git a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.glsl
index 0e7b456..0ec2851 100644
--- a/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/33cec0.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_33cec0() {
diff --git a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.glsl
index 66ed916..4560790 100644
--- a/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/37ffd4.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_37ffd4() {
diff --git a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.glsl
index a2fdcf8..9f5e772 100644
--- a/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/38e8d7.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_38e8d7() {
diff --git a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.glsl
index d862022..9988e96 100644
--- a/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/3a52ac.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_3a52ac() {
diff --git a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.glsl
index ac01732..df4302f 100644
--- a/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/3bb7a1.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_3bb7a1() {
diff --git a/test/tint/builtins/gen/var/textureStore/3bec15.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/3bec15.wgsl.expected.glsl
index bf35286..79f102f 100644
--- a/test/tint/builtins/gen/var/textureStore/3bec15.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/3bec15.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_3bec15() {
diff --git a/test/tint/builtins/gen/var/textureStore/3c1937.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/3c1937.wgsl.expected.glsl
index 20078bb..4158f81 100644
--- a/test/tint/builtins/gen/var/textureStore/3c1937.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/3c1937.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_3c1937() {
diff --git a/test/tint/builtins/gen/var/textureStore/40c455.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/40c455.wgsl.expected.glsl
index 0b15e40..80ef2ba 100644
--- a/test/tint/builtins/gen/var/textureStore/40c455.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/40c455.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_40c455() {
diff --git a/test/tint/builtins/gen/var/textureStore/4288fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/4288fc.wgsl.expected.glsl
index 8b37e2b..098364f 100644
--- a/test/tint/builtins/gen/var/textureStore/4288fc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/4288fc.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 void textureStore_4288fc() {
diff --git a/test/tint/builtins/gen/var/textureStore/441ba8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/441ba8.wgsl.expected.glsl
index 1350e88..ca929e4 100644
--- a/test/tint/builtins/gen/var/textureStore/441ba8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/441ba8.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_441ba8() {
diff --git a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.glsl
index 590dc7c..770e2bb 100644
--- a/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/44daa7.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_44daa7() {
diff --git a/test/tint/builtins/gen/var/textureStore/486500.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/486500.wgsl.expected.glsl
index fefc5a5..6adf27d 100644
--- a/test/tint/builtins/gen/var/textureStore/486500.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/486500.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_486500() {
diff --git a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.glsl
index a61ea79..5948f36 100644
--- a/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/4fc057.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_4fc057() {
diff --git a/test/tint/builtins/gen/var/textureStore/52f503.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/52f503.wgsl.expected.glsl
index d548df8..f11ec55 100644
--- a/test/tint/builtins/gen/var/textureStore/52f503.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/52f503.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_52f503() {
diff --git a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.glsl
index fc888dd..857cfa8 100644
--- a/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/5841f8.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_5841f8() {
diff --git a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.glsl
index 442c0c8..0f4ece2 100644
--- a/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/59a0ab.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_59a0ab() {
diff --git a/test/tint/builtins/gen/var/textureStore/5a2f8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/5a2f8f.wgsl.expected.glsl
index 72b32ed..ef720fc 100644
--- a/test/tint/builtins/gen/var/textureStore/5a2f8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/5a2f8f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_5a2f8f() {
diff --git a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.glsl
index df933c9..6d0a2f2 100644
--- a/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/5ddc61.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_5ddc61() {
diff --git a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.glsl
index be9a922..caae1df 100644
--- a/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/5f9a49.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
 void textureStore_5f9a49() {
diff --git a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.glsl
index 9f73ce3..f64d2d1 100644
--- a/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/60975f.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_60975f() {
diff --git a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.glsl
index c418a4c..098f007 100644
--- a/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/699a1b.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_699a1b() {
diff --git a/test/tint/builtins/gen/var/textureStore/6b75c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/6b75c3.wgsl.expected.glsl
index 351aa34..25d097a 100644
--- a/test/tint/builtins/gen/var/textureStore/6b75c3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/6b75c3.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2D arg_0;
 void textureStore_6b75c3() {
diff --git a/test/tint/builtins/gen/var/textureStore/6b80d2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/6b80d2.wgsl.expected.glsl
index 3548299..24f756c 100644
--- a/test/tint/builtins/gen/var/textureStore/6b80d2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/6b80d2.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_6b80d2() {
diff --git a/test/tint/builtins/gen/var/textureStore/6cff2e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/6cff2e.wgsl.expected.glsl
index bd3b42a..ad3c01e 100644
--- a/test/tint/builtins/gen/var/textureStore/6cff2e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/6cff2e.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_6cff2e() {
diff --git a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.glsl
index 8cc9b7c..2bed416 100644
--- a/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/6da692.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_6da692() {
diff --git a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.glsl
index 47c47cc..2fadc2e 100644
--- a/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/6f8642.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_6f8642() {
diff --git a/test/tint/builtins/gen/var/textureStore/731349.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/731349.wgsl.expected.glsl
index 7873e23..539dfb2 100644
--- a/test/tint/builtins/gen/var/textureStore/731349.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/731349.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_731349() {
diff --git a/test/tint/builtins/gen/var/textureStore/73bbbc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/73bbbc.wgsl.expected.glsl
index f100d49..9100cc8 100644
--- a/test/tint/builtins/gen/var/textureStore/73bbbc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/73bbbc.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_73bbbc() {
diff --git a/test/tint/builtins/gen/var/textureStore/752da6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/752da6.wgsl.expected.glsl
index 1d02b54..9616864 100644
--- a/test/tint/builtins/gen/var/textureStore/752da6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/752da6.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_752da6() {
diff --git a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.glsl
index 5cbc1bb..c4d8f39 100644
--- a/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/76affd.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_76affd() {
diff --git a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.glsl
index 3bd1e15..9091517 100644
--- a/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/779d14.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_779d14() {
diff --git a/test/tint/builtins/gen/var/textureStore/77c0ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/77c0ae.wgsl.expected.glsl
index 1b74a4e..e3a385f 100644
--- a/test/tint/builtins/gen/var/textureStore/77c0ae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/77c0ae.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_77c0ae() {
diff --git a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.glsl
index 5d8dfd7..ef0bf03 100644
--- a/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/7cec8d.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_7cec8d() {
diff --git a/test/tint/builtins/gen/var/textureStore/7cf6e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/7cf6e7.wgsl.expected.glsl
index 7abe534..d51bcc4 100644
--- a/test/tint/builtins/gen/var/textureStore/7cf6e7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/7cf6e7.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_7cf6e7() {
diff --git a/test/tint/builtins/gen/var/textureStore/7f7fae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/7f7fae.wgsl.expected.glsl
index 75ff306..3613366 100644
--- a/test/tint/builtins/gen/var/textureStore/7f7fae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/7f7fae.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_7f7fae() {
diff --git a/test/tint/builtins/gen/var/textureStore/804942.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/804942.wgsl.expected.glsl
index 9cf56e0..df47f9b 100644
--- a/test/tint/builtins/gen/var/textureStore/804942.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/804942.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_804942() {
diff --git a/test/tint/builtins/gen/var/textureStore/805dae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/805dae.wgsl.expected.glsl
index 76c472a..d3ad9ba 100644
--- a/test/tint/builtins/gen/var/textureStore/805dae.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/805dae.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_805dae() {
diff --git a/test/tint/builtins/gen/var/textureStore/8b9310.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8b9310.wgsl.expected.glsl
index 01aa711..7a8c54d 100644
--- a/test/tint/builtins/gen/var/textureStore/8b9310.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8b9310.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 void textureStore_8b9310() {
diff --git a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.glsl
index 0fd9536..e7dd571 100644
--- a/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8bb287.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_8bb287() {
diff --git a/test/tint/builtins/gen/var/textureStore/8c76e9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8c76e9.wgsl.expected.glsl
index 53b54c0..fd0bd21 100644
--- a/test/tint/builtins/gen/var/textureStore/8c76e9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8c76e9.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_8c76e9() {
diff --git a/test/tint/builtins/gen/var/textureStore/8dc54f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8dc54f.wgsl.expected.glsl
index 53f7885..9a839c0 100644
--- a/test/tint/builtins/gen/var/textureStore/8dc54f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8dc54f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_8dc54f() {
diff --git a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.glsl
index d070bb9..56dbbbb 100644
--- a/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8e0479.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_8e0479() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ed9f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8ed9f8.wgsl.expected.glsl
index be631e3..7c25cf6 100644
--- a/test/tint/builtins/gen/var/textureStore/8ed9f8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8ed9f8.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_8ed9f8() {
diff --git a/test/tint/builtins/gen/var/textureStore/8f71a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8f71a1.wgsl.expected.glsl
index 90fded8..7a03ae5 100644
--- a/test/tint/builtins/gen/var/textureStore/8f71a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8f71a1.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage3D arg_0;
 void textureStore_8f71a1() {
diff --git a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.glsl
index 4934abc..b73cde2 100644
--- a/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/8ff674.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_8ff674() {
diff --git a/test/tint/builtins/gen/var/textureStore/958353.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/958353.wgsl.expected.glsl
index 67a3970..3dac31f 100644
--- a/test/tint/builtins/gen/var/textureStore/958353.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/958353.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_958353() {
diff --git a/test/tint/builtins/gen/var/textureStore/959d94.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/959d94.wgsl.expected.glsl
index 34ad3bf..75265b1 100644
--- a/test/tint/builtins/gen/var/textureStore/959d94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/959d94.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
 void textureStore_959d94() {
diff --git a/test/tint/builtins/gen/var/textureStore/95e452.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/95e452.wgsl.expected.glsl
index 64f694f..6772992 100644
--- a/test/tint/builtins/gen/var/textureStore/95e452.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/95e452.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_95e452() {
diff --git a/test/tint/builtins/gen/var/textureStore/969534.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/969534.wgsl.expected.glsl
index 4b9f3bc..d645873 100644
--- a/test/tint/builtins/gen/var/textureStore/969534.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/969534.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_969534() {
diff --git a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.glsl
index d95242f..7ddb584 100644
--- a/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9938b7.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_9938b7() {
diff --git a/test/tint/builtins/gen/var/textureStore/9a3ecc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9a3ecc.wgsl.expected.glsl
index 70c00a6..8e5dd3f 100644
--- a/test/tint/builtins/gen/var/textureStore/9a3ecc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9a3ecc.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_9a3ecc() {
diff --git a/test/tint/builtins/gen/var/textureStore/9aedd3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9aedd3.wgsl.expected.glsl
index 0818848..3c6740e 100644
--- a/test/tint/builtins/gen/var/textureStore/9aedd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9aedd3.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_9aedd3() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.glsl
index 27ef778..b6a59fc 100644
--- a/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9d8668.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_9d8668() {
diff --git a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.glsl
index 7bd328d..cb84e41 100644
--- a/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9d9cd5.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_9d9cd5() {
diff --git a/test/tint/builtins/gen/var/textureStore/9e3ec5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9e3ec5.wgsl.expected.glsl
index 33a744d..c81481b 100644
--- a/test/tint/builtins/gen/var/textureStore/9e3ec5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9e3ec5.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_9e3ec5() {
diff --git a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.glsl
index a429114..b46f123 100644
--- a/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/9f7cea.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_9f7cea() {
diff --git a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.glsl
index fe82253..ccec36d 100644
--- a/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a0f96e.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_a0f96e() {
diff --git a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.glsl
index fba754f..5d16e32 100644
--- a/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a1352c.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_a1352c() {
diff --git a/test/tint/builtins/gen/var/textureStore/a165b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a165b8.wgsl.expected.glsl
index cd00e25..d439d07 100644
--- a/test/tint/builtins/gen/var/textureStore/a165b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a165b8.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_a165b8() {
diff --git a/test/tint/builtins/gen/var/textureStore/a4c338.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a4c338.wgsl.expected.glsl
index 2a0bbbf..402e96b 100644
--- a/test/tint/builtins/gen/var/textureStore/a4c338.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a4c338.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_a4c338() {
diff --git a/test/tint/builtins/gen/var/textureStore/a5e80d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a5e80d.wgsl.expected.glsl
index a694566..8be3d90 100644
--- a/test/tint/builtins/gen/var/textureStore/a5e80d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a5e80d.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32f) uniform highp writeonly image3D arg_0;
 void textureStore_a5e80d() {
diff --git a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.glsl
index 2249883..fae4092 100644
--- a/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a6a986.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2DArray arg_0;
 void textureStore_a6a986() {
diff --git a/test/tint/builtins/gen/var/textureStore/a6e78f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a6e78f.wgsl.expected.glsl
index 372b2de..863d99f 100644
--- a/test/tint/builtins/gen/var/textureStore/a6e78f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a6e78f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_a6e78f() {
diff --git a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.glsl
index 61410c5..812a5a4 100644
--- a/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/a9426c.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_a9426c() {
diff --git a/test/tint/builtins/gen/var/textureStore/aeb38a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/aeb38a.wgsl.expected.glsl
index dc43e68..7eed1de 100644
--- a/test/tint/builtins/gen/var/textureStore/aeb38a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/aeb38a.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_aeb38a() {
diff --git a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.glsl
index 3cf8367..a449a19 100644
--- a/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/b42fd3.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_b42fd3() {
diff --git a/test/tint/builtins/gen/var/textureStore/b706b1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/b706b1.wgsl.expected.glsl
index f8c512a..e128e17 100644
--- a/test/tint/builtins/gen/var/textureStore/b706b1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/b706b1.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 void textureStore_b706b1() {
diff --git a/test/tint/builtins/gen/var/textureStore/b70ded.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/b70ded.wgsl.expected.glsl
index 751e1d4..50ea0e5 100644
--- a/test/tint/builtins/gen/var/textureStore/b70ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/b70ded.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_b70ded() {
diff --git a/test/tint/builtins/gen/var/textureStore/b76ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/b76ff3.wgsl.expected.glsl
index 2357f24..fe3df4a 100644
--- a/test/tint/builtins/gen/var/textureStore/b76ff3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/b76ff3.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2D arg_0;
 void textureStore_b76ff3() {
diff --git a/test/tint/builtins/gen/var/textureStore/bbcb7f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/bbcb7f.wgsl.expected.glsl
index 73c6c3c..6e06987 100644
--- a/test/tint/builtins/gen/var/textureStore/bbcb7f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/bbcb7f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_bbcb7f() {
diff --git a/test/tint/builtins/gen/var/textureStore/be6e30.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/be6e30.wgsl.expected.glsl
index 17fe18e..70e40ce 100644
--- a/test/tint/builtins/gen/var/textureStore/be6e30.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/be6e30.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_be6e30() {
diff --git a/test/tint/builtins/gen/var/textureStore/bedbfc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/bedbfc.wgsl.expected.glsl
index 81f7040..f99a1ad 100644
--- a/test/tint/builtins/gen/var/textureStore/bedbfc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/bedbfc.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image3D arg_0;
 void textureStore_bedbfc() {
diff --git a/test/tint/builtins/gen/var/textureStore/bf775c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/bf775c.wgsl.expected.glsl
index eb4d052..6c8d033 100644
--- a/test/tint/builtins/gen/var/textureStore/bf775c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/bf775c.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2D arg_0;
 void textureStore_bf775c() {
diff --git a/test/tint/builtins/gen/var/textureStore/c1f29e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/c1f29e.wgsl.expected.glsl
index 55d7623..2d6cd94 100644
--- a/test/tint/builtins/gen/var/textureStore/c1f29e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/c1f29e.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2D arg_0;
 void textureStore_c1f29e() {
diff --git a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.glsl
index 2786286..20781d2 100644
--- a/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/c2ca46.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_c2ca46() {
diff --git a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.glsl
index b7b208a..6cdb118 100644
--- a/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/c32905.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_c32905() {
diff --git a/test/tint/builtins/gen/var/textureStore/c5af1e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/c5af1e.wgsl.expected.glsl
index cd1558a..5656d7d 100644
--- a/test/tint/builtins/gen/var/textureStore/c5af1e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/c5af1e.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image3D arg_0;
 void textureStore_c5af1e() {
diff --git a/test/tint/builtins/gen/var/textureStore/c9d780.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/c9d780.wgsl.expected.glsl
index 25ce28f..ea13cef 100644
--- a/test/tint/builtins/gen/var/textureStore/c9d780.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/c9d780.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_c9d780() {
diff --git a/test/tint/builtins/gen/var/textureStore/cb3b0b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/cb3b0b.wgsl.expected.glsl
index 9b2d5e6..ac3a4a6 100644
--- a/test/tint/builtins/gen/var/textureStore/cb3b0b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/cb3b0b.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage3D arg_0;
 void textureStore_cb3b0b() {
diff --git a/test/tint/builtins/gen/var/textureStore/cd6755.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/cd6755.wgsl.expected.glsl
index 76dd31a..930594f 100644
--- a/test/tint/builtins/gen/var/textureStore/cd6755.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/cd6755.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_cd6755() {
diff --git a/test/tint/builtins/gen/var/textureStore/d26166.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/d26166.wgsl.expected.glsl
index b5c26dd..df0f33e 100644
--- a/test/tint/builtins/gen/var/textureStore/d26166.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/d26166.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_d26166() {
diff --git a/test/tint/builtins/gen/var/textureStore/d2b565.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/d2b565.wgsl.expected.glsl
index 2e4bde5..98ef31a 100644
--- a/test/tint/builtins/gen/var/textureStore/d2b565.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/d2b565.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_d2b565() {
diff --git a/test/tint/builtins/gen/var/textureStore/d4aa95.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/d4aa95.wgsl.expected.glsl
index 3a743d9..920b4da 100644
--- a/test/tint/builtins/gen/var/textureStore/d4aa95.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/d4aa95.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_d4aa95() {
diff --git a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.glsl
index 9b95ec7..0b125dd 100644
--- a/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/d55e65.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_d55e65() {
diff --git a/test/tint/builtins/gen/var/textureStore/db92a2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/db92a2.wgsl.expected.glsl
index c4cb3ba..f10dd1f 100644
--- a/test/tint/builtins/gen/var/textureStore/db92a2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/db92a2.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_db92a2() {
diff --git a/test/tint/builtins/gen/var/textureStore/dd7d81.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/dd7d81.wgsl.expected.glsl
index 60fac80..4ca056f 100644
--- a/test/tint/builtins/gen/var/textureStore/dd7d81.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/dd7d81.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
 void textureStore_dd7d81() {
diff --git a/test/tint/builtins/gen/var/textureStore/de4b94.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/de4b94.wgsl.expected.glsl
index 9d4b945..c6d46a6 100644
--- a/test/tint/builtins/gen/var/textureStore/de4b94.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/de4b94.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage2D arg_0;
 void textureStore_de4b94() {
diff --git a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.glsl
index 047cb16..e9c5ed1 100644
--- a/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/df2ca4.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image2DArray arg_0;
 void textureStore_df2ca4() {
diff --git a/test/tint/builtins/gen/var/textureStore/e0b666.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/e0b666.wgsl.expected.glsl
index 6cee2da..0ab5575 100644
--- a/test/tint/builtins/gen/var/textureStore/e0b666.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/e0b666.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_e0b666() {
diff --git a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.glsl
index d5f5980..1d41803 100644
--- a/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/e38281.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2DArray arg_0;
 void textureStore_e38281() {
diff --git a/test/tint/builtins/gen/var/textureStore/e7c6d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/e7c6d8.wgsl.expected.glsl
index d180ebb..5ea8b44 100644
--- a/test/tint/builtins/gen/var/textureStore/e7c6d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/e7c6d8.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8) uniform highp writeonly image2D arg_0;
 void textureStore_e7c6d8() {
diff --git a/test/tint/builtins/gen/var/textureStore/e885e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/e885e8.wgsl.expected.glsl
index ae20bbe..1905c27 100644
--- a/test/tint/builtins/gen/var/textureStore/e885e8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/e885e8.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16f) uniform highp writeonly image2D arg_0;
 void textureStore_e885e8() {
diff --git a/test/tint/builtins/gen/var/textureStore/e8cbf7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/e8cbf7.wgsl.expected.glsl
index 4049bc9..3293355 100644
--- a/test/tint/builtins/gen/var/textureStore/e8cbf7.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/e8cbf7.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_e8cbf7() {
diff --git a/test/tint/builtins/gen/var/textureStore/eb702f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/eb702f.wgsl.expected.glsl
index 89e2a01..74ca7fc 100644
--- a/test/tint/builtins/gen/var/textureStore/eb702f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/eb702f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32f) uniform highp writeonly image3D arg_0;
 void textureStore_eb702f() {
diff --git a/test/tint/builtins/gen/var/textureStore/eb78b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/eb78b9.wgsl.expected.glsl
index ba4886c..0a69f2f 100644
--- a/test/tint/builtins/gen/var/textureStore/eb78b9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/eb78b9.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_eb78b9() {
diff --git a/test/tint/builtins/gen/var/textureStore/ef9f2f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/ef9f2f.wgsl.expected.glsl
index 03179e4..b46a0205 100644
--- a/test/tint/builtins/gen/var/textureStore/ef9f2f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/ef9f2f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_ef9f2f() {
diff --git a/test/tint/builtins/gen/var/textureStore/f1e6d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/f1e6d3.wgsl.expected.glsl
index 1276474..48b7fce 100644
--- a/test/tint/builtins/gen/var/textureStore/f1e6d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/f1e6d3.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(r32i) uniform highp writeonly iimage3D arg_0;
 void textureStore_f1e6d3() {
diff --git a/test/tint/builtins/gen/var/textureStore/f8dead.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/f8dead.wgsl.expected.glsl
index c0607a9..1c27f68 100644
--- a/test/tint/builtins/gen/var/textureStore/f8dead.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/f8dead.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
 void textureStore_f8dead() {
diff --git a/test/tint/builtins/gen/var/textureStore/fb9a8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/fb9a8f.wgsl.expected.glsl
index c7efe2c..5f6645d 100644
--- a/test/tint/builtins/gen/var/textureStore/fb9a8f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/fb9a8f.wgsl.expected.glsl
@@ -21,7 +21,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
 void textureStore_fb9a8f() {
diff --git a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.glsl
index 7e5516f..f19b2a8 100644
--- a/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/fbf53f.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
 void textureStore_fbf53f() {
diff --git a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.glsl
index aa4132a..72b0501 100644
--- a/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureStore/fd350c.wgsl.expected.glsl
@@ -22,7 +22,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
 void textureStore_fd350c() {
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
index af98f85..250df6d 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.glsl
@@ -32,7 +32,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
index c939c65..d4d338a 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3x4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
index 4f48f04..0acd631 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2 inner;
diff --git a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
index 48d5c07..3200c9f 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2x4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
index 4fdd5cf..38901f5 100644
--- a/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/32dd64.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_32dd64() {
   mat4x3 res = mat4x3(vec3(1.0f), vec3(1.0f), vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
index bcf9d47..59d102b 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4x2 inner;
diff --git a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
index 1de089d..9577a69 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3x2 inner;
diff --git a/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
index 8c4e25d..bab8788 100644
--- a/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/553e90.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_553e90() {
   mat2x4 res = mat2x4(vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
index 1a04ea6..4f8d251 100644
--- a/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5c133c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_5c133c() {
   mat3x4 res = mat3x4(vec4(1.0f), vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
index 648931b..28946b0 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2x4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
index de46377..cdab44f 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3x4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
index 7abc811..b8580c6 100644
--- a/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/66fce8.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_66fce8() {
   mat3 res = mat3(vec3(1.0f), vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
index 5f8dd67..bf4bad8 100644
--- a/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/70ca11.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_70ca11() {
   mat3x2 res = mat3x2(vec2(1.0f), vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
index 96300d8..292de2b 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2 inner;
diff --git a/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
index 069cce3..352aaa8 100644
--- a/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/7eb2c5.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_7eb2c5() {
   mat2 res = mat2(vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
index 1dbfb0d..9103d4e 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
index 17c5103..077920e 100644
--- a/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/84a763.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_84a763() {
   mat4x2 res = mat4x2(vec2(1.0f), vec2(1.0f), vec2(1.0f), vec2(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
index 0a31c39..9dfcf60 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.glsl
@@ -30,7 +30,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
index d6eb143..2261695 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.glsl
@@ -33,7 +33,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4x3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
index a3da82b..5789a0e 100644
--- a/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/ace596.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_ace596() {
   mat2x3 res = mat2x3(vec3(1.0f), vec3(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
index bbf4eb7..b7d855d 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.glsl
@@ -31,7 +31,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat2x3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
index 37cb1f3..ef20e58 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4 inner;
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
index 398ca87..32e5290 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat3x2 inner;
diff --git a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
index 1b7fe19..795add8 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.glsl
@@ -31,7 +31,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat4x3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
index 7757e01..9978baf 100644
--- a/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/dc671a.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void transpose_dc671a() {
   mat4 res = mat4(vec4(1.0f), vec4(1.0f), vec4(1.0f), vec4(1.0f));
diff --git a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
index 8778056..a5a8513 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.glsl
@@ -29,7 +29,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   mat2x3 inner;
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
index 3171bc5..ec573a0 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16mat4x2 inner;
diff --git a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
index 64bcaed..2bdd647 100644
--- a/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/103ab8.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec3 inner;
diff --git a/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
index f81df13..38ecb88 100644
--- a/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/117396.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_117396() {
   vec3 res = vec3(1.0f);
diff --git a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
index 2323f85..5dc56f7 100644
--- a/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/562d05.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec3 inner;
diff --git a/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
index c25da0b..6bde473 100644
--- a/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/7d6ded.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_7d6ded() {
   float res = 1.0f;
diff --git a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
index 17fbf03..1b44cfa 100644
--- a/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/a56109.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec2 inner;
diff --git a/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
index bcd6a46..12937df 100644
--- a/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/c12555.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_c12555() {
   vec2 res = vec2(1.0f);
diff --git a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
index 8f58f67..4d7165ba 100644
--- a/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/cc2b0d.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float16_t inner;
diff --git a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
index f08e448..df1765b 100644
--- a/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/ce7c17.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   f16vec4 inner;
diff --git a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
index d757be0..12c0285 100644
--- a/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/e183aa.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
index 90f8f4f..a4be4f2 100644
--- a/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/eb83df.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   float inner;
diff --git a/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
index b04c014..c87aceb 100644
--- a/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/f0f1a1.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void trunc_f0f1a1() {
   vec4 res = vec4(1.0f);
diff --git a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
index aeb534a..5f33969 100644
--- a/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/trunc/f370d3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
index 5c91ce1..6fa513f 100644
--- a/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16float/32a5cf.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
index 70df608..ecdc032 100644
--- a/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16snorm/b4aea6.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
index c2f5267..28f8f51 100644
--- a/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack2x16unorm/7699c0.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec2 inner;
diff --git a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
index 2aa00e3..45b3fde 100644
--- a/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4x8snorm/523fb3.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
index fb10edd..ba2fdf7 100644
--- a/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/unpack4x8unorm/750c74.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
   vec4 inner;
diff --git a/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.glsl b/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.glsl
index 3208918..cbba611 100644
--- a/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.glsl
+++ b/test/tint/builtins/textureDimensions/depth_ms.spvasm.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 void textureDimensions_f60bdb() {
diff --git a/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.glsl b/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.glsl
index fb86fb4..e5d5c12 100644
--- a/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/f32/blue.wgsl.expected.glsl b/test/tint/builtins/textureGather/f32/blue.wgsl.expected.glsl
index 7840c94..62b206d 100644
--- a/test/tint/builtins/textureGather/f32/blue.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/f32/blue.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/f32/green.wgsl.expected.glsl b/test/tint/builtins/textureGather/f32/green.wgsl.expected.glsl
index fbccb56..79a830b 100644
--- a/test/tint/builtins/textureGather/f32/green.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/f32/green.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/f32/red.wgsl.expected.glsl b/test/tint/builtins/textureGather/f32/red.wgsl.expected.glsl
index ad15faf..07c84e2 100644
--- a/test/tint/builtins/textureGather/f32/red.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/f32/red.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.glsl b/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.glsl
index 771cf95..571ce44 100644
--- a/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/i32/blue.wgsl.expected.glsl b/test/tint/builtins/textureGather/i32/blue.wgsl.expected.glsl
index 0c41727..6a3fa1d 100644
--- a/test/tint/builtins/textureGather/i32/blue.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/i32/blue.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/i32/green.wgsl.expected.glsl b/test/tint/builtins/textureGather/i32/green.wgsl.expected.glsl
index be8e62f..696dfc8 100644
--- a/test/tint/builtins/textureGather/i32/green.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/i32/green.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/i32/red.wgsl.expected.glsl b/test/tint/builtins/textureGather/i32/red.wgsl.expected.glsl
index e386231..06eda06 100644
--- a/test/tint/builtins/textureGather/i32/red.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/i32/red.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp isampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.glsl b/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.glsl
index 8b8cc4e..b6bb215 100644
--- a/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/u32/blue.wgsl.expected.glsl b/test/tint/builtins/textureGather/u32/blue.wgsl.expected.glsl
index 9faa6f1..bf23f59 100644
--- a/test/tint/builtins/textureGather/u32/blue.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/u32/blue.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/u32/green.wgsl.expected.glsl b/test/tint/builtins/textureGather/u32/green.wgsl.expected.glsl
index ce868e2..c57b6bf 100644
--- a/test/tint/builtins/textureGather/u32/green.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/u32/green.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D t_s;
 
diff --git a/test/tint/builtins/textureGather/u32/red.wgsl.expected.glsl b/test/tint/builtins/textureGather/u32/red.wgsl.expected.glsl
index 85550c6..3c9c8ec 100644
--- a/test/tint/builtins/textureGather/u32/red.wgsl.expected.glsl
+++ b/test/tint/builtins/textureGather/u32/red.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp usampler2D t_s;
 
diff --git a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.glsl b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.glsl
index f02ac1f..1491811 100644
--- a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.glsl
+++ b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 uniform highp sampler2DMS arg_0_1;
 void textureLoad_6273b1() {
diff --git a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.glsl b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.glsl
index 05f150c..b1f3084 100644
--- a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.glsl
+++ b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.glsl
@@ -101,7 +101,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
     return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
diff --git a/test/tint/builtins/textureLoad/texture_param.wgsl.expected.glsl b/test/tint/builtins/textureLoad/texture_param.wgsl.expected.glsl
index 61bffaa..b5d7275 100644
--- a/test/tint/builtins/textureLoad/texture_param.wgsl.expected.glsl
+++ b/test/tint/builtins/textureLoad/texture_param.wgsl.expected.glsl
@@ -23,7 +23,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 ivec4 textureLoad2d(highp isampler2D tint_symbol_1, ivec2 coords, int level) {
   return texelFetch(tint_symbol_1, coords, level);
diff --git a/test/tint/const/global/global.wgsl.expected.glsl b/test/tint/const/global/global.wgsl.expected.glsl
index 54e642b..2ecd2f1 100644
--- a/test/tint/const/global/global.wgsl.expected.glsl
+++ b/test/tint/const/global/global.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 tint_symbol() {
diff --git a/test/tint/const/inferred/function.wgsl.expected.glsl b/test/tint/const/inferred/function.wgsl.expected.glsl
index 69a3a97..9c7caea 100644
--- a/test/tint/const/inferred/function.wgsl.expected.glsl
+++ b/test/tint/const/inferred/function.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 tint_symbol() {
diff --git a/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.glsl
index a56a8a9..3487c0f 100644
--- a/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
               ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.glsl
index 7952a40..d5ebf79 100644
--- a/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
         ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.glsl
index 0d67e69..46c70b0 100644
--- a/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
               ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/directive.wgsl.expected.glsl b/test/tint/diagnostic_filtering/directive.wgsl.expected.glsl
index 96d3d3d..ab24431 100644
--- a/test/tint/diagnostic_filtering/directive.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/directive.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.glsl
index b42b580..d9b5545 100644
--- a/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.glsl
index 99aec7e..edd028f 100644
--- a/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.glsl
index 36fa2a5..bec2c30 100644
--- a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 uniform highp sampler2D t_s;
diff --git a/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.glsl
index e4dfb3c..49dbd4d 100644
--- a/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.glsl
index e0ed151..300448d 100644
--- a/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.glsl
index f82153b..d7073ff 100644
--- a/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
       ^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 void tint_symbol(float x) {
diff --git a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.glsl b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.glsl
index 99947e4..c1c0401 100644
--- a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.glsl
+++ b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.glsl
@@ -11,7 +11,7 @@
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float x_1;
 uniform highp sampler2D t_s;
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
index 35e00f4..6af5a3b 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct S {
   f16mat3x2 matrix;
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
index fd54bf3..607c0e2 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   mat3x2 matrix;
diff --git a/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl.expected.glsl
index 24726cc..c920cd2 100644
--- a/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/mat3x3-vec3/f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct S {
   f16mat3 matrix;
diff --git a/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl b/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
index 40229c1..2f7296a 100644
--- a/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   mat3 matrix;
diff --git a/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl.expected.glsl
index 3382518..233b8bf 100644
--- a/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat3x3/f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct S {
   f16mat3 matrix;
diff --git a/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl b/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
index f9ccbd7..2d17ab7 100644
--- a/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   mat3 matrix;
diff --git a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
index b684ca9..9ed2eac 100644
--- a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 struct S {
   f16mat4x3 matrix;
diff --git a/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl b/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
index fc84920..ded633f 100644
--- a/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   mat4x3 matrix;
diff --git a/test/tint/extensions/parsing/basic.wgsl.expected.glsl b/test/tint/extensions/parsing/basic.wgsl.expected.glsl
index c1a28e1..37063fa 100644
--- a/test/tint/extensions/parsing/basic.wgsl.expected.glsl
+++ b/test/tint/extensions/parsing/basic.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 tint_symbol() {
diff --git a/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.glsl b/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.glsl
index c1a28e1..37063fa 100644
--- a/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.glsl
+++ b/test/tint/extensions/parsing/duplicated_extensions.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 tint_symbol() {
diff --git a/test/tint/let/inferred/function.wgsl.expected.glsl b/test/tint/let/inferred/function.wgsl.expected.glsl
index b350456..23a4718 100644
--- a/test/tint/let/inferred/function.wgsl.expected.glsl
+++ b/test/tint/let/inferred/function.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 struct MyStruct {
diff --git a/test/tint/out_of_order_decls/alias/alias.wgsl.expected.glsl b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.glsl
index e1e01c7..1ab4acc 100644
--- a/test/tint/out_of_order_decls/alias/alias.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/alias/alias.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void f() {
   int v = 0;
diff --git a/test/tint/out_of_order_decls/alias/struct.wgsl.expected.glsl b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.glsl
index 508e315..1806707 100644
--- a/test/tint/out_of_order_decls/alias/struct.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/alias/struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   int m;
diff --git a/test/tint/out_of_order_decls/array/alias.wgsl.expected.glsl b/test/tint/out_of_order_decls/array/alias.wgsl.expected.glsl
index 91dd20a..afa1fd1 100644
--- a/test/tint/out_of_order_decls/array/alias.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/array/alias.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int A[4] = int[4](0, 0, 0, 0);
 void f() {
diff --git a/test/tint/out_of_order_decls/array/struct.wgsl.expected.glsl b/test/tint/out_of_order_decls/array/struct.wgsl.expected.glsl
index 2f4eab1..574296a 100644
--- a/test/tint/out_of_order_decls/array/struct.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/array/struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   int m;
diff --git a/test/tint/out_of_order_decls/func/const.wgsl.expected.glsl b/test/tint/out_of_order_decls/func/const.wgsl.expected.glsl
index 3d91b99..3ed779e 100644
--- a/test/tint/out_of_order_decls/func/const.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/func/const.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void f() {
 }
diff --git a/test/tint/out_of_order_decls/func/func.wgsl.expected.glsl b/test/tint/out_of_order_decls/func/func.wgsl.expected.glsl
index 4a87ea7..2f4d899 100644
--- a/test/tint/out_of_order_decls/func/func.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/func/func.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void f2() {
 }
diff --git a/test/tint/out_of_order_decls/func/type.wgsl.expected.glsl b/test/tint/out_of_order_decls/func/type.wgsl.expected.glsl
index 573558e..f56d0b4 100644
--- a/test/tint/out_of_order_decls/func/type.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/func/type.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void f() {
   int b = 0;
diff --git a/test/tint/out_of_order_decls/func/var.wgsl.expected.glsl b/test/tint/out_of_order_decls/func/var.wgsl.expected.glsl
index 6cf55fb..6c32754 100644
--- a/test/tint/out_of_order_decls/func/var.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/func/var.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 int a = 1;
 void f() {
diff --git a/test/tint/out_of_order_decls/struct/alias.wgsl.expected.glsl b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.glsl
index 508e315..1806707 100644
--- a/test/tint/out_of_order_decls/struct/alias.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/struct/alias.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S {
   int m;
diff --git a/test/tint/out_of_order_decls/struct/struct.wgsl.expected.glsl b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.glsl
index a95a80d..d27346c 100644
--- a/test/tint/out_of_order_decls/struct/struct.wgsl.expected.glsl
+++ b/test/tint/out_of_order_decls/struct/struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct S2 {
   int m;
diff --git a/test/tint/samples/compute_boids.wgsl.expected.glsl b/test/tint/samples/compute_boids.wgsl.expected.glsl
index 5ce44e5..dd43e52 100644
--- a/test/tint/samples/compute_boids.wgsl.expected.glsl
+++ b/test/tint/samples/compute_boids.wgsl.expected.glsl
@@ -37,7 +37,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 struct Particle {
diff --git a/test/tint/samples/cube.wgsl.expected.glsl b/test/tint/samples/cube.wgsl.expected.glsl
index 4dd3274..1c9de14 100644
--- a/test/tint/samples/cube.wgsl.expected.glsl
+++ b/test/tint/samples/cube.wgsl.expected.glsl
@@ -39,7 +39,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in vec4 fragColor_1;
 layout(location = 0) out vec4 value;
diff --git a/test/tint/samples/simple.wgsl.expected.glsl b/test/tint/samples/simple.wgsl.expected.glsl
index 744aeba..ef2a99a 100644
--- a/test/tint/samples/simple.wgsl.expected.glsl
+++ b/test/tint/samples/simple.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 void bar() {
diff --git a/test/tint/samples/triangle.wgsl.expected.glsl b/test/tint/samples/triangle.wgsl.expected.glsl
index c0961e2..50219ae 100644
--- a/test/tint/samples/triangle.wgsl.expected.glsl
+++ b/test/tint/samples/triangle.wgsl.expected.glsl
@@ -14,7 +14,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 vec4 frag_main() {
diff --git a/test/tint/shader_io/fragment_input_builtins.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_builtins.wgsl.expected.glsl
index 22ad777..bd2aaa7 100644
--- a/test/tint/shader_io/fragment_input_builtins.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_builtins.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 void tint_symbol(vec4 position, bool front_facing, uint sample_index, uint sample_mask) {
   if (front_facing) {
diff --git a/test/tint/shader_io/fragment_input_builtins_struct.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_builtins_struct.wgsl.expected.glsl
index 2f0052e..96276a5 100644
--- a/test/tint/shader_io/fragment_input_builtins_struct.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_builtins_struct.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 struct FragmentInputs {
   vec4 position;
diff --git a/test/tint/shader_io/fragment_input_locations.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_locations.wgsl.expected.glsl
index 67b0176..7b6f1a1 100644
--- a/test/tint/shader_io/fragment_input_locations.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_locations.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_input_locations_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_locations_f16.wgsl.expected.glsl
index 514ba55..ae80679 100644
--- a/test/tint/shader_io/fragment_input_locations_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_locations_f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_input_locations_struct.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_locations_struct.wgsl.expected.glsl
index aeffb60..d7f432b 100644
--- a/test/tint/shader_io/fragment_input_locations_struct.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_locations_struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_input_locations_struct_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_locations_struct_f16.wgsl.expected.glsl
index 30e9734..3c9bd9d 100644
--- a/test/tint/shader_io/fragment_input_locations_struct_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_locations_struct_f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_input_mixed.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_mixed.wgsl.expected.glsl
index 9054ebb..eae3c10 100644
--- a/test/tint/shader_io/fragment_input_mixed.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_mixed.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_input_mixed_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_input_mixed_f16.wgsl.expected.glsl
index 2226a6a..bc9296f 100644
--- a/test/tint/shader_io/fragment_input_mixed_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_input_mixed_f16.wgsl.expected.glsl
@@ -1,7 +1,7 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int loc0_1;
 layout(location = 1) flat in uint loc1_1;
diff --git a/test/tint/shader_io/fragment_output_builtins.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_builtins.wgsl.expected.glsl
index e3faacb..de6e8c9 100644
--- a/test/tint/shader_io/fragment_output_builtins.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_builtins.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float main1() {
   return 1.0f;
@@ -12,7 +12,7 @@
 }
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 uint main2() {
   return 1u;
diff --git a/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.glsl
index 877fb38..3ef7d7a 100644
--- a/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_builtins_struct.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 struct FragmentOutputs {
   float frag_depth;
diff --git a/test/tint/shader_io/fragment_output_locations.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_locations.wgsl.expected.glsl
index 7bcae9c..74d51fb 100644
--- a/test/tint/shader_io/fragment_output_locations.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_locations.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int value;
 int main0() {
@@ -12,7 +12,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 1) out uint value;
 uint main1() {
@@ -25,7 +25,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 2) out float value;
 float main2() {
@@ -38,7 +38,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 3) out vec4 value;
 vec4 main3() {
diff --git a/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.glsl
index 1ecbe7d..10acc02 100644
--- a/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_locations_f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int value;
 int main0() {
@@ -14,7 +14,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 1) out uint value;
 uint main1() {
@@ -28,7 +28,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 2) out float value;
 float main2() {
@@ -42,7 +42,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 3) out vec4 value;
 vec4 main3() {
@@ -56,7 +56,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 4) out float16_t value;
 float16_t main4() {
@@ -70,7 +70,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 5) out f16vec3 value;
 f16vec3 main5() {
diff --git a/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.glsl
index 9c9a78e..651735b 100644
--- a/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_locations_struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int loc0_1;
 layout(location = 1) out uint loc1_1;
diff --git a/test/tint/shader_io/fragment_output_locations_struct_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_locations_struct_f16.wgsl.expected.glsl
index db79208..9f99d25 100644
--- a/test/tint/shader_io/fragment_output_locations_struct_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_locations_struct_f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int loc0_1;
 layout(location = 1) out uint loc1_1;
diff --git a/test/tint/shader_io/fragment_output_mixed.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_mixed.wgsl.expected.glsl
index df40f8f..897eddc 100644
--- a/test/tint/shader_io/fragment_output_mixed.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_mixed.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int loc0_1;
 layout(location = 1) out uint loc1_1;
diff --git a/test/tint/shader_io/fragment_output_mixed_f16.wgsl.expected.glsl b/test/tint/shader_io/fragment_output_mixed_f16.wgsl.expected.glsl
index f635012..6c1ffb3 100644
--- a/test/tint/shader_io/fragment_output_mixed_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/fragment_output_mixed_f16.wgsl.expected.glsl
@@ -1,7 +1,7 @@
 #version 310 es
 #extension GL_OES_sample_variables : require
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out int loc0_1;
 layout(location = 1) out uint loc1_1;
diff --git a/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.glsl b/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.glsl
index bb459d1..b424018 100644
--- a/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.glsl
+++ b/test/tint/shader_io/interpolate_input_parameters.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float none_1;
 layout(location = 1) flat in float tint_symbol_1_1;
diff --git a/test/tint/shader_io/interpolate_input_struct.wgsl.expected.glsl b/test/tint/shader_io/interpolate_input_struct.wgsl.expected.glsl
index 2bb8a90..c4ba99d 100644
--- a/test/tint/shader_io/interpolate_input_struct.wgsl.expected.glsl
+++ b/test/tint/shader_io/interpolate_input_struct.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float none_1;
 layout(location = 1) flat in float tint_symbol_3;
diff --git a/test/tint/shader_io/interpolate_integers.wgsl.expected.glsl b/test/tint/shader_io/interpolate_integers.wgsl.expected.glsl
index 85155cf..17ba65a 100644
--- a/test/tint/shader_io/interpolate_integers.wgsl.expected.glsl
+++ b/test/tint/shader_io/interpolate_integers.wgsl.expected.glsl
@@ -30,7 +30,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) flat in int i_1;
 layout(location = 1) flat in uint u_1;
diff --git a/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.glsl b/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.glsl
index 07f9a1a..556fb6e 100644
--- a/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.glsl
+++ b/test/tint/shader_io/shared_struct_different_stages.wgsl.expected.glsl
@@ -24,7 +24,7 @@
   return;
 }
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 1) in float col1_1;
 layout(location = 2) in float col2_1;
diff --git a/test/tint/shader_io/shared_struct_different_stages_f16.wgsl.expected.glsl b/test/tint/shader_io/shared_struct_different_stages_f16.wgsl.expected.glsl
index d9987d0..c4ff612 100644
--- a/test/tint/shader_io/shared_struct_different_stages_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/shared_struct_different_stages_f16.wgsl.expected.glsl
@@ -26,7 +26,7 @@
 }
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 1) in float col1_1;
 layout(location = 2) in float16_t col2_1;
diff --git a/test/tint/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl b/test/tint/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
index e0c8d28..99cef24 100644
--- a/test/tint/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
+++ b/test/tint/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float f_1;
 layout(location = 1) flat in uint u_1;
diff --git a/test/tint/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.glsl b/test/tint/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.glsl
index 2615ac7..3228c1c 100644
--- a/test/tint/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.glsl
+++ b/test/tint/shader_io/shared_struct_storage_buffer_f16.wgsl.expected.glsl
@@ -1,6 +1,6 @@
 #version 310 es
 #extension GL_AMD_gpu_shader_half_float : require
-precision mediump float;
+precision highp float;
 
 layout(location = 0) in float f_1;
 layout(location = 1) flat in uint u_1;
diff --git a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl
index a66bdd9..6a768d3 100644
--- a/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl
+++ b/test/tint/statements/discard/atomic_cmpxchg.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 struct atomic_compare_exchange_resulti32 {
   int old_value;
diff --git a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.glsl b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.glsl
index 3af238a..ad8f111 100644
--- a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.glsl
+++ b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(location = 0) in float tint_symbol_1;
diff --git a/test/tint/statements/discard/helper_functions.wgsl.expected.glsl b/test/tint/statements/discard/helper_functions.wgsl.expected.glsl
index a17e8f5..79fa64f 100644
--- a/test/tint/statements/discard/helper_functions.wgsl.expected.glsl
+++ b/test/tint/statements/discard/helper_functions.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(binding = 0, std430) buffer non_uniform_global_block_ssbo {
diff --git a/test/tint/statements/discard/multiple_returns.wgsl.expected.glsl b/test/tint/statements/discard/multiple_returns.wgsl.expected.glsl
index 8cd3e99..529a439 100644
--- a/test/tint/statements/discard/multiple_returns.wgsl.expected.glsl
+++ b/test/tint/statements/discard/multiple_returns.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(binding = 0, std430) buffer non_uniform_global_block_ssbo {
diff --git a/test/tint/statements/discard/nested_return.wgsl.expected.glsl b/test/tint/statements/discard/nested_return.wgsl.expected.glsl
index 601c669..ededfaa 100644
--- a/test/tint/statements/discard/nested_return.wgsl.expected.glsl
+++ b/test/tint/statements/discard/nested_return.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(binding = 0, std430) buffer non_uniform_global_block_ssbo {
diff --git a/test/tint/statements/discard/non_uniform.wgsl.expected.glsl b/test/tint/statements/discard/non_uniform.wgsl.expected.glsl
index b6be83a..622c533 100644
--- a/test/tint/statements/discard/non_uniform.wgsl.expected.glsl
+++ b/test/tint/statements/discard/non_uniform.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 bool tint_discarded = false;
 layout(binding = 0, std430) buffer non_uniform_global_block_ssbo {
diff --git a/test/tint/unicode/comments.wgsl.expected.glsl b/test/tint/unicode/comments.wgsl.expected.glsl
index bb42c59..b5add26 100644
--- a/test/tint/unicode/comments.wgsl.expected.glsl
+++ b/test/tint/unicode/comments.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 void tint_symbol() {
 }
diff --git a/test/tint/unicode/identifiers.wgsl.expected.glsl b/test/tint/unicode/identifiers.wgsl.expected.glsl
index d5d5790..2d300aa 100644
--- a/test/tint/unicode/identifiers.wgsl.expected.glsl
+++ b/test/tint/unicode/identifiers.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 float tint_symbol_2(int tint_symbol_3) {
   return float(tint_symbol_3);
diff --git a/test/tint/var/inferred/function.wgsl.expected.glsl b/test/tint/var/inferred/function.wgsl.expected.glsl
index b350456..23a4718 100644
--- a/test/tint/var/inferred/function.wgsl.expected.glsl
+++ b/test/tint/var/inferred/function.wgsl.expected.glsl
@@ -1,5 +1,5 @@
 #version 310 es
-precision mediump float;
+precision highp float;
 
 layout(location = 0) out vec4 value;
 struct MyStruct {
