GLSL: put std430 packing on all buffer variables.

This is not 100% correct (the exceptions for mat2 and friends are not
implemented yet), but gets more tests passing in Dawn.

Bug: tint:1415
Change-Id: Ia11c63a5236f35e724431a65ddb6ef3c598775d0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/79380
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 8857f8a..f0e51a1 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -1752,7 +1752,7 @@
     return false;
   }
   ast::VariableBindingPoint bp = decl->BindingPoint();
-  line() << "layout(binding = " << bp.binding->value << ") buffer "
+  line() << "layout(binding = " << bp.binding->value << ", std430) buffer "
          << UniqueIdentifier(StructName(str)) << " {";
   EmitStructMembers(current_buffer_, str);
   auto name = builder_.Symbols().NameFor(decl->symbol);
diff --git a/src/writer/glsl/generator_impl_function_test.cc b/src/writer/glsl/generator_impl_function_test.cc
index e186258..ffcb607 100644
--- a/src/writer/glsl/generator_impl_function_test.cc
+++ b/src/writer/glsl/generator_impl_function_test.cc
@@ -468,7 +468,7 @@
   float b;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   int a;
   float b;
 } coord;
@@ -523,7 +523,7 @@
   float b;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   int a;
   float b;
 } coord;
@@ -574,7 +574,7 @@
   float b;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   int a;
   float b;
 } coord;
@@ -626,7 +626,7 @@
   float b;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   int a;
   float b;
 } coord;
@@ -733,7 +733,7 @@
   float x;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   float x;
 } coord;
 float sub_func(float param) {
@@ -980,7 +980,7 @@
   float d;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   float d;
 } data;
 void a() {
diff --git a/src/writer/glsl/generator_impl_member_accessor_test.cc b/src/writer/glsl/generator_impl_member_accessor_test.cc
index e93fb21..362e524 100644
--- a/src/writer/glsl/generator_impl_member_accessor_test.cc
+++ b/src/writer/glsl/generator_impl_member_accessor_test.cc
@@ -299,7 +299,7 @@
   mat2x3 b;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   int a;
   mat2x3 b;
 } data;
@@ -347,7 +347,7 @@
   mat4x3 a;
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   float z;
   mat4x3 a;
 } data;
@@ -393,7 +393,7 @@
   int a[5];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   float z;
   int a[5];
 } data;
@@ -440,7 +440,7 @@
   int a[5];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   float z;
   int a[5];
 } data;
@@ -484,7 +484,7 @@
   int a[5];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   float z;
   int a[5];
 } data;
@@ -543,7 +543,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
@@ -604,7 +604,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
@@ -665,7 +665,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
@@ -726,7 +726,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
@@ -783,7 +783,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
@@ -844,7 +844,7 @@
   Inner c[4];
 };
 
-layout(binding = 0) buffer Data_1 {
+layout(binding = 0, std430) buffer Data_1 {
   Inner c[4];
 } data;
 void tint_symbol() {
diff --git a/src/writer/glsl/generator_impl_sanitizer_test.cc b/src/writer/glsl/generator_impl_sanitizer_test.cc
index e5c7816..2b663d1 100644
--- a/src/writer/glsl/generator_impl_sanitizer_test.cc
+++ b/src/writer/glsl/generator_impl_sanitizer_test.cc
@@ -51,7 +51,7 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer my_struct_1 {
+layout(binding = 1, std430) buffer my_struct_1 {
   float a[];
 } b;
 void a_func() {
@@ -99,7 +99,7 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer my_struct_1 {
+layout(binding = 1, std430) buffer my_struct_1 {
   float z;
   float a[];
 } b;
@@ -150,7 +150,7 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer my_struct_1 {
+layout(binding = 1, std430) buffer my_struct_1 {
   float a[];
 } b;
 void a_func() {
diff --git a/test/array/assign_to_function_var.wgsl.expected.glsl b/test/array/assign_to_function_var.wgsl.expected.glsl
index d127dca..3e5f1f2 100644
--- a/test/array/assign_to_function_var.wgsl.expected.glsl
+++ b/test/array/assign_to_function_var.wgsl.expected.glsl
@@ -15,7 +15,7 @@
   ivec4 arr[4];
 } src_uniform;
 
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
 ivec4[4] ret_arr() {
diff --git a/test/array/assign_to_private_var.wgsl.expected.glsl b/test/array/assign_to_private_var.wgsl.expected.glsl
index 992a8c6..069c825 100644
--- a/test/array/assign_to_private_var.wgsl.expected.glsl
+++ b/test/array/assign_to_private_var.wgsl.expected.glsl
@@ -15,7 +15,7 @@
   ivec4 arr[4];
 } src_uniform;
 
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
 ivec4 dst[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
diff --git a/test/array/assign_to_storage_var.wgsl.expected.glsl b/test/array/assign_to_storage_var.wgsl.expected.glsl
index 7df07b7..9452e86 100644
--- a/test/array/assign_to_storage_var.wgsl.expected.glsl
+++ b/test/array/assign_to_storage_var.wgsl.expected.glsl
@@ -19,13 +19,13 @@
   ivec4 arr[4];
 } src_uniform;
 
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   ivec4 arr[4];
 } dst;
-layout(binding = 3) buffer S_nested_1 {
+layout(binding = 3, std430) buffer S_nested_1 {
   int arr[4][3][2];
 } dst_nested;
 ivec4[4] ret_arr() {
diff --git a/test/array/assign_to_workgroup_var.wgsl.expected.glsl b/test/array/assign_to_workgroup_var.wgsl.expected.glsl
index 14caa05..50e26c9 100644
--- a/test/array/assign_to_workgroup_var.wgsl.expected.glsl
+++ b/test/array/assign_to_workgroup_var.wgsl.expected.glsl
@@ -15,7 +15,7 @@
   ivec4 arr[4];
 } src_uniform;
 
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
 shared ivec4 dst[4];
diff --git a/test/array/strides.spvasm.expected.glsl b/test/array/strides.spvasm.expected.glsl
index 21fc3e8..6e46ce7 100644
--- a/test/array/strides.spvasm.expected.glsl
+++ b/test/array/strides.spvasm.expected.glsl
@@ -13,7 +13,7 @@
   strided_arr_1 a[4];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   strided_arr_1 a[4];
 } s;
 void f_1() {
diff --git a/test/benchmark/particles.wgsl.expected.glsl b/test/benchmark/particles.wgsl.expected.glsl
index 89d1e67..51b5e98 100644
--- a/test/benchmark/particles.wgsl.expected.glsl
+++ b/test/benchmark/particles.wgsl.expected.glsl
@@ -165,7 +165,7 @@
   vec4 seed;
 } sim_params;
 
-layout(binding = 1) buffer Particles_1 {
+layout(binding = 1, std430) buffer Particles_1 {
   Particle particles[];
 } data;
 struct UBO {
@@ -257,10 +257,10 @@
   uint width;
 } ubo;
 
-layout(binding = 4) buffer Buffer_1 {
+layout(binding = 4, std430) buffer Buffer_1 {
   float weights[];
 } buf_in;
-layout(binding = 5) buffer Buffer_2 {
+layout(binding = 5, std430) buffer Buffer_2 {
   float weights[];
 } buf_out;
 uniform highp sampler2D tex_in_1;
@@ -315,10 +315,10 @@
   uint width;
 } ubo;
 
-layout(binding = 4) buffer Buffer_1 {
+layout(binding = 4, std430) buffer Buffer_1 {
   float weights[];
 } buf_in;
-layout(binding = 5) buffer Buffer_2 {
+layout(binding = 5, std430) buffer Buffer_2 {
   float weights[];
 } buf_out;
 layout(rgba8) uniform highp writeonly image2D tex_out;
diff --git a/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl b/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
index 49d6d5c..af6c708 100644
--- a/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
+++ b/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
@@ -57,7 +57,7 @@
   uint indices[1769472];
 };
 
-layout(binding = 1) buffer ClusterLightGroup_1 {
+layout(binding = 1, std430) buffer ClusterLightGroup_1 {
   uint offset;
   ClusterLights lights[27648];
   uint indices[1769472];
@@ -69,7 +69,7 @@
   float intensity;
 };
 
-layout(binding = 2) buffer GlobalLights_1 {
+layout(binding = 2, std430) buffer GlobalLights_1 {
   vec3 ambient;
   vec3 dirColor;
   float dirIntensity;
@@ -94,7 +94,7 @@
   return ((tile.x + (tile.y * tileCount.x)) + ((tile.z * tileCount.x) * tileCount.y));
 }
 
-layout(binding = 6) buffer LightShadowTable_1 {
+layout(binding = 6, std430) buffer LightShadowTable_1 {
   int light[];
 } lightShadowTable;
 vec2 shadowSampleOffsets[16] = vec2[16](vec2(-1.5f, -1.5f), vec2(-1.5f, -0.5f), vec2(-1.5f, 0.5f), vec2(-1.5f, 1.5f), vec2(-0.5f, -1.5f), vec2(-0.5f, -0.5f), vec2(-0.5f, 0.5f), vec2(-0.5f, 1.5f), vec2(0.5f, -1.5f), vec2(0.5f, -0.5f), vec2(0.5f, 0.5f), vec2(0.5f, 1.5f), vec2(1.5f, -1.5f), vec2(1.5f, -0.5f), vec2(1.5f, 0.5f), vec2(1.5f, 1.5f));
@@ -104,7 +104,7 @@
   mat4 viewProj;
 };
 
-layout(binding = 7) buffer LightShadows_1 {
+layout(binding = 7, std430) buffer LightShadows_1 {
   ShadowProperties properties[];
 } shadow;
 uniform highp sampler2D shadowTexture_1;
diff --git a/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl b/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
index 11436a6..699ed59 100644
--- a/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
+++ b/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
@@ -13,7 +13,7 @@
   ivec4 i[4];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   Inner arr[];
 } s;
 void tint_symbol(uint idx) {
diff --git a/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl b/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
index 3e6a202..a8792c9 100644
--- a/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
+++ b/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
@@ -13,7 +13,7 @@
   ivec4 i[4];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   Inner arr[];
 } s;
 void tint_symbol(uint idx) {
diff --git a/test/buffer/storage/static_index/read.wgsl.expected.glsl b/test/buffer/storage/static_index/read.wgsl.expected.glsl
index 3e989aa..c286530 100644
--- a/test/buffer/storage/static_index/read.wgsl.expected.glsl
+++ b/test/buffer/storage/static_index/read.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   Inner j[4];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   ivec3 a;
   int b;
   uvec3 c;
diff --git a/test/buffer/storage/static_index/write.wgsl.expected.glsl b/test/buffer/storage/static_index/write.wgsl.expected.glsl
index 292daf0..91947bf 100644
--- a/test/buffer/storage/static_index/write.wgsl.expected.glsl
+++ b/test/buffer/storage/static_index/write.wgsl.expected.glsl
@@ -18,7 +18,7 @@
   Inner j[4];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   ivec3 a;
   int b;
   uvec3 c;
diff --git a/test/buffer/storage/types/array.wgsl.expected.glsl b/test/buffer/storage/types/array.wgsl.expected.glsl
index f93c0a4..f9af038 100644
--- a/test/buffer/storage/types/array.wgsl.expected.glsl
+++ b/test/buffer/storage/types/array.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   float inner[4];
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   float inner[4];
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   float inner[4];
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/f32.wgsl.expected.glsl b/test/buffer/storage/types/f32.wgsl.expected.glsl
index ff15000..1d15ab8 100644
--- a/test/buffer/storage/types/f32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/f32.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   float inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   float inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   float inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/i32.wgsl.expected.glsl b/test/buffer/storage/types/i32.wgsl.expected.glsl
index 2957e23..07206d4 100644
--- a/test/buffer/storage/types/i32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/i32.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   int inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   int inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   int inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/mat2x2.wgsl.expected.glsl b/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
index 39cb9fc..00d1c38 100644
--- a/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   mat2 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   mat2 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   mat2 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/mat2x3.wgsl.expected.glsl b/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
index 817129e..3b71731 100644
--- a/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   mat2x3 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   mat2x3 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   mat2x3 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/mat3x2.wgsl.expected.glsl b/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
index 9d6db45..591b0c7 100644
--- a/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   mat3x2 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   mat3x2 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   mat3x2 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/mat4x4.wgsl.expected.glsl b/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
index 4f401b0..57e5f2d 100644
--- a/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   mat4 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   mat4 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   mat4 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/runtime_array.wgsl.expected.glsl b/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
index 0498997..8e396df 100644
--- a/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
+++ b/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   float f;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   S inner[];
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   S inner[];
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/struct.wgsl.expected.glsl b/test/buffer/storage/types/struct.wgsl.expected.glsl
index 6c17bca..a08d79b 100644
--- a/test/buffer/storage/types/struct.wgsl.expected.glsl
+++ b/test/buffer/storage/types/struct.wgsl.expected.glsl
@@ -11,10 +11,10 @@
   Inner inner;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   Inner inner;
 } tint_symbol;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   Inner inner;
 } tint_symbol_1;
 void tint_symbol_2() {
@@ -27,7 +27,7 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:19: 'assign' :  cannot convert from 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}' to 'layout( binding=1 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}'
+ERROR: 0:19: 'assign' :  cannot convert from 'layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{ global mediump float f} inner}' to 'layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{ global mediump float f} inner}'
 ERROR: 0:19: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
diff --git a/test/buffer/storage/types/u32.wgsl.expected.glsl b/test/buffer/storage/types/u32.wgsl.expected.glsl
index c029902..4586d69 100644
--- a/test/buffer/storage/types/u32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/u32.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   uint inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   uint inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   uint inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/vec2.wgsl.expected.glsl b/test/buffer/storage/types/vec2.wgsl.expected.glsl
index 430c76f..b9b05a8 100644
--- a/test/buffer/storage/types/vec2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec2.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   ivec2 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   ivec2 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   ivec2 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/vec3.wgsl.expected.glsl b/test/buffer/storage/types/vec3.wgsl.expected.glsl
index 78851c6..0a7d552 100644
--- a/test/buffer/storage/types/vec3.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec3.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   uvec3 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   uvec3 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   uvec3 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/buffer/storage/types/vec4.wgsl.expected.glsl b/test/buffer/storage/types/vec4.wgsl.expected.glsl
index 8dc4c6e..c6e6168 100644
--- a/test/buffer/storage/types/vec4.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec4.wgsl.expected.glsl
@@ -5,10 +5,10 @@
   vec4 inner;
 };
 
-layout(binding = 0) buffer tint_symbol_block_1 {
+layout(binding = 0, std430) buffer tint_symbol_block_1 {
   vec4 inner;
 } tint_symbol;
-layout(binding = 1) buffer tint_symbol_block_2 {
+layout(binding = 1, std430) buffer tint_symbol_block_2 {
   vec4 inner;
 } tint_symbol_1;
 void tint_symbol_2() {
diff --git a/test/bug/chromium/1273230.wgsl.expected.glsl b/test/bug/chromium/1273230.wgsl.expected.glsl
index bfc20ad..2f8ed43 100644
--- a/test/bug/chromium/1273230.wgsl.expected.glsl
+++ b/test/bug/chromium/1273230.wgsl.expected.glsl
@@ -54,19 +54,19 @@
   vec3 bbMax;
 } uniforms;
 
-layout(binding = 10) buffer U32s_1 {
+layout(binding = 10, std430) buffer U32s_1 {
   uint values[];
 } indices;
-layout(binding = 11) buffer F32s_1 {
+layout(binding = 11, std430) buffer F32s_1 {
   float values[];
 } positions;
-layout(binding = 20) buffer AU32s_1 {
+layout(binding = 20, std430) buffer AU32s_1 {
   uint values[];
 } counters;
-layout(binding = 21) buffer AI32s_1 {
+layout(binding = 21, std430) buffer AI32s_1 {
   int values[];
 } LUT;
-layout(binding = 50) buffer Dbg_1 {
+layout(binding = 50, std430) buffer Dbg_1 {
   uint offsetCounter;
   uint pad0;
   uint pad1;
diff --git a/test/bug/chromium/1290107.wgsl.expected.glsl b/test/bug/chromium/1290107.wgsl.expected.glsl
index a2b89e4..a68fe94 100644
--- a/test/bug/chromium/1290107.wgsl.expected.glsl
+++ b/test/bug/chromium/1290107.wgsl.expected.glsl
@@ -7,7 +7,7 @@
   float f;
 };
 
-layout(binding = 0) buffer arr_block_1 {
+layout(binding = 0, std430) buffer arr_block_1 {
   S inner[];
 } arr;
 void tint_symbol() {
diff --git a/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
index d40bfd5..f285c50 100644
--- a/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 void f() {
diff --git a/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
index e2fef20..0ff8f67 100644
--- a/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
diff --git a/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
index 457175e..13a067e 100644
--- a/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
@@ -13,14 +13,14 @@
   int tint_symbol;
 };
 
-layout(binding = 2) buffer Result_1 {
+layout(binding = 2, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 struct SSBO {
   int data[4];
 };
 
-layout(binding = 1) buffer SSBO_1 {
+layout(binding = 1, std430) buffer SSBO_1 {
   int data[4];
 } ssbo;
 void f() {
diff --git a/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
index 0b495f2..2ef95c3 100644
--- a/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
@@ -15,7 +15,7 @@
   int tint_symbol;
 };
 
-layout(binding = 2) buffer Result_1 {
+layout(binding = 2, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 void f() {
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 7e4929f..30963db 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
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 shared S s;
diff --git a/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
index 100f67b..4d79f32 100644
--- a/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 void f() {
diff --git a/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
index 997dd2e..90509ae 100644
--- a/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 void x(inout S p) {
diff --git a/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
index 0a776e7..30ce5d2 100644
--- a/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
diff --git a/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
index a4c0ad3..ed3c5dc 100644
--- a/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
diff --git a/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
index aa44922..dffa923 100644
--- a/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
@@ -13,14 +13,14 @@
   int tint_symbol;
 };
 
-layout(binding = 2) buffer Result_1 {
+layout(binding = 2, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 struct SSBO {
   int data[4];
 };
 
-layout(binding = 1) buffer SSBO_1 {
+layout(binding = 1, std430) buffer SSBO_1 {
   int data[4];
 } ssbo;
 void f() {
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 49e6366..dc7ae93 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
@@ -17,7 +17,7 @@
   int tint_symbol;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   int tint_symbol;
 } result;
 shared S s;
diff --git a/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl b/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
index c2c8f93..cd5b829 100644
--- a/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
+++ b/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
@@ -12,7 +12,7 @@
   vec3 velocity;
 };
 
-layout(binding = 3) buffer Particles_1 {
+layout(binding = 3, std430) buffer Particles_1 {
   Particle p[];
 } particles;
 layout(binding = 4) uniform Simulation_1 {
diff --git a/test/bug/tint/1046.wgsl.expected.glsl b/test/bug/tint/1046.wgsl.expected.glsl
index 68ab312..25caf19 100644
--- a/test/bug/tint/1046.wgsl.expected.glsl
+++ b/test/bug/tint/1046.wgsl.expected.glsl
@@ -26,7 +26,7 @@
   vec4 color;
 } uniforms;
 
-layout(binding = 1) buffer PointLights_1 {
+layout(binding = 1, std430) buffer PointLights_1 {
   PointLight values[];
 } pointLights;
 struct FragmentInput {
diff --git a/test/bug/tint/1113.wgsl.expected.glsl b/test/bug/tint/1113.wgsl.expected.glsl
index 89c5c46..1c55add 100644
--- a/test/bug/tint/1113.wgsl.expected.glsl
+++ b/test/bug/tint/1113.wgsl.expected.glsl
@@ -34,19 +34,19 @@
   vec3 bbMax;
 } uniforms;
 
-layout(binding = 10) buffer U32s_1 {
+layout(binding = 10, std430) buffer U32s_1 {
   uint values[];
 } indices;
-layout(binding = 11) buffer F32s_1 {
+layout(binding = 11, std430) buffer F32s_1 {
   float values[];
 } positions;
-layout(binding = 20) buffer AU32s_1 {
+layout(binding = 20, std430) buffer AU32s_1 {
   uint values[];
 } counters;
-layout(binding = 21) buffer AI32s_1 {
+layout(binding = 21, std430) buffer AI32s_1 {
   int values[];
 } LUT;
-layout(binding = 50) buffer Dbg_1 {
+layout(binding = 50, std430) buffer Dbg_1 {
   uint offsetCounter;
   uint pad0;
   uint pad1;
@@ -156,19 +156,19 @@
   vec3 bbMax;
 } uniforms;
 
-layout(binding = 10) buffer U32s_1 {
+layout(binding = 10, std430) buffer U32s_1 {
   uint values[];
 } indices;
-layout(binding = 11) buffer F32s_1 {
+layout(binding = 11, std430) buffer F32s_1 {
   float values[];
 } positions;
-layout(binding = 20) buffer AU32s_1 {
+layout(binding = 20, std430) buffer AU32s_1 {
   uint values[];
 } counters;
-layout(binding = 21) buffer AI32s_1 {
+layout(binding = 21, std430) buffer AI32s_1 {
   int values[];
 } LUT;
-layout(binding = 50) buffer Dbg_1 {
+layout(binding = 50, std430) buffer Dbg_1 {
   uint offsetCounter;
   uint pad0;
   uint pad1;
@@ -247,19 +247,19 @@
   vec3 bbMax;
 } uniforms;
 
-layout(binding = 10) buffer U32s_1 {
+layout(binding = 10, std430) buffer U32s_1 {
   uint values[];
 } indices;
-layout(binding = 11) buffer F32s_1 {
+layout(binding = 11, std430) buffer F32s_1 {
   float values[];
 } positions;
-layout(binding = 20) buffer AU32s_1 {
+layout(binding = 20, std430) buffer AU32s_1 {
   uint values[];
 } counters;
-layout(binding = 21) buffer AI32s_1 {
+layout(binding = 21, std430) buffer AI32s_1 {
   int values[];
 } LUT;
-layout(binding = 50) buffer Dbg_1 {
+layout(binding = 50, std430) buffer Dbg_1 {
   uint offsetCounter;
   uint pad0;
   uint pad1;
diff --git a/test/bug/tint/1121.wgsl.expected.glsl b/test/bug/tint/1121.wgsl.expected.glsl
index 667cba6..1a96e80 100644
--- a/test/bug/tint/1121.wgsl.expected.glsl
+++ b/test/bug/tint/1121.wgsl.expected.glsl
@@ -7,7 +7,7 @@
   float radius;
 };
 
-layout(binding = 0) buffer LightsBuffer_1 {
+layout(binding = 0, std430) buffer LightsBuffer_1 {
   LightData lights[];
 } lightsBuffer;
 struct TileLightIdData {
@@ -19,7 +19,7 @@
   TileLightIdData data[4];
 };
 
-layout(binding = 0) buffer Tiles_1 {
+layout(binding = 0, std430) buffer Tiles_1 {
   TileLightIdData data[4];
 } tileLightId;
 struct Config {
diff --git a/test/bug/tint/1136.wgsl.expected.glsl b/test/bug/tint/1136.wgsl.expected.glsl
index 3af9770..342a0c8 100644
--- a/test/bug/tint/1136.wgsl.expected.glsl
+++ b/test/bug/tint/1136.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   uint data;
 };
 
-layout(binding = 0) buffer Buffer_1 {
+layout(binding = 0, std430) buffer Buffer_1 {
   uint data;
 } tint_symbol;
 void tint_symbol_1() {
diff --git a/test/bug/tint/1385.wgsl.expected.glsl b/test/bug/tint/1385.wgsl.expected.glsl
index 4031ab0..51423ee 100644
--- a/test/bug/tint/1385.wgsl.expected.glsl
+++ b/test/bug/tint/1385.wgsl.expected.glsl
@@ -1,7 +1,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer data_block_1 {
+layout(binding = 1, std430) buffer data_block_1 {
   int inner[];
 } data;
 int foo() {
diff --git a/test/bug/tint/221.wgsl.expected.glsl b/test/bug/tint/221.wgsl.expected.glsl
index b724d8f..2ea0d24 100644
--- a/test/bug/tint/221.wgsl.expected.glsl
+++ b/test/bug/tint/221.wgsl.expected.glsl
@@ -6,7 +6,7 @@
   uint data[50];
 };
 
-layout(binding = 0) buffer Buf_1 {
+layout(binding = 0, std430) buffer Buf_1 {
   uint count;
   uint data[50];
 } b;
diff --git a/test/bug/tint/294.wgsl.expected.glsl b/test/bug/tint/294.wgsl.expected.glsl
index 4a87759..88fba9c 100644
--- a/test/bug/tint/294.wgsl.expected.glsl
+++ b/test/bug/tint/294.wgsl.expected.glsl
@@ -10,6 +10,6 @@
   vec3 colour;
 };
 
-layout(binding = 1) buffer Lights_1 {
+layout(binding = 1, std430) buffer Lights_1 {
   Light light[];
 } lights;
diff --git a/test/bug/tint/369.wgsl.expected.glsl b/test/bug/tint/369.wgsl.expected.glsl
index f4e86cf..4aa0146 100644
--- a/test/bug/tint/369.wgsl.expected.glsl
+++ b/test/bug/tint/369.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   mat2 m;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   mat2 m;
 } SSBO;
 layout(binding = 0) uniform S_2 {
diff --git a/test/bug/tint/492.wgsl.expected.glsl b/test/bug/tint/492.wgsl.expected.glsl
index f4c36d6..b702400 100644
--- a/test/bug/tint/492.wgsl.expected.glsl
+++ b/test/bug/tint/492.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int a;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a;
 } buf;
 void tint_symbol() {
diff --git a/test/bug/tint/534.wgsl.expected.glsl b/test/bug/tint/534.wgsl.expected.glsl
index 8521fbd..e7751d7 100644
--- a/test/bug/tint/534.wgsl.expected.glsl
+++ b/test/bug/tint/534.wgsl.expected.glsl
@@ -8,7 +8,7 @@
   uint channelCount;
 };
 
-layout(binding = 2) buffer OutputBuf_1 {
+layout(binding = 2, std430) buffer OutputBuf_1 {
   uint result[];
 } tint_symbol;
 layout(binding = 3) uniform Uniforms_1 {
diff --git a/test/bug/tint/744.wgsl.expected.glsl b/test/bug/tint/744.wgsl.expected.glsl
index cd60eb6..52221d1 100644
--- a/test/bug/tint/744.wgsl.expected.glsl
+++ b/test/bug/tint/744.wgsl.expected.glsl
@@ -7,13 +7,13 @@
   uvec2 outShape;
 };
 
-layout(binding = 0) buffer Matrix_1 {
+layout(binding = 0, std430) buffer Matrix_1 {
   uint numbers[];
 } firstMatrix;
-layout(binding = 1) buffer Matrix_2 {
+layout(binding = 1, std430) buffer Matrix_2 {
   uint numbers[];
 } secondMatrix;
-layout(binding = 2) buffer Matrix_3 {
+layout(binding = 2, std430) buffer Matrix_3 {
   uint numbers[];
 } resultMatrix;
 layout(binding = 3) uniform Uniforms_1 {
diff --git a/test/bug/tint/757.wgsl.expected.glsl b/test/bug/tint/757.wgsl.expected.glsl
index fab0f57..ea6d4be 100644
--- a/test/bug/tint/757.wgsl.expected.glsl
+++ b/test/bug/tint/757.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int level;
 };
 
-layout(binding = 3) buffer Result_1 {
+layout(binding = 3, std430) buffer Result_1 {
   float values[];
 } result;
 uniform highp sampler2DArray myTexture_1;
diff --git a/test/bug/tint/827.wgsl.expected.glsl b/test/bug/tint/827.wgsl.expected.glsl
index 9933ba5..e530859 100644
--- a/test/bug/tint/827.wgsl.expected.glsl
+++ b/test/bug/tint/827.wgsl.expected.glsl
@@ -2,7 +2,7 @@
 precision mediump float;
 
 const uint width = 128u;
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   float values[];
 } result;
 uniform highp sampler2D tex_1;
diff --git a/test/bug/tint/870.spvasm.expected.glsl b/test/bug/tint/870.spvasm.expected.glsl
index 3f0ad90..ed30b13 100644
--- a/test/bug/tint/870.spvasm.expected.glsl
+++ b/test/bug/tint/870.spvasm.expected.glsl
@@ -12,7 +12,7 @@
   sspp962805860buildInformationS passthru;
 };
 
-layout(binding = 2) buffer x_B4_BuildInformation_1 {
+layout(binding = 2, std430) buffer x_B4_BuildInformation_1 {
   sspp962805860buildInformationS passthru;
 } sspp962805860buildInformation;
 void main_1() {
diff --git a/test/bug/tint/913.wgsl.expected.glsl b/test/bug/tint/913.wgsl.expected.glsl
index 3d484af..0559e2d 100644
--- a/test/bug/tint/913.wgsl.expected.glsl
+++ b/test/bug/tint/913.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   uvec2 copySize;
 };
 
-layout(binding = 2) buffer OutputBuf_1 {
+layout(binding = 2, std430) buffer OutputBuf_1 {
   uint result[];
 } tint_symbol;
 layout(binding = 3) uniform Uniforms_1 {
diff --git a/test/bug/tint/914.wgsl.expected.glsl b/test/bug/tint/914.wgsl.expected.glsl
index e0de067..75fc663 100644
--- a/test/bug/tint/914.wgsl.expected.glsl
+++ b/test/bug/tint/914.wgsl.expected.glsl
@@ -7,13 +7,13 @@
   uint dimBOuter;
 };
 
-layout(binding = 0) buffer Matrix_1 {
+layout(binding = 0, std430) buffer Matrix_1 {
   float numbers[];
 } firstMatrix;
-layout(binding = 1) buffer Matrix_2 {
+layout(binding = 1, std430) buffer Matrix_2 {
   float numbers[];
 } secondMatrix;
-layout(binding = 2) buffer Matrix_3 {
+layout(binding = 2, std430) buffer Matrix_3 {
   float numbers[];
 } resultMatrix;
 layout(binding = 3) uniform Uniforms_1 {
diff --git a/test/bug/tint/926.wgsl.expected.glsl b/test/bug/tint/926.wgsl.expected.glsl
index 15a518c..4ed6ac3 100644
--- a/test/bug/tint/926.wgsl.expected.glsl
+++ b/test/bug/tint/926.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint vertexCount;
 };
 
-layout(binding = 5) buffer DrawIndirectArgs_1 {
+layout(binding = 5, std430) buffer DrawIndirectArgs_1 {
   uint vertexCount;
 } drawOut;
 uint cubeVerts = 0u;
diff --git a/test/bug/tint/943.spvasm.expected.glsl b/test/bug/tint/943.spvasm.expected.glsl
index f88926b..5ddf3e5 100644
--- a/test/bug/tint/943.spvasm.expected.glsl
+++ b/test/bug/tint/943.spvasm.expected.glsl
@@ -34,18 +34,18 @@
 
 int dimInner_1 = 0;
 int dimBOuter_1 = 0;
-layout(binding = 0) buffer ssbOut_1 {
+layout(binding = 0, std430) buffer ssbOut_1 {
   float result[];
 } x_54;
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
 uvec3 tint_symbol_1 = uvec3(0u, 0u, 0u);
 shared float mm_Asub[64][64];
 shared float mm_Bsub[64][1];
-layout(binding = 1) buffer ssbA_1 {
+layout(binding = 1, std430) buffer ssbA_1 {
   float A[];
 } x_165;
 int batch = 0;
-layout(binding = 2) buffer ssbB_1 {
+layout(binding = 2, std430) buffer ssbB_1 {
   float B[];
 } x_185;
 bool coordsInBounds_vi2_vi2_(inout ivec2 coord, inout ivec2 shape) {
diff --git a/test/bug/tint/951.spvasm.expected.glsl b/test/bug/tint/951.spvasm.expected.glsl
index 1d048c0..a62e485 100644
--- a/test/bug/tint/951.spvasm.expected.glsl
+++ b/test/bug/tint/951.spvasm.expected.glsl
@@ -19,10 +19,10 @@
   int size;
 };
 
-layout(binding = 0) buffer ssbOut_1 {
+layout(binding = 0, std430) buffer ssbOut_1 {
   float result[];
 } x_16;
-layout(binding = 1) buffer ssbA_1 {
+layout(binding = 1, std430) buffer ssbA_1 {
   float A[];
 } x_20;
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
diff --git a/test/bug/tint/959.wgsl.expected.glsl b/test/bug/tint/959.wgsl.expected.glsl
index 9ac597c..7538459 100644
--- a/test/bug/tint/959.wgsl.expected.glsl
+++ b/test/bug/tint/959.wgsl.expected.glsl
@@ -5,28 +5,28 @@
   float a;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   float a;
 } b0;
-layout(binding = 0) buffer S_2 {
+layout(binding = 0, std430) buffer S_2 {
   float a;
 } b1;
-layout(binding = 0) buffer S_3 {
+layout(binding = 0, std430) buffer S_3 {
   float a;
 } b2;
-layout(binding = 0) buffer S_4 {
+layout(binding = 0, std430) buffer S_4 {
   float a;
 } b3;
-layout(binding = 0) buffer S_5 {
+layout(binding = 0, std430) buffer S_5 {
   float a;
 } b4;
-layout(binding = 0) buffer S_6 {
+layout(binding = 0, std430) buffer S_6 {
   float a;
 } b5;
-layout(binding = 0) buffer S_7 {
+layout(binding = 0, std430) buffer S_7 {
   float a;
 } b6;
-layout(binding = 0) buffer S_8 {
+layout(binding = 0, std430) buffer S_8 {
   float a;
 } b7;
 layout(binding = 1) uniform S_9 {
diff --git a/test/bug/tint/977.spvasm.expected.glsl b/test/bug/tint/977.spvasm.expected.glsl
index 9c8e0ab..96d697f 100644
--- a/test/bug/tint/977.spvasm.expected.glsl
+++ b/test/bug/tint/977.spvasm.expected.glsl
@@ -22,7 +22,7 @@
 };
 
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
-layout(binding = 2) buffer ResultMatrix_1 {
+layout(binding = 2, std430) buffer ResultMatrix_1 {
   float numbers[];
 } resultMatrix;
 float binaryOperation_f1_f1_(inout float a, inout float b) {
diff --git a/test/bug/tint/980.wgsl.expected.glsl b/test/bug/tint/980.wgsl.expected.glsl
index 1019176..6a1e700 100644
--- a/test/bug/tint/980.wgsl.expected.glsl
+++ b/test/bug/tint/980.wgsl.expected.glsl
@@ -12,7 +12,7 @@
   uint i;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   vec3 v;
   uint i;
 } io;
diff --git a/test/bug/tint/993.wgsl.expected.glsl b/test/bug/tint/993.wgsl.expected.glsl
index 3e60c6e..b0b1868 100644
--- a/test/bug/tint/993.wgsl.expected.glsl
+++ b/test/bug/tint/993.wgsl.expected.glsl
@@ -13,14 +13,14 @@
   uint value;
 };
 
-layout(binding = 1) buffer Result_1 {
+layout(binding = 1, std430) buffer Result_1 {
   uint value;
 } result;
 struct TestData {
   int data[3];
 };
 
-layout(binding = 0) buffer TestData_1 {
+layout(binding = 0, std430) buffer TestData_1 {
   int data[3];
 } s;
 int runTest() {
diff --git a/test/builtins/arrayLength/complex_via_let.wgsl.expected.glsl b/test/builtins/arrayLength/complex_via_let.wgsl.expected.glsl
index f05ef5a..6f43d16 100644
--- a/test/builtins/arrayLength/complex_via_let.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/complex_via_let.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl b/test/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
index fa81168..2df0269 100644
--- a/test/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer G_block_1 {
+layout(binding = 0, std430) buffer G_block_1 {
   int inner[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/deprecated.wgsl.expected.glsl b/test/builtins/arrayLength/deprecated.wgsl.expected.glsl
index 833412f..d447f38 100644
--- a/test/builtins/arrayLength/deprecated.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/deprecated.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/simple.wgsl.expected.glsl b/test/builtins/arrayLength/simple.wgsl.expected.glsl
index f05ef5a..6f43d16 100644
--- a/test/builtins/arrayLength/simple.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/simple.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/simple_no_struct.wgsl.expected.glsl b/test/builtins/arrayLength/simple_no_struct.wgsl.expected.glsl
index fa81168..2df0269 100644
--- a/test/builtins/arrayLength/simple_no_struct.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/simple_no_struct.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer G_block_1 {
+layout(binding = 0, std430) buffer G_block_1 {
   int inner[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/via_let.wgsl.expected.glsl b/test/builtins/arrayLength/via_let.wgsl.expected.glsl
index f05ef5a..6f43d16 100644
--- a/test/builtins/arrayLength/via_let.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/via_let.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/via_let_complex.wgsl.expected.glsl b/test/builtins/arrayLength/via_let_complex.wgsl.expected.glsl
index f05ef5a..6f43d16 100644
--- a/test/builtins/arrayLength/via_let_complex.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/via_let_complex.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl b/test/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
index fa81168..2df0269 100644
--- a/test/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer G_block_1 {
+layout(binding = 0, std430) buffer G_block_1 {
   int inner[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/arrayLength/via_let_no_struct.wgsl.expected.glsl b/test/builtins/arrayLength/via_let_no_struct.wgsl.expected.glsl
index fa81168..2df0269 100644
--- a/test/builtins/arrayLength/via_let_no_struct.wgsl.expected.glsl
+++ b/test/builtins/arrayLength/via_let_no_struct.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer G_block_1 {
+layout(binding = 0, std430) buffer G_block_1 {
   int inner[];
 } G;
 void tint_symbol() {
diff --git a/test/builtins/gen/arrayLength/1588cd.wgsl.expected.glsl b/test/builtins/gen/arrayLength/1588cd.wgsl.expected.glsl
index e825ee3..af7a607 100644
--- a/test/builtins/gen/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/1588cd.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
 void arrayLength_1588cd() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
 void arrayLength_1588cd() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
 void arrayLength_1588cd() {
diff --git a/test/builtins/gen/arrayLength/61b1c7.wgsl.expected.glsl b/test/builtins/gen/arrayLength/61b1c7.wgsl.expected.glsl
index 04d2a2d..c8e824f 100644
--- a/test/builtins/gen/arrayLength/61b1c7.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/61b1c7.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
 void arrayLength_61b1c7() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
 void arrayLength_61b1c7() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
 void arrayLength_61b1c7() {
diff --git a/test/builtins/gen/arrayLength/a0f5ca.wgsl.expected.glsl b/test/builtins/gen/arrayLength/a0f5ca.wgsl.expected.glsl
index 371149b..730e08d 100644
--- a/test/builtins/gen/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
 void arrayLength_a0f5ca() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
 void arrayLength_a0f5ca() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
 void arrayLength_a0f5ca() {
diff --git a/test/builtins/gen/arrayLength/cdd123.wgsl.expected.glsl b/test/builtins/gen/arrayLength/cdd123.wgsl.expected.glsl
index 3b94383..3367d5b 100644
--- a/test/builtins/gen/arrayLength/cdd123.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/cdd123.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
 void arrayLength_cdd123() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
 void arrayLength_cdd123() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
 void arrayLength_cdd123() {
diff --git a/test/builtins/gen/arrayLength/cfca0a.wgsl.expected.glsl b/test/builtins/gen/arrayLength/cfca0a.wgsl.expected.glsl
index a58d713..55bfb57 100644
--- a/test/builtins/gen/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/cfca0a.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
 void arrayLength_cfca0a() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
 void arrayLength_cfca0a() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 1) buffer SB_RO_1 {
+layout(binding = 1, std430) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
 void arrayLength_cfca0a() {
diff --git a/test/builtins/gen/arrayLength/eb510f.wgsl.expected.glsl b/test/builtins/gen/arrayLength/eb510f.wgsl.expected.glsl
index 758a7c4..e48d0cf 100644
--- a/test/builtins/gen/arrayLength/eb510f.wgsl.expected.glsl
+++ b/test/builtins/gen/arrayLength/eb510f.wgsl.expected.glsl
@@ -3,7 +3,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
 void arrayLength_eb510f() {
@@ -35,7 +35,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
 void arrayLength_eb510f() {
@@ -63,7 +63,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
 void arrayLength_eb510f() {
diff --git a/test/builtins/gen/atomicAdd/8a199a.wgsl.expected.glsl b/test/builtins/gen/atomicAdd/8a199a.wgsl.expected.glsl
index 90a451a..7cfbf78 100644
--- a/test/builtins/gen/atomicAdd/8a199a.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAdd/8a199a.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicAdd_8a199a() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicAdd_8a199a() {
diff --git a/test/builtins/gen/atomicAdd/d32fe4.wgsl.expected.glsl b/test/builtins/gen/atomicAdd/d32fe4.wgsl.expected.glsl
index df84fcc..1e1c730 100644
--- a/test/builtins/gen/atomicAdd/d32fe4.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAdd/d32fe4.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicAdd_d32fe4() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicAdd_d32fe4() {
diff --git a/test/builtins/gen/atomicAnd/152966.wgsl.expected.glsl b/test/builtins/gen/atomicAnd/152966.wgsl.expected.glsl
index 18330ed..9f34abb 100644
--- a/test/builtins/gen/atomicAnd/152966.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAnd/152966.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicAnd_152966() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicAnd_152966() {
diff --git a/test/builtins/gen/atomicAnd/85a8d9.wgsl.expected.glsl b/test/builtins/gen/atomicAnd/85a8d9.wgsl.expected.glsl
index 63cfda0..fd1e8e9 100644
--- a/test/builtins/gen/atomicAnd/85a8d9.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicAnd/85a8d9.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicAnd_85a8d9() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicAnd_85a8d9() {
diff --git a/test/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl b/test/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
index 718abd1..fe25e03 100644
--- a/test/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
@@ -13,7 +13,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicCompareExchangeWeak_12871c() {
@@ -43,7 +43,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicCompareExchangeWeak_12871c() {
diff --git a/test/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl b/test/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
index 58433a2..c7fbeab 100644
--- a/test/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
@@ -13,7 +13,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicCompareExchangeWeak_6673da() {
@@ -43,7 +43,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicCompareExchangeWeak_6673da() {
diff --git a/test/builtins/gen/atomicExchange/d59712.wgsl.expected.glsl b/test/builtins/gen/atomicExchange/d59712.wgsl.expected.glsl
index 144ff7f..081d2a5 100644
--- a/test/builtins/gen/atomicExchange/d59712.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicExchange/d59712.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicExchange_d59712() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicExchange_d59712() {
diff --git a/test/builtins/gen/atomicExchange/f2e22f.wgsl.expected.glsl b/test/builtins/gen/atomicExchange/f2e22f.wgsl.expected.glsl
index cad28eb..270c305 100644
--- a/test/builtins/gen/atomicExchange/f2e22f.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicExchange/f2e22f.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicExchange_f2e22f() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicExchange_f2e22f() {
diff --git a/test/builtins/gen/atomicLoad/0806ad.wgsl.expected.glsl b/test/builtins/gen/atomicLoad/0806ad.wgsl.expected.glsl
index a76e496..0306ab2 100644
--- a/test/builtins/gen/atomicLoad/0806ad.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicLoad/0806ad.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicLoad_0806ad() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicLoad_0806ad() {
diff --git a/test/builtins/gen/atomicLoad/fe6cc3.wgsl.expected.glsl b/test/builtins/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
index b7a75c0..07ac3ee 100644
--- a/test/builtins/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicLoad_fe6cc3() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicLoad_fe6cc3() {
diff --git a/test/builtins/gen/atomicMax/51b9be.wgsl.expected.glsl b/test/builtins/gen/atomicMax/51b9be.wgsl.expected.glsl
index 16d8fb4..f726e34 100644
--- a/test/builtins/gen/atomicMax/51b9be.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMax/51b9be.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicMax_51b9be() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicMax_51b9be() {
diff --git a/test/builtins/gen/atomicMax/92aa72.wgsl.expected.glsl b/test/builtins/gen/atomicMax/92aa72.wgsl.expected.glsl
index 9811e87..1ffdba3 100644
--- a/test/builtins/gen/atomicMax/92aa72.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMax/92aa72.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicMax_92aa72() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicMax_92aa72() {
diff --git a/test/builtins/gen/atomicMin/8e38dc.wgsl.expected.glsl b/test/builtins/gen/atomicMin/8e38dc.wgsl.expected.glsl
index 43a6e16..d408681 100644
--- a/test/builtins/gen/atomicMin/8e38dc.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMin/8e38dc.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicMin_8e38dc() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicMin_8e38dc() {
diff --git a/test/builtins/gen/atomicMin/c67a74.wgsl.expected.glsl b/test/builtins/gen/atomicMin/c67a74.wgsl.expected.glsl
index 42143c6..4def8e7 100644
--- a/test/builtins/gen/atomicMin/c67a74.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicMin/c67a74.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicMin_c67a74() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicMin_c67a74() {
diff --git a/test/builtins/gen/atomicOr/5e95d4.wgsl.expected.glsl b/test/builtins/gen/atomicOr/5e95d4.wgsl.expected.glsl
index ecde95d..01985c1 100644
--- a/test/builtins/gen/atomicOr/5e95d4.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicOr/5e95d4.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicOr_5e95d4() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicOr_5e95d4() {
diff --git a/test/builtins/gen/atomicOr/8d96a0.wgsl.expected.glsl b/test/builtins/gen/atomicOr/8d96a0.wgsl.expected.glsl
index 049e089..3838592 100644
--- a/test/builtins/gen/atomicOr/8d96a0.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicOr/8d96a0.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicOr_8d96a0() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicOr_8d96a0() {
diff --git a/test/builtins/gen/atomicStore/cdc29e.wgsl.expected.glsl b/test/builtins/gen/atomicStore/cdc29e.wgsl.expected.glsl
index d31459d..970c11b 100644
--- a/test/builtins/gen/atomicStore/cdc29e.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicStore/cdc29e.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicStore_cdc29e() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicStore_cdc29e() {
diff --git a/test/builtins/gen/atomicStore/d1e9a6.wgsl.expected.glsl b/test/builtins/gen/atomicStore/d1e9a6.wgsl.expected.glsl
index 7f0ccd6..a5d2959 100644
--- a/test/builtins/gen/atomicStore/d1e9a6.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicStore/d1e9a6.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicStore_d1e9a6() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicStore_d1e9a6() {
diff --git a/test/builtins/gen/atomicSub/051100.wgsl.expected.glsl b/test/builtins/gen/atomicSub/051100.wgsl.expected.glsl
index bf4dc03..62a7e3a 100644
--- a/test/builtins/gen/atomicSub/051100.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicSub/051100.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicSub_051100() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicSub_051100() {
diff --git a/test/builtins/gen/atomicSub/15bfc9.wgsl.expected.glsl b/test/builtins/gen/atomicSub/15bfc9.wgsl.expected.glsl
index 82d64e2..739d9c9 100644
--- a/test/builtins/gen/atomicSub/15bfc9.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicSub/15bfc9.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicSub_15bfc9() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicSub_15bfc9() {
diff --git a/test/builtins/gen/atomicXor/54510e.wgsl.expected.glsl b/test/builtins/gen/atomicXor/54510e.wgsl.expected.glsl
index 6353458..5427999 100644
--- a/test/builtins/gen/atomicXor/54510e.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicXor/54510e.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicXor_54510e() {
@@ -27,7 +27,7 @@
   uint arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
 void atomicXor_54510e() {
diff --git a/test/builtins/gen/atomicXor/c1b78c.wgsl.expected.glsl b/test/builtins/gen/atomicXor/c1b78c.wgsl.expected.glsl
index f48a364..8e45daa 100644
--- a/test/builtins/gen/atomicXor/c1b78c.wgsl.expected.glsl
+++ b/test/builtins/gen/atomicXor/c1b78c.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicXor_c1b78c() {
@@ -27,7 +27,7 @@
   int arg_0;
 };
 
-layout(binding = 0) buffer SB_RW_1 {
+layout(binding = 0, std430) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
 void atomicXor_c1b78c() {
diff --git a/test/builtins/gen/isFinite/34d32b.wgsl.expected.glsl b/test/builtins/gen/isFinite/34d32b.wgsl.expected.glsl
index 6de5cd4..28d6f70 100644
--- a/test/builtins/gen/isFinite/34d32b.wgsl.expected.glsl
+++ b/test/builtins/gen/isFinite/34d32b.wgsl.expected.glsl
@@ -24,9 +24,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 2-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -47,9 +47,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 2-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -71,9 +71,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 2-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isFinite/426f9f.wgsl.expected.glsl b/test/builtins/gen/isFinite/426f9f.wgsl.expected.glsl
index 51d1125..e097925 100644
--- a/test/builtins/gen/isFinite/426f9f.wgsl.expected.glsl
+++ b/test/builtins/gen/isFinite/426f9f.wgsl.expected.glsl
@@ -24,9 +24,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -47,9 +47,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -71,9 +71,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isFinite/8a23ad.wgsl.expected.glsl b/test/builtins/gen/isFinite/8a23ad.wgsl.expected.glsl
index a4f158f..2493776 100644
--- a/test/builtins/gen/isFinite/8a23ad.wgsl.expected.glsl
+++ b/test/builtins/gen/isFinite/8a23ad.wgsl.expected.glsl
@@ -24,9 +24,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 3-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -47,9 +47,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 3-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -71,9 +71,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 3-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isFinite/f31987.wgsl.expected.glsl b/test/builtins/gen/isFinite/f31987.wgsl.expected.glsl
index 3d49f8e..445fb96 100644
--- a/test/builtins/gen/isFinite/f31987.wgsl.expected.glsl
+++ b/test/builtins/gen/isFinite/f31987.wgsl.expected.glsl
@@ -24,9 +24,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 4-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -47,9 +47,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 4-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -71,9 +71,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'isfinite' : no matching overloaded function found
+ERROR: 0:5: 'isfinite' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp 4-component vector of bool'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isNormal/863dcd.wgsl.expected.glsl b/test/builtins/gen/isNormal/863dcd.wgsl.expected.glsl
index c33bf3e..4d7f3fe 100644
--- a/test/builtins/gen/isNormal/863dcd.wgsl.expected.glsl
+++ b/test/builtins/gen/isNormal/863dcd.wgsl.expected.glsl
@@ -31,8 +31,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint4' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint4' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -60,8 +60,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint4' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint4' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -90,8 +90,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint4' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint4' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isNormal/b00ab1.wgsl.expected.glsl b/test/builtins/gen/isNormal/b00ab1.wgsl.expected.glsl
index ed74f8e..0084bec 100644
--- a/test/builtins/gen/isNormal/b00ab1.wgsl.expected.glsl
+++ b/test/builtins/gen/isNormal/b00ab1.wgsl.expected.glsl
@@ -31,8 +31,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint2' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint2' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -60,8 +60,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint2' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint2' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -90,8 +90,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint2' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint2' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isNormal/c286b7.wgsl.expected.glsl b/test/builtins/gen/isNormal/c286b7.wgsl.expected.glsl
index 79e52f6..cf69d33 100644
--- a/test/builtins/gen/isNormal/c286b7.wgsl.expected.glsl
+++ b/test/builtins/gen/isNormal/c286b7.wgsl.expected.glsl
@@ -31,8 +31,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint3' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint3' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -60,8 +60,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint3' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint3' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -90,8 +90,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint3' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint3' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/gen/isNormal/c6e880.wgsl.expected.glsl b/test/builtins/gen/isNormal/c6e880.wgsl.expected.glsl
index ef28761..5974f96 100644
--- a/test/builtins/gen/isNormal/c6e880.wgsl.expected.glsl
+++ b/test/builtins/gen/isNormal/c6e880.wgsl.expected.glsl
@@ -31,9 +31,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'asuint' : no matching overloaded function found
+ERROR: 0:5: 'asuint' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp uint'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -61,9 +61,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'asuint' : no matching overloaded function found
+ERROR: 0:5: 'asuint' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp mediump uint'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
@@ -92,9 +92,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'asuint' : no matching overloaded function found
+ERROR: 0:5: 'asuint' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp uint'
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/builtins/repeated_use.wgsl.expected.glsl b/test/builtins/repeated_use.wgsl.expected.glsl
index 450afef..a27347a 100644
--- a/test/builtins/repeated_use.wgsl.expected.glsl
+++ b/test/builtins/repeated_use.wgsl.expected.glsl
@@ -97,8 +97,8 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:5: 'uint4' : undeclared identifier
-ERROR: 0:5: '' : compilation terminated
+ERROR: 0:5: 'uint4' : undeclared identifier 
+ERROR: 0:5: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
index b04cc88..f85921e 100644
--- a/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   vec3 v;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   vec3 v;
 } U;
 void f() {
diff --git a/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
index b50dd2e..64d86eb 100644
--- a/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   ivec3 v;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   ivec3 v;
 } U;
 void f() {
diff --git a/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
index 6a8666c..358bf4f 100644
--- a/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
@@ -9,7 +9,7 @@
   uvec3 v;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uvec3 v;
 } U;
 void f() {
diff --git a/test/layout/storage/mat2x2/f32.wgsl.expected.glsl b/test/layout/storage/mat2x2/f32.wgsl.expected.glsl
index 931fe1d..7c741c1 100644
--- a/test/layout/storage/mat2x2/f32.wgsl.expected.glsl
+++ b/test/layout/storage/mat2x2/f32.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   mat2 m;
 };
 
-layout(binding = 0) buffer SSBO_1 {
+layout(binding = 0, std430) buffer SSBO_1 {
   mat2 m;
 } ssbo;
 void f() {
diff --git a/test/layout/storage/mat2x2/stride/16.spvasm.expected.glsl b/test/layout/storage/mat2x2/stride/16.spvasm.expected.glsl
index e82307f..d724455 100644
--- a/test/layout/storage/mat2x2/stride/16.spvasm.expected.glsl
+++ b/test/layout/storage/mat2x2/stride/16.spvasm.expected.glsl
@@ -9,7 +9,7 @@
   strided_arr m[2];
 };
 
-layout(binding = 0) buffer SSBO_1 {
+layout(binding = 0, std430) buffer SSBO_1 {
   strided_arr m[2];
 } ssbo;
 mat2 arr_to_mat2x2_stride_16(strided_arr arr[2]) {
diff --git a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.glsl b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.glsl
index eda6fc6..c8dfc57 100644
--- a/test/ptr_ref/load/local/ptr_storage.wgsl.expected.glsl
+++ b/test/ptr_ref/load/local/ptr_storage.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int a;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int a;
 } v;
 void tint_symbol() {
diff --git a/test/samples/compute_boids.wgsl.expected.glsl b/test/samples/compute_boids.wgsl.expected.glsl
index d44de14..44aa80c 100644
--- a/test/samples/compute_boids.wgsl.expected.glsl
+++ b/test/samples/compute_boids.wgsl.expected.glsl
@@ -100,10 +100,10 @@
   float rule3Scale;
 } params;
 
-layout(binding = 1) buffer Particles_1 {
+layout(binding = 1, std430) buffer Particles_1 {
   Particle particles[5];
 } particlesA;
-layout(binding = 2) buffer Particles_2 {
+layout(binding = 2, std430) buffer Particles_2 {
   Particle particles[5];
 } particlesB;
 void comp_main(uvec3 tint_symbol) {
diff --git a/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl b/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
index 69b3155..321e231 100644
--- a/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
+++ b/test/shader_io/shared_struct_storage_buffer.wgsl.expected.glsl
@@ -11,7 +11,7 @@
   vec4 v;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   float f;
   uint u;
   vec4 v;
@@ -29,7 +29,7 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:21: 'assign' :  cannot convert from ' in structure{ global mediump float f,  global mediump uint u,  global mediump 4-component vector of float v}' to 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer mediump float f, layout( column_major shared) buffer mediump uint u, layout( column_major shared) buffer mediump 4-component vector of float v}'
+ERROR: 0:21: 'assign' :  cannot convert from ' in structure{ global mediump float f,  global mediump uint u,  global mediump 4-component vector of float v}' to 'layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump float f, layout( column_major std430 offset=4) buffer mediump uint u, layout( column_major std430 offset=16) buffer mediump 4-component vector of float v}'
 ERROR: 0:21: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
diff --git a/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl b/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
index cf0aef0..ae445ac 100644
--- a/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
+++ b/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
@@ -13,7 +13,7 @@
   uint i;
 } uniforms;
 
-layout(binding = 0) buffer OuterS_1 {
+layout(binding = 0, std430) buffer OuterS_1 {
   InnerS a1[];
 } s1;
 void tint_symbol() {
diff --git a/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl b/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
index 28a11c1..9ac6327 100644
--- a/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
+++ b/test/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
@@ -19,7 +19,7 @@
   uint j;
 } uniforms;
 
-layout(binding = 0) buffer OuterS_1 {
+layout(binding = 0, std430) buffer OuterS_1 {
   S1 a1[];
 } s;
 void tint_symbol() {
diff --git a/test/statements/assign/phony/addr_of_non_constructable.wgsl.expected.glsl b/test/statements/assign/phony/addr_of_non_constructable.wgsl.expected.glsl
index 09eb486..8a72b47 100644
--- a/test/statements/assign/phony/addr_of_non_constructable.wgsl.expected.glsl
+++ b/test/statements/assign/phony/addr_of_non_constructable.wgsl.expected.glsl
@@ -1,7 +1,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int arr[];
 } s;
 void tint_symbol() {
diff --git a/test/statements/assign/phony/addr_of_runtime_array.wgsl.expected.glsl b/test/statements/assign/phony/addr_of_runtime_array.wgsl.expected.glsl
index 09eb486..8a72b47 100644
--- a/test/statements/assign/phony/addr_of_runtime_array.wgsl.expected.glsl
+++ b/test/statements/assign/phony/addr_of_runtime_array.wgsl.expected.glsl
@@ -1,7 +1,7 @@
 #version 310 es
 precision mediump float;
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int arr[];
 } s;
 void tint_symbol() {
diff --git a/test/statements/assign/phony/storage_buffer.wgsl.expected.glsl b/test/statements/assign/phony/storage_buffer.wgsl.expected.glsl
index 44d8fcc..e1a9e20 100644
--- a/test/statements/assign/phony/storage_buffer.wgsl.expected.glsl
+++ b/test/statements/assign/phony/storage_buffer.wgsl.expected.glsl
@@ -5,7 +5,7 @@
   int i;
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int i;
 } s;
 void tint_symbol() {
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
index 6e4715f..2e8e85b 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromAccessChain.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   uint rtarr[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint first;
   uint rtarr[];
 } myvar;
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
index 6e4715f..2e8e85b 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_ArrayLength_FromVar.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   uint rtarr[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint first;
   uint rtarr[];
 } myvar;
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
index 2447bc0..2781744 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_EmitStatement_AccessChain_Struct_RuntimeArray.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   float age[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   float field0;
   float age[];
 } myvar;
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
index f100aa6..f777541 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_Cascaded.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   uint field1[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
 } myvar;
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
index 6b48d19..dfa261f 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   uint field1[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
 } myvar;
diff --git a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
index 6b48d19..dfa261f 100644
--- a/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
+++ b/test/unittest/reader/spirv/SpvParserMemoryTest_RemapStorageBuffer_ThroughAccessChain_NonCascaded_InBoundsAccessChain.spvasm.expected.glsl
@@ -8,7 +8,7 @@
   uint field1[];
 };
 
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0;
   uint field1[];
 } myvar;
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 1c13254..bc6900e 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
@@ -13,7 +13,7 @@
 };
 
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   int global_seed;
   int data[];
 } x_7;
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 acddae3..a7ca19e 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
@@ -17,7 +17,7 @@
 };
 
 uvec3 tint_symbol = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   int global_seed;
   int data[];
 } x_7;
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl
index 7d514df..7ccedbd 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl
@@ -5,25 +5,25 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[1];
+  strided_arr_1 x_GLF_uniform_float_values[1];
 };
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 } x_8;
 
 void main_1() {
@@ -92,7 +92,7 @@
 }
 Error parsing GLSL shader:
 ERROR: 0:43: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:43: '' : compilation terminated
+ERROR: 0:43: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.wgsl.expected.glsl
index 604dfed..4d69683 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.wgsl.expected.glsl
@@ -118,7 +118,7 @@
 }
 Error parsing GLSL shader:
 ERROR: 0:32: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' const float' and a right operand of type ' const float' (or there is no acceptable conversion)
-ERROR: 0:32: '' : compilation terminated
+ERROR: 0:32: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.glsl
index 4c65bdc..ce822d7 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-unpackunorm-loop/0-opt.spvasm.expected.glsl
@@ -11,16 +11,16 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-bitcount/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-bitcount/0-opt.spvasm.expected.glsl
index fe32bd4..944bf9e 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-bitcount/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-bitcount/0-opt.spvasm.expected.glsl
@@ -4,29 +4,29 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 };
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 } x_8;
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 } x_11;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-bitfieldreverse-loop-limit-underflow/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-bitfieldreverse-loop-limit-underflow/0.spvasm.expected.glsl
index 93a8edf..5a6fcec 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-bitfieldreverse-loop-limit-underflow/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-bitfieldreverse-loop-limit-underflow/0.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 } x_5;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-color-output-undefined-in-unexecuted-branch/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-color-output-undefined-in-unexecuted-branch/0-opt.spvasm.expected.glsl
index deecf4f..3765e73 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-color-output-undefined-in-unexecuted-branch/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-color-output-undefined-in-unexecuted-branch/0-opt.spvasm.expected.glsl
@@ -11,42 +11,42 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[3];
+  strided_arr x_GLF_uniform_float_values[3];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf2 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 struct buf3 {
   int three;
 };
 
-struct tint_padded_array_element_2 {
+struct strided_arr_2 {
   uint el;
 };
 
 struct buf0 {
-  tint_padded_array_element_2 x_GLF_uniform_uint_values[1];
+  strided_arr_2 x_GLF_uniform_uint_values[1];
 };
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[3];
+  strided_arr x_GLF_uniform_float_values[3];
 } x_8;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 2) uniform buf2_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_12;
 
 layout(binding = 3) uniform buf3_1 {
@@ -54,7 +54,7 @@
 } x_14;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_2 x_GLF_uniform_uint_values[1];
+  strided_arr_2 x_GLF_uniform_uint_values[1];
 } x_16;
 
 void func0_() {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-dag-combiner-loop-bitfieldreverse/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-dag-combiner-loop-bitfieldreverse/0-opt.spvasm.expected.glsl
index 0662c76..6cedb1f 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-dag-combiner-loop-bitfieldreverse/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-dag-combiner-loop-bitfieldreverse/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-derivative-uniform-vector-global-loop-count/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-derivative-uniform-vector-global-loop-count/0-opt.spvasm.expected.glsl
index abe7c04..87d316c 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-derivative-uniform-vector-global-loop-count/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-derivative-uniform-vector-global-loop-count/0-opt.spvasm.expected.glsl
@@ -4,20 +4,20 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 };
 
 struct buf2 {
@@ -26,11 +26,11 @@
 
 int x_GLF_global_loop_count = 0;
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_7;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 } x_10;
 
 layout(binding = 2) uniform buf2_1 {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm.expected.glsl
index b3a2077..465bf71 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-fract-asin-undefined-never-used/0-opt.spvasm.expected.glsl
@@ -4,30 +4,30 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 };
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 } x_8;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 } x_10;
 
 void main_1() {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.spvasm.expected.glsl
index 0ee42ce..b850705 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-fract-smoothstep-undefined/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl
index 9dcb6b4..e9dcfbe 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl
@@ -4,17 +4,17 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 };
 
 int x_GLF_global_loop_count = 0;
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 } x_7;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl
index fba2266..3fbdde5 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[5];
+  strided_arr x_GLF_uniform_int_values[5];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[5];
+  strided_arr x_GLF_uniform_int_values[5];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-and-or-xor-pack-unpack/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-and-or-xor-pack-unpack/0-opt.spvasm.expected.glsl
index 077ea9b..5328e56 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-and-or-xor-pack-unpack/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-and-or-xor-pack-unpack/0-opt.spvasm.expected.glsl
@@ -16,28 +16,28 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_6;
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-mul-div-rem-if-undefined-divide-mix/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-mul-div-rem-if-undefined-divide-mix/0-opt.spvasm.expected.glsl
index 0942b77..7b65985 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-mul-div-rem-if-undefined-divide-mix/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-mul-div-rem-if-undefined-divide-mix/0-opt.spvasm.expected.glsl
@@ -4,30 +4,30 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[2];
+  strided_arr_1 x_GLF_uniform_float_values[2];
 };
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 } x_8;
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[2];
+  strided_arr_1 x_GLF_uniform_float_values[2];
 } x_10;
 
 float f1_f1_(inout float a) {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-pack-unpack/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-pack-unpack/0-opt.spvasm.expected.glsl
index 614a628..26f9977 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-pack-unpack/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-pack-unpack/0-opt.spvasm.expected.glsl
@@ -16,28 +16,28 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[7];
+  strided_arr x_GLF_uniform_float_values[7];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[7];
+  strided_arr x_GLF_uniform_float_values[7];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.glsl
index 831d9b6..4d706b5 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-shifts-mix-mix-clamp/0-opt.spvasm.expected.glsl
@@ -4,28 +4,28 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[2];
+  strided_arr_1 x_GLF_uniform_float_values[2];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[3];
+  strided_arr x_GLF_uniform_int_values[3];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[2];
+  strided_arr_1 x_GLF_uniform_float_values[2];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-pack-unpack/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-pack-unpack/0-opt.spvasm.expected.glsl
index 0f1b8ba..06e12be 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-pack-unpack/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-pack-unpack/0-opt.spvasm.expected.glsl
@@ -16,28 +16,28 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[3];
+  strided_arr_1 x_GLF_uniform_float_values[3];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 } x_8;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[3];
+  strided_arr_1 x_GLF_uniform_float_values[3];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-packsnorm-unpackunorm/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-packsnorm-unpackunorm/0-opt.spvasm.expected.glsl
index bded584..51ebfc5 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-packsnorm-unpackunorm/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-combine-simplify-demanded-packsnorm-unpackunorm/0-opt.spvasm.expected.glsl
@@ -16,28 +16,28 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[4];
+  strided_arr x_GLF_uniform_float_values[4];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[4];
+  strided_arr x_GLF_uniform_float_values[4];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-inst-value-tracking-inversesqrt/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-inst-value-tracking-inversesqrt/0-opt.spvasm.expected.glsl
index b6862f6..962d394 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-inst-value-tracking-inversesqrt/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-inst-value-tracking-inversesqrt/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_5;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl
index 116a3a2..cea0071 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[6];
+  strided_arr x_GLF_uniform_int_values[6];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[6];
+  strided_arr x_GLF_uniform_int_values[6];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-loop-dfdx-constant-divide/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-loop-dfdx-constant-divide/0-opt.spvasm.expected.glsl
index 8c65410..b0e150c 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-loop-dfdx-constant-divide/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-loop-dfdx-constant-divide/0-opt.spvasm.expected.glsl
@@ -4,28 +4,28 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_6;
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 } x_11;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl
index d07d066..97f36d5 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl
@@ -4,28 +4,28 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_7;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_10;
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl
index 284ba47..8c470ea 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[2];
+  strided_arr x_GLF_uniform_int_values[2];
 } x_6;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-missing-return-value-function-never-called/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-missing-return-value-function-never-called/0-opt.spvasm.expected.glsl
index 793f1f9..79efa57 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-missing-return-value-function-never-called/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-missing-return-value-function-never-called/0-opt.spvasm.expected.glsl
@@ -14,12 +14,12 @@
   uint one;
 };
 
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[1];
+  strided_arr x_GLF_uniform_int_values[1];
 };
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -29,7 +29,7 @@
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[1];
+  strided_arr x_GLF_uniform_int_values[1];
 } x_10;
 
 float func_() {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl
index cd6a9d6..7095408 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl
@@ -8,20 +8,20 @@
   float one;
 };
 
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 mat4x2 m = mat4x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
@@ -30,12 +30,12 @@
 } x_10;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[1];
+  strided_arr x_GLF_uniform_float_values[1];
 } x_12;
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_16;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-packhalf-unpackunorm/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-packhalf-unpackunorm/0-opt.spvasm.expected.glsl
index 5c52cb4..7c17275 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-packhalf-unpackunorm/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-packhalf-unpackunorm/0-opt.spvasm.expected.glsl
@@ -16,28 +16,28 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[4];
+  strided_arr x_GLF_uniform_float_values[4];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[4];
+  strided_arr x_GLF_uniform_float_values[4];
 } x_8;
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl
index 99d1320..e436d2b 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl
@@ -4,17 +4,17 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_8;
 
 void main_1() {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl
index 393473c..c7dea64 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl
@@ -4,16 +4,16 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 } x_5;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.glsl
index d425050..48bf4dc 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-trunc-fract-always-zero/0-opt.spvasm.expected.glsl
@@ -4,30 +4,30 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 };
 
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_7;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 } x_9;
 
 void main_1() {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.glsl
index 8c0d134..440f95f 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-unpack-unorm-mix-always-one/0-opt.spvasm.expected.glsl
@@ -11,40 +11,40 @@
 
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   uint el;
 };
 
 struct buf0 {
-  tint_padded_array_element x_GLF_uniform_uint_values[1];
+  strided_arr x_GLF_uniform_uint_values[1];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 };
 
-struct tint_padded_array_element_2 {
+struct strided_arr_2 {
   float el;
 };
 
 struct buf2 {
-  tint_padded_array_element_2 x_GLF_uniform_float_values[3];
+  strided_arr_2 x_GLF_uniform_float_values[3];
 };
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element x_GLF_uniform_uint_values[1];
+  strided_arr x_GLF_uniform_uint_values[1];
 } x_6;
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[2];
+  strided_arr_1 x_GLF_uniform_int_values[2];
 } x_8;
 
 layout(binding = 2) uniform buf2_1 {
-  tint_padded_array_element_2 x_GLF_uniform_float_values[3];
+  strided_arr_2 x_GLF_uniform_float_values[3];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.spvasm.expected.glsl
index d060ee9..005362d 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.spvasm.expected.glsl
@@ -4,34 +4,34 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[3];
+  strided_arr x_GLF_uniform_float_values[3];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[3];
+  strided_arr x_GLF_uniform_float_values[3];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+  strided_arr_1 x_GLF_uniform_int_values[4];
 } x_8;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 void main_1() {
   mat4x3 m43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  tint_padded_array_element sums[3] = tint_padded_array_element[3](tint_padded_array_element(0.0f), tint_padded_array_element(0.0f), tint_padded_array_element(0.0f));
+  strided_arr sums[3] = strided_arr[3](strided_arr(0.0f), strided_arr(0.0f), strided_arr(0.0f));
   int i = 0;
   int a = 0;
   int x_67_phi = 0;
@@ -45,8 +45,11 @@
   float x_58 = x_6.x_GLF_uniform_float_values[0].el;
   float x_60 = x_6.x_GLF_uniform_float_values[0].el;
   float x_62 = x_6.x_GLF_uniform_float_values[0].el;
-  tint_padded_array_element tint_symbol_1[3] = tint_padded_array_element[3](tint_padded_array_element(x_58), tint_padded_array_element(x_60), tint_padded_array_element(x_62));
-  sums = tint_symbol_1;
+  strided_arr tint_symbol_1 = strided_arr(x_58);
+  strided_arr tint_symbol_2 = strided_arr(x_60);
+  strided_arr tint_symbol_3 = strided_arr(x_62);
+  strided_arr tint_symbol_4[3] = strided_arr[3](tint_symbol_1, tint_symbol_2, tint_symbol_3);
+  sums = tint_symbol_4;
   int x_65 = x_8.x_GLF_uniform_int_values[0].el;
   i = x_65;
   x_67_phi = x_65;
@@ -102,8 +105,8 @@
 
 main_out tint_symbol() {
   main_1();
-  main_out tint_symbol_2 = main_out(x_GLF_color);
-  return tint_symbol_2;
+  main_out tint_symbol_5 = main_out(x_GLF_color);
+  return tint_symbol_5;
 }
 
 void main() {
@@ -112,9 +115,9 @@
   return;
 }
 Error parsing GLSL shader:
-ERROR: 0:74: '[' :  matrix index out of range '4'
-ERROR: 0:74: '=' :  cannot convert from ' temp mediump 3-component vector of float' to ' temp mediump float'
-ERROR: 0:74: '' : compilation terminated 
+ERROR: 0:77: '[' :  matrix index out of range '4'
+ERROR: 0:77: '=' :  cannot convert from ' temp mediump 3-component vector of float' to ' temp mediump float'
+ERROR: 0:77: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl
index f3909fa..bb41dfa 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl
@@ -4,28 +4,28 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   int el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   float el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[1];
+  strided_arr_1 x_GLF_uniform_float_values[1];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_int_values[4];
+  strided_arr x_GLF_uniform_int_values[4];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_float_values[1];
+  strided_arr_1 x_GLF_uniform_float_values[1];
 } x_10;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.spvasm.expected.glsl
index a78e4c1..eda3b9a 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.spvasm.expected.glsl
@@ -4,28 +4,28 @@
 precision mediump float;
 
 layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
   float el;
 };
 
 struct buf1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 };
 
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
   int el;
 };
 
 struct buf0 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 };
 
 layout(binding = 1) uniform buf1_1 {
-  tint_padded_array_element x_GLF_uniform_float_values[2];
+  strided_arr x_GLF_uniform_float_values[2];
 } x_6;
 
 layout(binding = 0) uniform buf0_1 {
-  tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+  strided_arr_1 x_GLF_uniform_int_values[3];
 } x_8;
 
 vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
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 5c9dc75..2c0ca1c 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
@@ -16,7 +16,7 @@
   vec2 injectionSwitch;
 } x_9;
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   uint x_compute_data[];
 } x_12;
 void main_1() {
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 ca234df..e81d36c 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
@@ -20,7 +20,7 @@
   vec2 injectionSwitch;
 } x_9;
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   uint x_compute_data[];
 } x_12;
 void main_1() {
diff --git a/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
index db14a35..97fd719 100644
--- a/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.spvasm.expected.glsl
@@ -7,7 +7,7 @@
   float x_compute_data[];
 };
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   float x_compute_data[];
 } x_9;
 float nb_mod_() {
diff --git a/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
index e78effd..ae1bdf6 100644
--- a/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/two-nested-for-loops-with-returns/0-opt.wgsl.expected.glsl
@@ -11,7 +11,7 @@
   float x_compute_data[];
 };
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   float x_compute_data[];
 } x_9;
 float nb_mod_() {
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 b9afdab..0e215f4 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
@@ -24,7 +24,7 @@
   vec2 resolution;
 } x_13;
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   int x_compute_data[];
 } x_15;
 void main_1() {
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 f741d59..397b67a 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
@@ -28,7 +28,7 @@
   vec2 resolution;
 } x_13;
 
-layout(binding = 0) buffer doesNotMatter_1 {
+layout(binding = 0, std430) buffer doesNotMatter_1 {
   int x_compute_data[];
 } x_15;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
index e2366a2..e32bbf2 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.spvasm.expected.glsl
@@ -11,10 +11,10 @@
   uint values[];
 };
 
-layout(binding = 1) buffer Buf1_1 {
+layout(binding = 1, std430) buffer Buf1_1 {
   int result;
 } x_4;
-layout(binding = 0) buffer Buf0_1 {
+layout(binding = 0, std430) buffer Buf0_1 {
   uint values[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
index a213db5..73d39e2 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/arraylength/array-stride-larger-than-element-size/1.wgsl.expected.glsl
@@ -15,10 +15,10 @@
   uint values[];
 };
 
-layout(binding = 1) buffer Buf1_1 {
+layout(binding = 1, std430) buffer Buf1_1 {
   int result;
 } x_4;
-layout(binding = 0) buffer Buf0_1 {
+layout(binding = 0, std430) buffer Buf0_1 {
   uint values[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
index d9d2c64..1f8e36b 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
index 68344d4..40fbe8b 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthan/0.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
index 9fde01f..4bb64eb 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
index 926a4eb..e1eeb63 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_sgreaterthanequal/0.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
index 13404d0..5473086 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
index 84ad124..6745e29 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthan/0.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
index 18b1f2a..f660afa 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
index 5874bf2..2bd3fa2 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_int_compare/uint_slessthanequal/0.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
index 251a504..475cb67 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.spvasm.expected.glsl
@@ -8,16 +8,16 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   int field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   int field0[];
 } x_8;
-layout(binding = 3) buffer S_4 {
+layout(binding = 3, std430) buffer S_4 {
   int field0[];
 } x_9;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
index a47b09b..74eb7fc 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_int_uclamp/0-opt.wgsl.expected.glsl
@@ -12,16 +12,16 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   int field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   int field0[];
 } x_8;
-layout(binding = 3) buffer S_4 {
+layout(binding = 3, std430) buffer S_4 {
   int field0[];
 } x_9;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
index c98c63f..860700b 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.spvasm.expected.glsl
@@ -8,10 +8,10 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
index e0845f7..78937e9 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sabs/0-opt.wgsl.expected.glsl
@@ -12,10 +12,10 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
index cd581c8..4b2608e 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.spvasm.expected.glsl
@@ -8,16 +8,16 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
-layout(binding = 3) buffer S_4 {
+layout(binding = 3, std430) buffer S_4 {
   uint field0[];
 } x_9;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
index e156568..487d319 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_sclamp/0-opt.wgsl.expected.glsl
@@ -12,16 +12,16 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
-layout(binding = 3) buffer S_4 {
+layout(binding = 3, std430) buffer S_4 {
   uint field0[];
 } x_9;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
index 52e29ed..31a020a 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
index 16cdc9c..42fdf93 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smax/0-opt.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
index 57bf5a7..73fef33 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
index 40efa37..4d329dc 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/glsl_uint_smin/0-opt.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_3 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_6;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_7;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_8;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
index da8852d..35a67d64 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.glsl
@@ -8,13 +8,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
index ad5194b..e623139 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.glsl
@@ -12,13 +12,13 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
-layout(binding = 2) buffer S_3 {
+layout(binding = 2, std430) buffer S_3 {
   uint field0[];
 } x_7;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
index 6b2368e..a7c893f 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.spvasm.expected.glsl
@@ -8,10 +8,10 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
index 6cb02de..bec61b4 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_snegate/0-opt.wgsl.expected.glsl
@@ -12,10 +12,10 @@
 };
 
 uvec3 x_2 = uvec3(0u, 0u, 0u);
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   uint field0[];
 } x_5;
-layout(binding = 1) buffer S_2 {
+layout(binding = 1, std430) buffer S_2 {
   uint field0[];
 } x_6;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
index 14953d8..054a5cc 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.spvasm.expected.glsl
@@ -12,7 +12,7 @@
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_5;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
index b523e0d..5fbe899 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_ssbo_store/1.wgsl.expected.glsl
@@ -16,7 +16,7 @@
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_5;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
index 46fb7d6..d1e6534 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.spvasm.expected.glsl
@@ -12,7 +12,7 @@
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_5;
 void main_1() {
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
index e357ce5..4bd98da 100644
--- a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
+++ b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/ssbo_store_before_terminate/1.wgsl.expected.glsl
@@ -16,7 +16,7 @@
 vec4 x_2 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 int x_3 = 0;
 int x_4 = 0;
-layout(binding = 0) buffer S_1 {
+layout(binding = 0, std430) buffer S_1 {
   int field0[];
 } x_5;
 void main_1() {