tint/writer/glsl: Set default precision to highp

WGSL states that `f32` is a IEEE-754 binary32. mediump precision guarantees are much smaller than highp, and using mediump can break code generated by tint.

Change-Id: I8a129c4c8ac078c785e0d5d7d21f19ed6b3620b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123400
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
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 9a7d0550..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..9e1e1704 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..e4243797b 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..a883f8b5 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 dbbeaeef..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 b64d9728..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 3ae9f059..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..b6cd1462 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..9e1e1704 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 985f6e8a..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 8c15238b..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..0027d403be 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 7ac46efe..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 dbbeaeef..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 038f2bae..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 350427ce..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..3699f716 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..9100cc8b 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..1b44cfac 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 {