GLSL: fix barriers.

Bug: tint:1416
Change-Id: I138932cc0d702289684c4db80b4640df43b41833
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/79420
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/writer/glsl/generator_impl.cc b/src/writer/glsl/generator_impl.cc
index f0e51a1..c982ffe 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -1165,9 +1165,9 @@
   // TODO(crbug.com/tint/661): Combine sequential barriers to a single
   // instruction.
   if (builtin->Type() == sem::BuiltinType::kWorkgroupBarrier) {
-    out << "memoryBarrierShared()";
+    out << "barrier()";
   } else if (builtin->Type() == sem::BuiltinType::kStorageBarrier) {
-    out << "memoryBarrierBuffer()";
+    out << "{ barrier(); memoryBarrierBuffer(); }";
   } else {
     TINT_UNREACHABLE(Writer, diagnostics_)
         << "unexpected barrier builtin type " << sem::str(builtin->Type());
diff --git a/src/writer/glsl/generator_impl_builtin_test.cc b/src/writer/glsl/generator_impl_builtin_test.cc
index d88d38a..4d3b49d 100644
--- a/src/writer/glsl/generator_impl_builtin_test.cc
+++ b/src/writer/glsl/generator_impl_builtin_test.cc
@@ -645,6 +645,8 @@
               HasSubstr("f16tof32(uint2(tint_tmp & 0xffff, tint_tmp >> 16))"));
 }
 
+#endif
+
 TEST_F(GlslGeneratorImplTest_Builtin, StorageBarrier) {
   Func("main", {}, ty.void_(),
        {CallStmt(Call("storageBarrier"))},
@@ -656,9 +658,12 @@
   GeneratorImpl& gen = Build();
 
   ASSERT_TRUE(gen.Generate()) << gen.error();
-  EXPECT_EQ(gen.result(), R"(layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+  EXPECT_EQ(gen.result(), R"(#version 310 es
+precision mediump float;
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
-  DeviceMemoryBarrierWithGroupSync();
+  { barrier(); memoryBarrierBuffer(); };
   return;
 }
 )");
@@ -675,16 +680,17 @@
   GeneratorImpl& gen = Build();
 
   ASSERT_TRUE(gen.Generate()) << gen.error();
-  EXPECT_EQ(gen.result(), R"(layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+  EXPECT_EQ(gen.result(), R"(#version 310 es
+precision mediump float;
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
-  GroupMemoryBarrierWithGroupSync();
+  barrier();
   return;
 }
 )");
 }
 
-#endif
-
 TEST_F(GlslGeneratorImplTest_Builtin, DotI32) {
   Global("v", ty.vec3<i32>(), ast::StorageClass::kPrivate);
   WrapInFunction(CallStmt(Call("dot", "v", "v")));
diff --git a/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
index 30963db..f6a0259 100644
--- a/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
@@ -28,7 +28,7 @@
       s.data[i] = 0;
     }
   }
-  memoryBarrierShared();
+  barrier();
   result.tint_symbol = s.data[ubo.dynamic_idx];
 }
 
diff --git a/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
index dc7ae93..dfdf81a 100644
--- a/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
@@ -28,7 +28,7 @@
       s.data[i] = 0;
     }
   }
-  memoryBarrierShared();
+  barrier();
   s.data[ubo.dynamic_idx] = 1;
   result.tint_symbol = s.data[3];
 }
diff --git a/test/bug/tint/914.wgsl.expected.glsl b/test/bug/tint/914.wgsl.expected.glsl
index 75fc663..268b480 100644
--- a/test/bug/tint/914.wgsl.expected.glsl
+++ b/test/bug/tint/914.wgsl.expected.glsl
@@ -71,7 +71,7 @@
       mm_Bsub[i][i_1] = 0.0f;
     }
   }
-  memoryBarrierShared();
+  barrier();
   uint tileRow = (local_id.y * RowPerThread);
   uint tileCol = (local_id.x * ColPerThread);
   uint globalRow = (global_id.y * RowPerThread);
@@ -113,7 +113,7 @@
           }
         }
       }
-      memoryBarrierShared();
+      barrier();
       {
         for(uint k = 0u; (k < TileInner); k = (k + 1u)) {
           {
@@ -134,7 +134,7 @@
           }
         }
       }
-      memoryBarrierShared();
+      barrier();
     }
   }
   {
diff --git a/test/bug/tint/942.wgsl.expected.glsl b/test/bug/tint/942.wgsl.expected.glsl
index 8e41450..b3dc10a 100644
--- a/test/bug/tint/942.wgsl.expected.glsl
+++ b/test/bug/tint/942.wgsl.expected.glsl
@@ -32,7 +32,7 @@
       tile[i_1][i_2] = vec3(0.0f, 0.0f, 0.0f);
     }
   }
-  memoryBarrierShared();
+  barrier();
   uint filterOffset = ((params.filterDim - 1u) / 2u);
   ivec2 dims = textureSize(inputTex_1, 0);
   ivec2 baseIndex = (ivec2(((WorkGroupID.xy * uvec2(params.blockDim, 4u)) + (LocalInvocationID.xy * uvec2(4u, 1u)))) - ivec2(int(filterOffset), 0));
@@ -49,7 +49,7 @@
       }
     }
   }
-  memoryBarrierShared();
+  barrier();
   {
     for(uint r = 0u; (r < 4u); r = (r + 1u)) {
       {
diff --git a/test/bug/tint/943.spvasm.expected.glsl b/test/bug/tint/943.spvasm.expected.glsl
index 5ddf3e5..b334203 100644
--- a/test/bug/tint/943.spvasm.expected.glsl
+++ b/test/bug/tint/943.spvasm.expected.glsl
@@ -277,7 +277,7 @@
           }
         }
       }
-      memoryBarrierShared();
+      barrier();
       k = 0;
       {
         for(; (k < 64); k = (k + 1)) {
@@ -309,7 +309,7 @@
           }
         }
       }
-      memoryBarrierShared();
+      barrier();
     }
   }
   innerRow_4 = 0;
@@ -387,7 +387,7 @@
       mm_Asub[i][i_1] = 0.0f;
     }
   }
-  memoryBarrierShared();
+  barrier();
   tint_symbol = tint_symbol_3;
   tint_symbol_1 = tint_symbol_4;
   main_1();
diff --git a/test/builtins/gen/atomicAdd/794055.wgsl.expected.glsl b/test/builtins/gen/atomicAdd/794055.wgsl.expected.glsl
index 8a41180..bb7797f 100644
--- a/test/builtins/gen/atomicAdd/794055.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAdd/794055.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicAdd_794055();
 }
 
diff --git a/test/builtins/gen/atomicAdd/d5db1d.wgsl.expected.glsl b/test/builtins/gen/atomicAdd/d5db1d.wgsl.expected.glsl
index e172f7b..2bc498d 100644
--- a/test/builtins/gen/atomicAdd/d5db1d.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAdd/d5db1d.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicAdd_d5db1d();
 }
 
diff --git a/test/builtins/gen/atomicAnd/34edd3.wgsl.expected.glsl b/test/builtins/gen/atomicAnd/34edd3.wgsl.expected.glsl
index eabffe0..39cca89 100644
--- a/test/builtins/gen/atomicAnd/34edd3.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAnd/34edd3.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicAnd_34edd3();
 }
 
diff --git a/test/builtins/gen/atomicAnd/45a819.wgsl.expected.glsl b/test/builtins/gen/atomicAnd/45a819.wgsl.expected.glsl
index b953520..4acc0f3 100644
--- a/test/builtins/gen/atomicAnd/45a819.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAnd/45a819.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicAnd_45a819();
 }
 
diff --git a/test/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl b/test/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
index bbe2a57..7794290 100644
--- a/test/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicCompareExchangeWeak_89ea3b();
 }
 
diff --git a/test/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl b/test/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
index 8bf8acb..8eee628 100644
--- a/test/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicCompareExchangeWeak_b2ab2c();
 }
 
diff --git a/test/builtins/gen/atomicExchange/0a5dca.wgsl.expected.glsl b/test/builtins/gen/atomicExchange/0a5dca.wgsl.expected.glsl
index 2dfde42..3547265 100644
--- a/test/builtins/gen/atomicExchange/0a5dca.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicExchange/0a5dca.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicExchange_0a5dca();
 }
 
diff --git a/test/builtins/gen/atomicExchange/e114ba.wgsl.expected.glsl b/test/builtins/gen/atomicExchange/e114ba.wgsl.expected.glsl
index ddc73bf..5a98189 100644
--- a/test/builtins/gen/atomicExchange/e114ba.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicExchange/e114ba.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicExchange_e114ba();
 }
 
diff --git a/test/builtins/gen/atomicLoad/361bf1.wgsl.expected.glsl b/test/builtins/gen/atomicLoad/361bf1.wgsl.expected.glsl
index f694157..3a11a14 100644
--- a/test/builtins/gen/atomicLoad/361bf1.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicLoad/361bf1.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicLoad_361bf1();
 }
 
diff --git a/test/builtins/gen/atomicLoad/afcc03.wgsl.expected.glsl b/test/builtins/gen/atomicLoad/afcc03.wgsl.expected.glsl
index 5623e5a..7bd9bb4 100644
--- a/test/builtins/gen/atomicLoad/afcc03.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicLoad/afcc03.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicLoad_afcc03();
 }
 
diff --git a/test/builtins/gen/atomicMax/a89cc3.wgsl.expected.glsl b/test/builtins/gen/atomicMax/a89cc3.wgsl.expected.glsl
index 9721ba0..215658c 100644
--- a/test/builtins/gen/atomicMax/a89cc3.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMax/a89cc3.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicMax_a89cc3();
 }
 
diff --git a/test/builtins/gen/atomicMax/beccfc.wgsl.expected.glsl b/test/builtins/gen/atomicMax/beccfc.wgsl.expected.glsl
index 02c3171..6725271 100644
--- a/test/builtins/gen/atomicMax/beccfc.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMax/beccfc.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicMax_beccfc();
 }
 
diff --git a/test/builtins/gen/atomicMin/278235.wgsl.expected.glsl b/test/builtins/gen/atomicMin/278235.wgsl.expected.glsl
index 4e84d71..b162c5a 100644
--- a/test/builtins/gen/atomicMin/278235.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMin/278235.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicMin_278235();
 }
 
diff --git a/test/builtins/gen/atomicMin/69d383.wgsl.expected.glsl b/test/builtins/gen/atomicMin/69d383.wgsl.expected.glsl
index 6dfcb0d..ae3960b 100644
--- a/test/builtins/gen/atomicMin/69d383.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMin/69d383.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicMin_69d383();
 }
 
diff --git a/test/builtins/gen/atomicOr/5e3d61.wgsl.expected.glsl b/test/builtins/gen/atomicOr/5e3d61.wgsl.expected.glsl
index 7e349a9..57d9728 100644
--- a/test/builtins/gen/atomicOr/5e3d61.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicOr/5e3d61.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicOr_5e3d61();
 }
 
diff --git a/test/builtins/gen/atomicOr/d09248.wgsl.expected.glsl b/test/builtins/gen/atomicOr/d09248.wgsl.expected.glsl
index 5d831d1..79171ef 100644
--- a/test/builtins/gen/atomicOr/d09248.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicOr/d09248.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicOr_d09248();
 }
 
diff --git a/test/builtins/gen/atomicStore/726882.wgsl.expected.glsl b/test/builtins/gen/atomicStore/726882.wgsl.expected.glsl
index 29be3dc..3d30417 100644
--- a/test/builtins/gen/atomicStore/726882.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicStore/726882.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicStore_726882();
 }
 
diff --git a/test/builtins/gen/atomicStore/8bea94.wgsl.expected.glsl b/test/builtins/gen/atomicStore/8bea94.wgsl.expected.glsl
index d24fcba..d152765 100644
--- a/test/builtins/gen/atomicStore/8bea94.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicStore/8bea94.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicStore_8bea94();
 }
 
diff --git a/test/builtins/gen/atomicSub/0d26c2.wgsl.expected.glsl b/test/builtins/gen/atomicSub/0d26c2.wgsl.expected.glsl
index 63ebf58..e2f878a 100644
--- a/test/builtins/gen/atomicSub/0d26c2.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicSub/0d26c2.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicSub_0d26c2();
 }
 
diff --git a/test/builtins/gen/atomicSub/77883a.wgsl.expected.glsl b/test/builtins/gen/atomicSub/77883a.wgsl.expected.glsl
index 7c136f5..f47901f 100644
--- a/test/builtins/gen/atomicSub/77883a.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicSub/77883a.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicSub_77883a();
 }
 
diff --git a/test/builtins/gen/atomicXor/75dc95.wgsl.expected.glsl b/test/builtins/gen/atomicXor/75dc95.wgsl.expected.glsl
index 15b9972..f39ea9e 100644
--- a/test/builtins/gen/atomicXor/75dc95.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicXor/75dc95.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0);
   }
-  memoryBarrierShared();
+  barrier();
   atomicXor_75dc95();
 }
 
diff --git a/test/builtins/gen/atomicXor/c8e6be.wgsl.expected.glsl b/test/builtins/gen/atomicXor/c8e6be.wgsl.expected.glsl
index 6d3a6f7..ef63814 100644
--- a/test/builtins/gen/atomicXor/c8e6be.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicXor/c8e6be.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     atomicExchange(arg_0, 0u);
   }
-  memoryBarrierShared();
+  barrier();
   atomicXor_c8e6be();
 }
 
diff --git a/test/builtins/gen/storageBarrier/d87211.wgsl.expected.glsl b/test/builtins/gen/storageBarrier/d87211.wgsl.expected.glsl
index 31a51a7..a354c92 100644
--- a/test/builtins/gen/storageBarrier/d87211.wgsl.expected.glsl
+++ b/test/builtins/gen/storageBarrier/d87211.wgsl.expected.glsl
@@ -2,7 +2,7 @@
 precision mediump float;
 
 void storageBarrier_d87211() {
-  memoryBarrierBuffer();
+  { barrier(); memoryBarrierBuffer(); };
 }
 
 void compute_main() {
diff --git a/test/builtins/gen/workgroupBarrier/a17f7f.wgsl.expected.glsl b/test/builtins/gen/workgroupBarrier/a17f7f.wgsl.expected.glsl
index 71ce5cb..1355106 100644
--- a/test/builtins/gen/workgroupBarrier/a17f7f.wgsl.expected.glsl
+++ b/test/builtins/gen/workgroupBarrier/a17f7f.wgsl.expected.glsl
@@ -2,7 +2,7 @@
 precision mediump float;
 
 void workgroupBarrier_a17f7f() {
-  memoryBarrierShared();
+  barrier();
 }
 
 void compute_main() {
diff --git a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.glsl b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.glsl
index c601cc7..9b99e9b 100644
--- a/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.glsl
+++ b/test/ptr_ref/load/local/ptr_workgroup.wgsl.expected.glsl
@@ -6,7 +6,7 @@
   {
     i = 0;
   }
-  memoryBarrierShared();
+  barrier();
   i = 123;
   int use = (i + 1);
 }
diff --git a/test/var/initialization/workgroup/array.wgsl.expected.glsl b/test/var/initialization/workgroup/array.wgsl.expected.glsl
index adbf51c..6e695f1 100644
--- a/test/var/initialization/workgroup/array.wgsl.expected.glsl
+++ b/test/var/initialization/workgroup/array.wgsl.expected.glsl
@@ -9,7 +9,7 @@
       v[i] = 0;
     }
   }
-  memoryBarrierShared();
+  barrier();
 }
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/var/initialization/workgroup/matrix.wgsl.expected.glsl b/test/var/initialization/workgroup/matrix.wgsl.expected.glsl
index 0738874..7e1c8f2 100644
--- a/test/var/initialization/workgroup/matrix.wgsl.expected.glsl
+++ b/test/var/initialization/workgroup/matrix.wgsl.expected.glsl
@@ -6,7 +6,7 @@
   {
     v = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
   }
-  memoryBarrierShared();
+  barrier();
 }
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/var/initialization/workgroup/scalar.wgsl.expected.glsl b/test/var/initialization/workgroup/scalar.wgsl.expected.glsl
index dc95a7d..b361c7f 100644
--- a/test/var/initialization/workgroup/scalar.wgsl.expected.glsl
+++ b/test/var/initialization/workgroup/scalar.wgsl.expected.glsl
@@ -6,7 +6,7 @@
   {
     v = 0;
   }
-  memoryBarrierShared();
+  barrier();
 }
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/var/initialization/workgroup/struct.wgsl.expected.glsl b/test/var/initialization/workgroup/struct.wgsl.expected.glsl
index 87458fb..dab558a 100644
--- a/test/var/initialization/workgroup/struct.wgsl.expected.glsl
+++ b/test/var/initialization/workgroup/struct.wgsl.expected.glsl
@@ -12,7 +12,7 @@
     S tint_symbol_1 = S(0, 0.0f);
     v = tint_symbol_1;
   }
-  memoryBarrierShared();
+  barrier();
 }
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/var/initialization/workgroup/vector.wgsl.expected.glsl b/test/var/initialization/workgroup/vector.wgsl.expected.glsl
index 917de43..087b0e0 100644
--- a/test/var/initialization/workgroup/vector.wgsl.expected.glsl
+++ b/test/var/initialization/workgroup/vector.wgsl.expected.glsl
@@ -6,7 +6,7 @@
   {
     v = ivec3(0, 0, 0);
   }
-  memoryBarrierShared();
+  barrier();
 }
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
diff --git a/test/var/uses/many_workgroup_vars.wgsl.expected.glsl b/test/var/uses/many_workgroup_vars.wgsl.expected.glsl
index 1ff7afe..b719fa6 100644
--- a/test/var/uses/many_workgroup_vars.wgsl.expected.glsl
+++ b/test/var/uses/many_workgroup_vars.wgsl.expected.glsl
@@ -204,7 +204,7 @@
     m98 = mat2(0.0f, 0.0f, 0.0f, 0.0f);
     m99 = mat2(0.0f, 0.0f, 0.0f, 0.0f);
   }
-  memoryBarrierShared();
+  barrier();
   m00[0][0] = 1.0f;
   m01[0][0] = 1.0f;
   m02[0][0] = 1.0f;
diff --git a/test/var/uses/workgroup.wgsl.expected.glsl b/test/var/uses/workgroup.wgsl.expected.glsl
index 2918be4..084d9e2 100644
--- a/test/var/uses/workgroup.wgsl.expected.glsl
+++ b/test/var/uses/workgroup.wgsl.expected.glsl
@@ -10,7 +10,7 @@
   {
     a = 0;
   }
-  memoryBarrierShared();
+  barrier();
   a = 42;
   uses_a();
 }
@@ -32,7 +32,7 @@
   {
     b = 0;
   }
-  memoryBarrierShared();
+  barrier();
   b = 7;
   uses_b();
 }
@@ -75,7 +75,7 @@
     a = 0;
     b = 0;
   }
-  memoryBarrierShared();
+  barrier();
   outer();
   no_uses();
 }
diff --git a/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
index bc6900e..0320d9f 100644
--- a/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.spvasm.expected.glsl
@@ -40,7 +40,7 @@
           break;
         }
       }
-      memoryBarrierShared();
+      barrier();
     }
   }
   if ((lid == 0)) {
diff --git a/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
index a7ca19e..42be698 100644
--- a/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/barrier-in-loop-with-break/0-opt.wgsl.expected.glsl
@@ -44,7 +44,7 @@
           break;
         }
       }
-      memoryBarrierShared();
+      barrier();
     }
   }
   if ((lid == 0)) {
diff --git a/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
index 2c0ca1c..a2eeaa9 100644
--- a/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.spvasm.expected.glsl
@@ -37,7 +37,7 @@
             float x_13 = GLF_live2gl_FragCoord.x;
             if ((int(x_13) < 120)) {
             } else {
-              memoryBarrierShared();
+              barrier();
             }
           }
         }
@@ -62,7 +62,7 @@
       }
       float x_16 = GLF_live2gl_FragCoord.x;
       GLF_dead3x = x_16;
-      memoryBarrierShared();
+      barrier();
     }
   }
   x_12.x_compute_data[0] = 42u;
diff --git a/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
index e81d36c..cfb7c49 100644
--- a/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/two-for-loops-with-barrier-function/0-opt.wgsl.expected.glsl
@@ -41,7 +41,7 @@
             float x_13 = GLF_live2gl_FragCoord.x;
             if ((int(x_13) < 120)) {
             } else {
-              memoryBarrierShared();
+              barrier();
             }
           }
         }
@@ -66,7 +66,7 @@
       }
       float x_16 = GLF_live2gl_FragCoord.x;
       GLF_dead3x = x_16;
-      memoryBarrierShared();
+      barrier();
     }
   }
   x_12.x_compute_data[0] = 42u;
diff --git a/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
index 0e215f4..cdeb375 100644
--- a/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.spvasm.expected.glsl
@@ -70,7 +70,7 @@
           float x_118 = x_10.injectionSwitch.x;
           float x_120 = x_10.injectionSwitch.y;
           if ((x_118 > x_120)) {
-            memoryBarrierShared();
+            barrier();
           }
         }
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
index 397b67a..a8f1f20 100644
--- a/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/unreachable-barrier-in-loops/0-opt.wgsl.expected.glsl
@@ -74,7 +74,7 @@
           float x_118 = x_10.injectionSwitch.x;
           float x_120 = x_10.injectionSwitch.y;
           if ((x_118 > x_120)) {
-            memoryBarrierShared();
+            barrier();
           }
         }
       }