[Compat] Use @size attribute for glsl pad struct

Instead of round up all uniform struct size to
16-byte. Use @size attribute with a size roundup
to 16. This should fix a bunch of issues where
a struct is shared by a uniform and storage block.

Bug: 353807786
Change-Id: I91f2c44291070152dda7c3ac8604adb0eb2efb01
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/201816
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
diff --git a/src/dawn/tests/end2end/BindGroupTests.cpp b/src/dawn/tests/end2end/BindGroupTests.cpp
index 4644175..b88e750 100644
--- a/src/dawn/tests/end2end/BindGroupTests.cpp
+++ b/src/dawn/tests/end2end/BindGroupTests.cpp
@@ -1082,9 +1082,6 @@
 // Regression test for crbug.com/dawn/408 where dynamic offsets were applied in the wrong order.
 // Dynamic offsets should be applied in increasing order of binding number.
 TEST_P(BindGroupTests, DynamicOffsetOrder) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     // We will put the following values and the respective offsets into a buffer.
     // The test will ensure that the correct dynamic offset is applied to each buffer by reading the
     // value from an offset binding.
diff --git a/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp b/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
index 003e475..4294a67 100644
--- a/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
+++ b/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
@@ -715,8 +715,6 @@
     // TODO(crbug.com/dawn/1606): find out why these tests fail on Windows for OpenGL.
     DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES() && IsWindows());
     DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsQualcomm());
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
 
     const bool isUniform = GetParam().mAddressSpace == AddressSpace::Uniform;
 
diff --git a/src/dawn/tests/end2end/DynamicBufferOffsetTests.cpp b/src/dawn/tests/end2end/DynamicBufferOffsetTests.cpp
index 77881d8..2183160 100644
--- a/src/dawn/tests/end2end/DynamicBufferOffsetTests.cpp
+++ b/src/dawn/tests/end2end/DynamicBufferOffsetTests.cpp
@@ -227,9 +227,6 @@
 
 // Dynamic offsets are all zero and no effect to result.
 TEST_P(DynamicBufferOffsetTests, BasicRenderPipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::RenderPipeline pipeline = CreateRenderPipeline();
     utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
 
@@ -251,9 +248,6 @@
 
 // Have non-zero dynamic offsets.
 TEST_P(DynamicBufferOffsetTests, SetDynamicOffsetsRenderPipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::RenderPipeline pipeline = CreateRenderPipeline();
     utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
 
@@ -277,9 +271,6 @@
 
 // Dynamic offsets are all zero and no effect to result.
 TEST_P(DynamicBufferOffsetTests, BasicComputePipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::ComputePipeline pipeline = CreateComputePipeline();
 
     std::array<uint32_t, 2> offsets = {0, 0};
@@ -299,9 +290,6 @@
 
 // Have non-zero dynamic offsets.
 TEST_P(DynamicBufferOffsetTests, SetDynamicOffsetsComputePipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::ComputePipeline pipeline = CreateComputePipeline();
 
     std::array<uint32_t, 2> offsets = {mMinUniformBufferOffsetAlignment,
@@ -323,9 +311,6 @@
 
 // Test basic inherit on render pipeline
 TEST_P(DynamicBufferOffsetTests, BasicInheritRenderPipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::ShaderModule vsModule = utils::CreateShaderModule(device, R"(
             @vertex
             fn main(@builtin(vertex_index) VertexIndex : u32) -> @builtin(position) vec4f {
@@ -424,8 +409,6 @@
     // TODO(crbug.com/1497726): Remove when test is no longer flaky on M2
     // devices.
     DAWN_SUPPRESS_TEST_IF(IsApple());
-    // TODO(dawn:2491): Remove when test is no longer flaky on Pixel 6.
-    DAWN_SUPPRESS_TEST_IF(IsAndroid());
 
     // Using default pipeline and setting dynamic offsets
     wgpu::RenderPipeline pipeline = CreateRenderPipeline();
@@ -456,9 +439,6 @@
 
 // Test inherit dynamic offsets on compute pipeline
 TEST_P(DynamicBufferOffsetTests, InheritDynamicOffsetsComputePipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::ComputePipeline pipeline = CreateComputePipeline();
     wgpu::ComputePipeline testPipeline = CreateComputePipeline(true);
 
@@ -484,9 +464,6 @@
 
 // Setting multiple dynamic offsets for the same bindgroup in one render pass.
 TEST_P(DynamicBufferOffsetTests, UpdateDynamicOffsetsMultipleTimesRenderPipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     // Using default pipeline and setting dynamic offsets
     wgpu::RenderPipeline pipeline = CreateRenderPipeline();
 
@@ -515,9 +492,6 @@
 
 // Setting multiple dynamic offsets for the same bindgroup in one compute pass.
 TEST_P(DynamicBufferOffsetTests, UpdateDynamicOffsetsMultipleTimesComputePipeline) {
-    // TODO(crbug.com/dawn/2295): diagnose this failure on Pixel 6 OpenGLES
-    DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsAndroid() && IsARM());
-
     wgpu::ComputePipeline pipeline = CreateComputePipeline();
 
     std::array<uint32_t, 2> offsets = {mMinUniformBufferOffsetAlignment,
diff --git a/src/tint/lang/glsl/writer/ast_raise/pad_structs.cc b/src/tint/lang/glsl/writer/ast_raise/pad_structs.cc
index 28e77cd..441370f 100644
--- a/src/tint/lang/glsl/writer/ast_raise/pad_structs.cc
+++ b/src/tint/lang/glsl/writer/ast_raise/pad_structs.cc
@@ -112,22 +112,23 @@
             auto* ty = mem->Type();
             auto type = CreateASTTypeFor(ctx, ty);
 
-            new_members.Push(b.Member(name, type));
-
             uint32_t size = ty->Size();
             if (ty->Is<core::type::Struct>() && str->UsedAs(core::AddressSpace::kUniform)) {
                 // std140 structs should be padded out to 16 bytes.
                 size = tint::RoundUp(16u, size);
+                // Add @size and @align attribute to satisfy WGSL validator rules.
+                new_members.Push(b.Member(
+                    name, type,
+                    tint::Vector{b.MemberAlign(core::AInt(16u)), b.MemberSize(core::AInt(size))}));
+            } else {
+                new_members.Push(b.Member(name, type));
             }
             offset += size;
         }
 
-        // Add any required padding after the last member, if it's not a block.
         uint32_t struct_size = str->Size();
-        if (str->UsedAs(core::AddressSpace::kUniform)) {
-            struct_size = tint::RoundUp(16u, struct_size);
-        }
 
+        // Add any required padding after the last member, if it's not a block.
         bool is_block = ast::HasAttribute<ast::transform::AddBlockAttribute::BlockAttribute>(
             ast_str->attributes);
         if (offset < struct_size && !is_block) {
diff --git a/src/tint/lang/glsl/writer/ast_raise/pad_structs_test.cc b/src/tint/lang/glsl/writer/ast_raise/pad_structs_test.cc
index 2da5f63..3277219 100644
--- a/src/tint/lang/glsl/writer/ast_raise/pad_structs_test.cc
+++ b/src/tint/lang/glsl/writer/ast_raise/pad_structs_test.cc
@@ -61,12 +61,110 @@
 }
 )";
     auto* expect = R"(
+struct S {
+  x : i32,
+}
+
+@group(0) @binding(0) var<uniform> u : S;
+
+fn main() {
+  let x = u.x;
+}
+)";
+    ast::transform::DataMap data;
+    auto got = Run<PadStructs>(src, data);
+
+    EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(PadStructsTest, UniformStructPad1) {
+    auto* src = R"(
+struct N {
+  x : i32,
+  y : i32,
+  z : i32,
+}
+struct S {
+  x : i32,
+  @align(16)
+  y : N,
+}
+
+@group(0) @binding(0) var<uniform> u : S;
+
+fn main() {
+  let x = u.x;
+}
+)";
+    auto* expect = R"(
+struct N {
+  x : i32,
+  y : i32,
+  z : i32,
+}
+
 @internal(disable_validation__ignore_struct_member)
 struct S {
   x : i32,
   pad : u32,
   pad_1 : u32,
   pad_2 : u32,
+  @align(16) @size(16)
+  y : N,
+}
+
+@group(0) @binding(0) var<uniform> u : S;
+
+fn main() {
+  let x = u.x;
+}
+)";
+    ast::transform::DataMap data;
+    auto got = Run<PadStructs>(src, data);
+
+    EXPECT_EQ(expect, str(got));
+}
+
+TEST_F(PadStructsTest, UniformStructPad2) {
+    auto* src = R"(
+struct N {
+  x : i32,
+  y : i32,
+  z : i32,
+}
+struct S {
+  x : i32,
+  @align(16)
+  y : N,
+  @align(16)
+  z : i32,
+}
+
+@group(0) @binding(0) var<uniform> u : S;
+
+fn main() {
+  let x = u.x;
+}
+)";
+    auto* expect = R"(
+struct N {
+  x : i32,
+  y : i32,
+  z : i32,
+}
+
+@internal(disable_validation__ignore_struct_member)
+struct S {
+  x : i32,
+  pad : u32,
+  pad_1 : u32,
+  pad_2 : u32,
+  @align(16) @size(16)
+  y : N,
+  z : i32,
+  pad_3 : u32,
+  pad_4 : u32,
+  pad_5 : u32,
 }
 
 @group(0) @binding(0) var<uniform> u : S;
diff --git a/test/tint/bug/chromium/1434271.wgsl.expected.glsl b/test/tint/bug/chromium/1434271.wgsl.expected.glsl
index e8c754e..a049324 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.glsl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.glsl
@@ -360,9 +360,6 @@
 
 struct UBO {
   uint width;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 3, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
index 61bf420..6b82780 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
index 97160f5..9b7c326 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
index a80c5cc..f12a7a4 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
index 64715b4..a60698f 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
@@ -17,9 +17,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
index 2c09302..9a83ab0 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
index ad127fc..6033ea2 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
index 5808563..975dc02 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
index 63ead6f..efb384a 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
index 8e90807..5d63c84 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
index d218383..09f6be2 100644
--- a/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
@@ -17,9 +17,6 @@
 
 struct UBO {
   int dynamic_idx;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform ubo_block_ubo {
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
index dec3961..92a70ae 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Simulation {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct Particle {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
index fa0f1fb..bff1a3f 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
index a0c6e98..cb21ce8 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
index 8c5075a..d8d5546 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
index e530f2b..7b9420b 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
index 6332d71..bb46792 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
index de04ee6..c509e26 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
index 8c5075a..d8d5546 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
index e41bfd4..53ae4fe 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 4, std140) uniform uniforms_block_ubo {
diff --git a/test/tint/bug/tint/1118.wgsl.expected.glsl b/test/tint/bug/tint/1118.wgsl.expected.glsl
index 39ada12..7b35163 100644
--- a/test/tint/bug/tint/1118.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1118.wgsl.expected.glsl
@@ -20,9 +20,6 @@
 
 struct Mesh {
   float visibility;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 float fClipDistance3 = 0.0f;
diff --git a/test/tint/bug/tint/1121.wgsl.expected.glsl b/test/tint/bug/tint/1121.wgsl.expected.glsl
index 5ad0d39..0631ca9 100644
--- a/test/tint/bug/tint/1121.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1121.wgsl.expected.glsl
@@ -30,8 +30,6 @@
   uint tileCountY;
   uint numTileLightSlot;
   uint tileSize;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 0, std140) uniform config_block_ubo {
diff --git a/test/tint/bug/tint/1860.wgsl.expected.glsl b/test/tint/bug/tint/1860.wgsl.expected.glsl
index b7b713a..9bf5485 100644
--- a/test/tint/bug/tint/1860.wgsl.expected.glsl
+++ b/test/tint/bug/tint/1860.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct DeclaredAfterUsage {
   float f;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform declared_after_usage_block_ubo {
diff --git a/test/tint/bug/tint/2010.spvasm.expected.glsl b/test/tint/bug/tint/2010.spvasm.expected.glsl
index e23f8fb..6238c5a 100644
--- a/test/tint/bug/tint/2010.spvasm.expected.glsl
+++ b/test/tint/bug/tint/2010.spvasm.expected.glsl
@@ -29,9 +29,6 @@
 
 struct S_1 {
   uint field0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct S_2 {
diff --git a/test/tint/bug/tint/349291130.wgsl.expected.glsl b/test/tint/bug/tint/349291130.wgsl.expected.glsl
index 0a36bfd..d708574 100644
--- a/test/tint/bug/tint/349291130.wgsl.expected.glsl
+++ b/test/tint/bug/tint/349291130.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/bug/tint/744.wgsl.expected.glsl b/test/tint/bug/tint/744.wgsl.expected.glsl
index f904122..f77463f 100644
--- a/test/tint/bug/tint/744.wgsl.expected.glsl
+++ b/test/tint/bug/tint/744.wgsl.expected.glsl
@@ -4,8 +4,6 @@
   uvec2 aShape;
   uvec2 bShape;
   uvec2 outShape;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 0, std430) buffer Matrix_ssbo {
diff --git a/test/tint/bug/tint/914.wgsl.expected.glsl b/test/tint/bug/tint/914.wgsl.expected.glsl
index da08caa..9d009fe 100644
--- a/test/tint/bug/tint/914.wgsl.expected.glsl
+++ b/test/tint/bug/tint/914.wgsl.expected.glsl
@@ -26,7 +26,6 @@
   uint dimAOuter;
   uint dimInner;
   uint dimBOuter;
-  uint pad;
 };
 
 layout(binding = 0, std430) buffer Matrix_ssbo {
diff --git a/test/tint/bug/tint/942.wgsl.expected.glsl b/test/tint/bug/tint/942.wgsl.expected.glsl
index 37e5402..bdca6b5 100644
--- a/test/tint/bug/tint/942.wgsl.expected.glsl
+++ b/test/tint/bug/tint/942.wgsl.expected.glsl
@@ -23,8 +23,6 @@
 struct Params {
   uint filterDim;
   uint blockDim;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 1, std140) uniform params_block_ubo {
@@ -34,9 +32,6 @@
 layout(binding = 2, rgba8) uniform highp writeonly image2D outputTex;
 struct Flip {
   uint value;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 3, std140) uniform flip_block_ubo {
diff --git a/test/tint/bug/tint/959.wgsl.expected.glsl b/test/tint/bug/tint/959.wgsl.expected.glsl
index f964368..c730d07 100644
--- a/test/tint/bug/tint/959.wgsl.expected.glsl
+++ b/test/tint/bug/tint/959.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct S {
   float a;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std430) buffer b0_block_ssbo {
diff --git a/test/tint/bug/tint/993.wgsl.expected.glsl b/test/tint/bug/tint/993.wgsl.expected.glsl
index 3f237461..28efef9 100644
--- a/test/tint/bug/tint/993.wgsl.expected.glsl
+++ b/test/tint/bug/tint/993.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Constants {
   uint zero;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform constants_block_ubo {
diff --git a/test/tint/bug/tint/998.wgsl.expected.glsl b/test/tint/bug/tint/998.wgsl.expected.glsl
index 9601c72..a8354f5 100644
--- a/test/tint/bug/tint/998.wgsl.expected.glsl
+++ b/test/tint/bug/tint/998.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Constants {
   uint zero;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform constants_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
index 8f43eb8..92f9412 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/181090.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
index a4457c9..b5709cb 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a3fa9.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
index 03939a1..3a19aca 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/1a7fc3.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
index 127d3b8..b3bcd70 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2267d8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
index c477752..80f095a 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/24b2c6.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
index e408dba..e8b0207 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2bea6c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
index 916eb9d..e6c3224 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/2df1ab.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
index f1644b2..ad3e087 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/46dbd8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
index 17df031..ea83037 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/60d9b8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
index 6e7e2be..eeeb047 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/903920.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
index 2903ada..0a121aa 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/9a1a65.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
index f7f2b85..4f38ec7 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/adc783.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
index 4b48a56..6c06e06 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ae911c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
index 8cc5bba..e9c5645 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c386c8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
index 1b10371..ed608ef 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c399f9.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
index 55f99ac..102ae9f 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/c8c25c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
index 891c84d..f7baf16 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d63126.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
index 89fcda7..fc0c35a 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/d8f73b.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
index adbbc4f..b38aeb9 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/ef7944.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
index a1cfc24..52dba12 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/efd6df.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
index 48a2c6d..7046630 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/f742c0.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
index 1e88194..b48c422 100644
--- a/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumLevels/fe2171.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
index 259a84e..fd96ad7 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/50f399.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
index 7a8014a..e8ddb76 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/c1a777.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
index c1a58d2..725725b 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/dbb799.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
index 42c6ae9..72dfdef 100644
--- a/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/literal/textureNumSamples/ecd321.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
index 8f43eb8..92f9412 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/181090.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
index a4457c9..b5709cb 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a3fa9.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
index 03939a1..3a19aca 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/1a7fc3.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
index 127d3b8..b3bcd70 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2267d8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
index c477752..80f095a 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/24b2c6.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
index e408dba..e8b0207 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2bea6c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
index 916eb9d..e6c3224 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/2df1ab.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
index f1644b2..ad3e087 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/46dbd8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
index 17df031..ea83037 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/60d9b8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
index 6e7e2be..eeeb047 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/903920.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
index 2903ada..0a121aa 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/9a1a65.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
index f7f2b85..4f38ec7 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/adc783.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
index 4b48a56..6c06e06 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ae911c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
index 8cc5bba..e9c5645 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c386c8.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
index 1b10371..ed608ef 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c399f9.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
index 55f99ac..102ae9f 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/c8c25c.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
index 891c84d..f7baf16 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d63126.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
index 89fcda7..fc0c35a 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/d8f73b.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
index adbbc4f..b38aeb9 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/ef7944.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
index a1cfc24..52dba12 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/efd6df.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
index 48a2c6d..7046630 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/f742c0.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
index 1e88194..b48c422 100644
--- a/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumLevels/fe2171.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
index 259a84e..fd96ad7 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/50f399.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
index 7a8014a..e8ddb76 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/c1a777.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
index c1a58d2..725725b 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/dbb799.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
index 42c6ae9..72dfdef 100644
--- a/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureNumSamples/ecd321.wgsl.expected.glsl
@@ -4,9 +4,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -39,9 +36,6 @@
 
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
@@ -76,9 +70,6 @@
 layout(location = 0) flat out uint prevent_dce_1;
 struct tint_symbol_1 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_2_block_ubo {
diff --git a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.glsl b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.glsl
index f3ed291..565caa7 100644
--- a/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.glsl
+++ b/test/tint/builtins/textureNumSamples/depth_ms.spvasm.expected.glsl
@@ -2,9 +2,6 @@
 
 struct tint_symbol_3 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_4_block_ubo {
@@ -53,9 +50,6 @@
 
 struct tint_symbol_3 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_4_block_ubo {
@@ -89,9 +83,6 @@
 
 struct tint_symbol_3 {
   uint texture_builtin_value_0;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform tint_symbol_4_block_ubo {
diff --git a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
index 070d319..af7ab94 100644
--- a/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/mat3x2-vec3/f16.wgsl.expected.glsl
@@ -7,8 +7,6 @@
   f16mat3x2 matrix;
   uint pad;
   f16vec3 vector;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct S_std140 {
@@ -17,8 +15,6 @@
   f16vec2 matrix_2;
   uint pad;
   f16vec3 vector;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform data_block_std140_ubo {
diff --git a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
index 97d3e81..f9f26de 100644
--- a/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/binary/mul/vec3-mat4x3/f16.wgsl.expected.glsl
@@ -6,8 +6,6 @@
 struct S {
   f16mat4x3 matrix;
   f16vec3 vector;
-  uint pad;
-  uint pad_1;
 };
 
 struct S_std140 {
@@ -16,8 +14,6 @@
   f16vec3 matrix_2;
   f16vec3 matrix_3;
   f16vec3 vector;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 0, std140) uniform data_block_std140_ubo {
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.glsl b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.glsl
index 7794d48..561a0dd 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.glsl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.glsl
@@ -7,8 +7,6 @@
 }
 struct S {
   f16vec3 v;
-  uint pad;
-  uint pad_1;
 };
 
 layout(binding = 0, std140) uniform U_block_ubo {
diff --git a/test/tint/ptr_ref/load/local/ptr_uniform.wgsl.expected.glsl b/test/tint/ptr_ref/load/local/ptr_uniform.wgsl.expected.glsl
index 26e520a..7953a95 100644
--- a/test/tint/ptr_ref/load/local/ptr_uniform.wgsl.expected.glsl
+++ b/test/tint/ptr_ref/load/local/ptr_uniform.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct S {
   int a;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform v_block_ubo {
diff --git a/test/tint/ptr_ref/load/param/uniform/i32_in_struct.wgsl.expected.glsl b/test/tint/ptr_ref/load/param/uniform/i32_in_struct.wgsl.expected.glsl
index 8267c62..f774a56 100644
--- a/test/tint/ptr_ref/load/param/uniform/i32_in_struct.wgsl.expected.glsl
+++ b/test/tint/ptr_ref/load/param/uniform/i32_in_struct.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct str {
   int i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform S_block_ubo {
diff --git a/test/tint/samples/compute_boids.wgsl.expected.glsl b/test/tint/samples/compute_boids.wgsl.expected.glsl
index 15d9768..e8c5656 100644
--- a/test/tint/samples/compute_boids.wgsl.expected.glsl
+++ b/test/tint/samples/compute_boids.wgsl.expected.glsl
@@ -84,7 +84,6 @@
   float rule1Scale;
   float rule2Scale;
   float rule3Scale;
-  uint pad;
 };
 
 struct Particles {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.glsl
index 5344aa6..1a9f519 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_body.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.glsl
index b6ec97b..3dea804 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_continuing.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.glsl
index 5dedd3e..722a655 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/in_for_loop_init.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/indexing_with_side_effect_func.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/indexing_with_side_effect_func.wgsl.expected.glsl
index 2299089..8171318 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/indexing_with_side_effect_func.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/indexing_with_side_effect_func.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array.wgsl.expected.glsl
index 1aab58e..ea53d92 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_array.wgsl.expected.glsl
index 4235699..0044c8c 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_array.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct.wgsl.expected.glsl
index 06a2fe1..415aaa6 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct_array.wgsl.expected.glsl
index 7859a43..5a3f74b 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_array_struct_array.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
index 94f69b8..07e3fa8 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
index 9d90f31..344bc7b 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.glsl
@@ -3,8 +3,6 @@
 struct Uniforms {
   uint i;
   uint j;
-  uint pad;
-  uint pad_1;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_matrix.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_matrix.wgsl.expected.glsl
index 8686a5f..9e326c4 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_matrix.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_matrix.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct OuterS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_multiple_arrays.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_multiple_arrays.wgsl.expected.glsl
index 3b324c2..37673b5 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_multiple_arrays.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_multiple_arrays.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_struct_array.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_struct_array.wgsl.expected.glsl
index 02a481b..fa54ebb 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_struct_array.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_struct_array.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_vector.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_vector.wgsl.expected.glsl
index a2093e8..461ce48 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_vector.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_vector.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct OuterS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/vector_assign.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/vector_assign.wgsl.expected.glsl
index 1c5886b..1168f60 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/vector_assign.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/vector_assign.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct OuterS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer.wgsl.expected.glsl
index 2e9382d..682da7e 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer_arg.wgsl.expected.glsl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer_arg.wgsl.expected.glsl
index 7ebfbcf..ddea37c 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer_arg.wgsl.expected.glsl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/via_pointer_arg.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct Uniforms {
   uint i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 struct InnerS {
diff --git a/test/tint/statements/assign/phony/uniform_buffer.wgsl.expected.glsl b/test/tint/statements/assign/phony/uniform_buffer.wgsl.expected.glsl
index c48d383..bf9e7d7 100644
--- a/test/tint/statements/assign/phony/uniform_buffer.wgsl.expected.glsl
+++ b/test/tint/statements/assign/phony/uniform_buffer.wgsl.expected.glsl
@@ -2,9 +2,6 @@
 
 struct S {
   int i;
-  uint pad;
-  uint pad_1;
-  uint pad_2;
 };
 
 layout(binding = 0, std140) uniform u_block_ubo {