[msl] Use vector component notation in more places
This makes the generated MSL easier to read and slightly shorter.
Change-Id: Idfb5ed5bd6d746a7b52b5f653219e0cde35c4161
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/217254
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/msl/writer/printer/printer.cc b/src/tint/lang/msl/writer/printer/printer.cc
index a2a1e21..5bae351 100644
--- a/src/tint/lang/msl/writer/printer/printer.cc
+++ b/src/tint/lang/msl/writer/printer/printer.cc
@@ -735,45 +735,57 @@
Line() << "}";
}
+ void IdxToComponent(StringStream& out, uint32_t idx) {
+ switch (idx) {
+ case 0:
+ out << "x";
+ break;
+ case 1:
+ out << "y";
+ break;
+ case 2:
+ out << "z";
+ break;
+ case 3:
+ out << "w";
+ break;
+ default:
+ TINT_UNREACHABLE() << "invalid index for component";
+ }
+ }
+
void EmitSwizzle(StringStream& out, const core::ir::Swizzle* swizzle) {
EmitValue(out, swizzle->Object());
out << ".";
for (const auto i : swizzle->Indices()) {
- switch (i) {
- case 0:
- out << "x";
- break;
- case 1:
- out << "y";
- break;
- case 2:
- out << "z";
- break;
- case 3:
- out << "w";
- break;
- default:
- TINT_UNREACHABLE();
- }
+ IdxToComponent(out, i);
}
}
- void EmitStoreVectorElement(const core::ir::StoreVectorElement* l) {
+ void EmitVectorAccess(StringStream& out, const core::ir::Value* index) {
+ if (auto* cnst = index->As<core::ir::Constant>()) {
+ out << ".";
+ IdxToComponent(out, cnst->Value()->ValueAs<uint32_t>());
+ } else {
+ out << "[";
+ EmitValue(out, index);
+ out << "]";
+ }
+ }
+
+ void EmitStoreVectorElement(const core::ir::StoreVectorElement* s) {
auto out = Line();
- EmitAndDerefIfNeeded(out, l->To());
- out << "[";
- EmitValue(out, l->Index());
- out << "] = ";
- EmitValue(out, l->Value());
+ EmitAndDerefIfNeeded(out, s->To());
+ EmitVectorAccess(out, s->Index());
+ out << " = ";
+ EmitValue(out, s->Value());
out << ";";
}
void EmitLoadVectorElement(StringStream& out, const core::ir::LoadVectorElement* l) {
EmitAndDerefIfNeeded(out, l->From());
- out << "[";
- EmitValue(out, l->Index());
- out << "]";
+ EmitVectorAccess(out, l->Index());
}
/// Emit an if instruction
@@ -866,6 +878,9 @@
out << "." << member->Name().Name();
current_type = member->Type();
},
+ [&](const core::type::Vector*) { //
+ EmitVectorAccess(out, index);
+ },
[&](Default) {
out << "[";
EmitValue(out, index);
diff --git a/src/tint/lang/msl/writer/writer_test.cc b/src/tint/lang/msl/writer/writer_test.cc
index 065121a..d11d0ef 100644
--- a/src/tint/lang/msl/writer/writer_test.cc
+++ b/src/tint/lang/msl/writer/writer_test.cc
@@ -173,7 +173,7 @@
kernel void foo(device tint_array<uint, 1>* a [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.a=a, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- (*tint_module_vars.a)[0u] = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ (*tint_module_vars.a)[0u] = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
)");
EXPECT_TRUE(output_.needs_storage_buffer_sizes);
diff --git a/test/tint/access/let/matrix.wgsl.expected.ir.msl b/test/tint/access/let/matrix.wgsl.expected.ir.msl
index b2a76c5..9bf6365 100644
--- a/test/tint/access/let/matrix.wgsl.expected.ir.msl
+++ b/test/tint/access/let/matrix.wgsl.expected.ir.msl
@@ -9,6 +9,6 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
float3x3 const m = float3x3(float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));
float3 const v = m[1u];
- float const f = v[1u];
+ float const f = v.y;
(*tint_module_vars.s) = f;
}
diff --git a/test/tint/access/let/vector.wgsl.expected.ir.msl b/test/tint/access/let/vector.wgsl.expected.ir.msl
index 938d9dd..4db39bd 100644
--- a/test/tint/access/let/vector.wgsl.expected.ir.msl
+++ b/test/tint/access/let/vector.wgsl.expected.ir.msl
@@ -8,7 +8,7 @@
kernel void tint_symbol(device packed_float3* s [[buffer(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
float3 const v = float3(1.0f, 2.0f, 3.0f);
- float const scalar = v[1u];
+ float const scalar = v.y;
float2 const swizzle2 = v.xz;
float3 const swizzle3 = v.xzy;
float3 const v_1 = float3(scalar);
diff --git a/test/tint/access/ptr.wgsl.expected.ir.msl b/test/tint/access/ptr.wgsl.expected.ir.msl
index 30a780e..482e61b 100644
--- a/test/tint/access/ptr.wgsl.expected.ir.msl
+++ b/test/tint/access/ptr.wgsl.expected.ir.msl
@@ -44,8 +44,8 @@
}
int accept_ptr_vec_access_elements(thread float3* const v1) {
- (*v1)[0u] = cross((*v1), (*v1))[0u];
- return tint_f32_to_i32((*v1)[0u]);
+ (*v1).x = cross((*v1), (*v1)).x;
+ return tint_f32_to_i32((*v1).x);
}
int call_builtin_with_mod_scope_ptr(tint_module_vars_struct tint_module_vars) {
diff --git a/test/tint/access/var/matrix.spvasm.expected.ir.msl b/test/tint/access/var/matrix.spvasm.expected.ir.msl
index 542f727..62d92b7 100644
--- a/test/tint/access/var/matrix.spvasm.expected.ir.msl
+++ b/test/tint/access/var/matrix.spvasm.expected.ir.msl
@@ -3,7 +3,7 @@
void main_1() {
float3x3 m = float3x3(float3(0.0f), float3(0.0f), float3(0.0f));
- float const x_16 = m[1u][1u];
+ float const x_16 = m[1u].y;
}
kernel void tint_symbol() {
diff --git a/test/tint/access/var/matrix.wgsl.expected.ir.msl b/test/tint/access/var/matrix.wgsl.expected.ir.msl
index e2b1989..916345d 100644
--- a/test/tint/access/var/matrix.wgsl.expected.ir.msl
+++ b/test/tint/access/var/matrix.wgsl.expected.ir.msl
@@ -9,6 +9,6 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
float3x3 m = float3x3(0.0f);
float3 const v = m[1u];
- float const f = v[1u];
+ float const f = v.y;
(*tint_module_vars.s) = f;
}
diff --git a/test/tint/access/var/vector.spvasm.expected.ir.msl b/test/tint/access/var/vector.spvasm.expected.ir.msl
index 677c0e7..4745a5c 100644
--- a/test/tint/access/var/vector.spvasm.expected.ir.msl
+++ b/test/tint/access/var/vector.spvasm.expected.ir.msl
@@ -3,7 +3,7 @@
void main_1() {
float3 v = float3(0.0f);
- float const x_14 = v[1u];
+ float const x_14 = v.y;
float2 const x_17 = v.xz;
float3 const x_19 = v.xzy;
}
diff --git a/test/tint/access/var/vector.wgsl.expected.ir.msl b/test/tint/access/var/vector.wgsl.expected.ir.msl
index cada567..5e98e68 100644
--- a/test/tint/access/var/vector.wgsl.expected.ir.msl
+++ b/test/tint/access/var/vector.wgsl.expected.ir.msl
@@ -8,7 +8,7 @@
kernel void tint_symbol(device packed_float3* s [[buffer(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
float3 v = 0.0f;
- float const scalar = v[1u];
+ float const scalar = v.y;
float2 const swizzle2 = v.xz;
float3 const swizzle3 = v.xzy;
float3 const v_1 = float3(scalar);
diff --git a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.msl b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.msl
index 2a70609..995b536 100644
--- a/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/dynamic_index/read.wgsl.expected.ir.msl
@@ -69,55 +69,55 @@
}
void tint_symbol_inner(uint idx, tint_module_vars_struct tint_module_vars) {
- float const scalar_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_f32;
- int const scalar_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_i32;
- uint const scalar_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_u32;
- float2 const vec2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_f32;
- int2 const vec2_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_i32;
- uint2 const vec2_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_u32;
- float3 const vec3_f32 = float3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_f32);
- int3 const vec3_i32 = int3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_i32);
- uint3 const vec3_u32 = uint3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_u32);
- float4 const vec4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_f32;
- int4 const vec4_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_i32;
- uint4 const vec4_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_u32;
- float2x2 const mat2x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 2> const v_1 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x3_f32;
+ float const scalar_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_f32;
+ int const scalar_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_i32;
+ uint const scalar_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_u32;
+ float2 const vec2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_f32;
+ int2 const vec2_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_i32;
+ uint2 const vec2_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_u32;
+ float3 const vec3_f32 = float3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_f32);
+ int3 const vec3_i32 = int3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_i32);
+ uint3 const vec3_u32 = uint3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_u32);
+ float4 const vec4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_f32;
+ int4 const vec4_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_i32;
+ uint4 const vec4_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_u32;
+ float2x2 const mat2x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 2> const v_1 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x3_f32;
float3 const v_2 = float3(v_1[0u].packed);
float2x3 const mat2x3_f32 = float2x3(v_2, float3(v_1[1u].packed));
- float2x4 const mat2x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x4_f32;
- float3x2 const mat3x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 3> const v_3 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x3_f32;
+ float2x4 const mat2x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x4_f32;
+ float3x2 const mat3x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 3> const v_3 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x3_f32;
float3 const v_4 = float3(v_3[0u].packed);
float3 const v_5 = float3(v_3[1u].packed);
float3x3 const mat3x3_f32 = float3x3(v_4, v_5, float3(v_3[2u].packed));
- float3x4 const mat3x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x4_f32;
- float4x2 const mat4x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 4> const v_6 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x3_f32;
+ float3x4 const mat3x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x4_f32;
+ float4x2 const mat4x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 4> const v_6 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x3_f32;
float3 const v_7 = float3(v_6[0u].packed);
float3 const v_8 = float3(v_6[1u].packed);
float3 const v_9 = float3(v_6[2u].packed);
float4x3 const mat4x3_f32 = float4x3(v_7, v_8, v_9, float3(v_6[3u].packed));
- float4x4 const mat4x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x4_f32;
- tint_array<float3, 2> const arr2_vec3_f32 = tint_load_array_packed_vec3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].arr2_vec3_f32));
+ float4x4 const mat4x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x4_f32;
+ tint_array<float3, 2> const arr2_vec3_f32 = tint_load_array_packed_vec3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].arr2_vec3_f32));
int const v_10 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_11 = as_type<int>((as_type<uint>(v_10) + as_type<uint>(int(scalar_u32))));
- int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
+ int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32.x))));
+ int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32.y))));
+ int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32.z))));
+ int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const device S_packed_vec3* sb [[buffer(1)]], device int* s [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.msl b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.msl
index afc9105..70a1dd0 100644
--- a/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/dynamic_index/read_f16.wgsl.expected.ir.msl
@@ -96,92 +96,92 @@
}
void tint_symbol_inner(uint idx, tint_module_vars_struct tint_module_vars) {
- float const scalar_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_f32;
- int const scalar_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_i32;
- uint const scalar_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_u32;
- half const scalar_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_f16;
- float2 const vec2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_f32;
- int2 const vec2_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_i32;
- uint2 const vec2_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_u32;
- half2 const vec2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_f16;
- float3 const vec3_f32 = float3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_f32);
- int3 const vec3_i32 = int3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_i32);
- uint3 const vec3_u32 = uint3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_u32);
- half3 const vec3_f16 = half3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_f16);
- float4 const vec4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_f32;
- int4 const vec4_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_i32;
- uint4 const vec4_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_u32;
- half4 const vec4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_f16;
- float2x2 const mat2x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 2> const v_1 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x3_f32;
+ float const scalar_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_f32;
+ int const scalar_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_i32;
+ uint const scalar_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_u32;
+ half const scalar_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_f16;
+ float2 const vec2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_f32;
+ int2 const vec2_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_i32;
+ uint2 const vec2_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_u32;
+ half2 const vec2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_f16;
+ float3 const vec3_f32 = float3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_f32);
+ int3 const vec3_i32 = int3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_i32);
+ uint3 const vec3_u32 = uint3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_u32);
+ half3 const vec3_f16 = half3((*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_f16);
+ float4 const vec4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_f32;
+ int4 const vec4_i32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_i32;
+ uint4 const vec4_u32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_u32;
+ half4 const vec4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_f16;
+ float2x2 const mat2x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 2> const v_1 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x3_f32;
float3 const v_2 = float3(v_1[0u].packed);
float2x3 const mat2x3_f32 = float2x3(v_2, float3(v_1[1u].packed));
- float2x4 const mat2x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x4_f32;
- float3x2 const mat3x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 3> const v_3 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x3_f32;
+ float2x4 const mat2x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x4_f32;
+ float3x2 const mat3x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 3> const v_3 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x3_f32;
float3 const v_4 = float3(v_3[0u].packed);
float3 const v_5 = float3(v_3[1u].packed);
float3x3 const mat3x3_f32 = float3x3(v_4, v_5, float3(v_3[2u].packed));
- float3x4 const mat3x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x4_f32;
- float4x2 const mat4x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x2_f32;
- tint_array<tint_packed_vec3_f32_array_element, 4> const v_6 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x3_f32;
+ float3x4 const mat3x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x4_f32;
+ float4x2 const mat4x2_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x2_f32;
+ tint_array<tint_packed_vec3_f32_array_element, 4> const v_6 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x3_f32;
float3 const v_7 = float3(v_6[0u].packed);
float3 const v_8 = float3(v_6[1u].packed);
float3 const v_9 = float3(v_6[2u].packed);
float4x3 const mat4x3_f32 = float4x3(v_7, v_8, v_9, float3(v_6[3u].packed));
- float4x4 const mat4x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x4_f32;
- half2x2 const mat2x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x2_f16;
- tint_array<tint_packed_vec3_f16_array_element, 2> const v_10 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x3_f16;
+ float4x4 const mat4x4_f32 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x4_f32;
+ half2x2 const mat2x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x2_f16;
+ tint_array<tint_packed_vec3_f16_array_element, 2> const v_10 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x3_f16;
half3 const v_11 = half3(v_10[0u].packed_1);
half2x3 const mat2x3_f16 = half2x3(v_11, half3(v_10[1u].packed_1));
- half2x4 const mat2x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x4_f16;
- half3x2 const mat3x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x2_f16;
- tint_array<tint_packed_vec3_f16_array_element, 3> const v_12 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x3_f16;
+ half2x4 const mat2x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x4_f16;
+ half3x2 const mat3x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x2_f16;
+ tint_array<tint_packed_vec3_f16_array_element, 3> const v_12 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x3_f16;
half3 const v_13 = half3(v_12[0u].packed_1);
half3 const v_14 = half3(v_12[1u].packed_1);
half3x3 const mat3x3_f16 = half3x3(v_13, v_14, half3(v_12[2u].packed_1));
- half3x4 const mat3x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x4_f16;
- half4x2 const mat4x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x2_f16;
- tint_array<tint_packed_vec3_f16_array_element, 4> const v_15 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x3_f16;
+ half3x4 const mat3x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x4_f16;
+ half4x2 const mat4x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x2_f16;
+ tint_array<tint_packed_vec3_f16_array_element, 4> const v_15 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x3_f16;
half3 const v_16 = half3(v_15[0u].packed_1);
half3 const v_17 = half3(v_15[1u].packed_1);
half3 const v_18 = half3(v_15[2u].packed_1);
half4x3 const mat4x3_f16 = half4x3(v_16, v_17, v_18, half3(v_15[3u].packed_1));
- half4x4 const mat4x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x4_f16;
- tint_array<float3, 2> const arr2_vec3_f32 = tint_load_array_packed_vec3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].arr2_vec3_f32));
- tint_array<half4x2, 2> const arr2_mat4x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].arr2_mat4x2_f16;
+ half4x4 const mat4x4_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x4_f16;
+ tint_array<float3, 2> const arr2_vec3_f32 = tint_load_array_packed_vec3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].arr2_vec3_f32));
+ tint_array<half4x2, 2> const arr2_mat4x2_f16 = (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].arr2_mat4x2_f16;
int const v_19 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(int(scalar_u32))));
int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f16_to_i32(scalar_f16))));
- int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16[0u]))));
- int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16[1u]))));
- int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16[2u]))));
- int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u][0u]))));
- int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u][0u]))));
- int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u][0u]))));
- int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u][0u]))));
- int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u][0u]))));
- int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u][0u]))));
- int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u][0u]))));
- int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u][0u]))));
- int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u][0u]))));
- int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
+ int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32.x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16.x))));
+ int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32.y))));
+ int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16.y))));
+ int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32.z))));
+ int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16.z))));
+ int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u].x))));
+ int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u].x))));
+ int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u].x))));
+ int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u].x))));
+ int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u].x))));
+ int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u].x))));
+ int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u].x))));
+ int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u].x))));
+ int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u].x))));
+ int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const device S_packed_vec3* sb [[buffer(1)]], device int* s [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.msl b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.msl
index 8f30e04..6543623 100644
--- a/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/dynamic_index/write.wgsl.expected.ir.msl
@@ -99,31 +99,31 @@
}
void tint_symbol_inner(uint idx, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_f32 = 0.0f;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_i32 = 0;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].scalar_u32 = 0u;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_f32 = float2(0.0f);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_i32 = int2(0);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec2_u32 = uint2(0u);
- device packed_float3* const v_2 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_f32);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_f32 = 0.0f;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_i32 = 0;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].scalar_u32 = 0u;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_f32 = float2(0.0f);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_i32 = int2(0);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec2_u32 = uint2(0u);
+ device packed_float3* const v_2 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_f32);
(*v_2) = packed_float3(float3(0.0f));
- device packed_int3* const v_3 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_i32);
+ device packed_int3* const v_3 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_i32);
(*v_3) = packed_int3(int3(0));
- device packed_uint3* const v_4 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec3_u32);
+ device packed_uint3* const v_4 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec3_u32);
(*v_4) = packed_uint3(uint3(0u));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_f32 = float4(0.0f);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_i32 = int4(0);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].vec4_u32 = uint4(0u);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x2_f32 = float2x2(float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x3_f32), float2x3(float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat2x4_f32 = float2x4(float4(0.0f), float4(0.0f));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x2_f32 = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding_1((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x3_f32), float3x3(float3(0.0f), float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat3x4_f32 = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x2_f32 = float4x2(float2(0.0f), float2(0.0f), float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding_2((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x3_f32), float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].mat4x4_f32 = float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f));
- tint_store_and_preserve_padding_3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 544u) - 1u))].arr2_vec3_f32), tint_array<float3, 2>{});
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_f32 = float4(0.0f);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_i32 = int4(0);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].vec4_u32 = uint4(0u);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x2_f32 = float2x2(float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x3_f32), float2x3(float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat2x4_f32 = float2x4(float4(0.0f), float4(0.0f));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x2_f32 = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding_1((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x3_f32), float3x3(float3(0.0f), float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat3x4_f32 = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x2_f32 = float4x2(float2(0.0f), float2(0.0f), float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding_2((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x3_f32), float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].mat4x4_f32 = float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f));
+ tint_store_and_preserve_padding_3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 544u) - 1u))].arr2_vec3_f32), tint_array<float3, 2>{});
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S_packed_vec3* sb [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.msl b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.msl
index ba3dcdd..43c0d52 100644
--- a/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/dynamic_index/write_f16.wgsl.expected.ir.msl
@@ -140,46 +140,46 @@
}
void tint_symbol_inner(uint idx, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_f32 = 0.0f;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_i32 = 0;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_u32 = 0u;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].scalar_f16 = 0.0h;
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_f32 = float2(0.0f);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_i32 = int2(0);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_u32 = uint2(0u);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec2_f16 = half2(0.0h);
- device packed_float3* const v_2 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_f32);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_f32 = 0.0f;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_i32 = 0;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_u32 = 0u;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].scalar_f16 = 0.0h;
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_f32 = float2(0.0f);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_i32 = int2(0);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_u32 = uint2(0u);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec2_f16 = half2(0.0h);
+ device packed_float3* const v_2 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_f32);
(*v_2) = packed_float3(float3(0.0f));
- device packed_int3* const v_3 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_i32);
+ device packed_int3* const v_3 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_i32);
(*v_3) = packed_int3(int3(0));
- device packed_uint3* const v_4 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_u32);
+ device packed_uint3* const v_4 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_u32);
(*v_4) = packed_uint3(uint3(0u));
- device packed_half3* const v_5 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec3_f16);
+ device packed_half3* const v_5 = (&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec3_f16);
(*v_5) = packed_half3(half3(0.0h));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_f32 = float4(0.0f);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_i32 = int4(0);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_u32 = uint4(0u);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].vec4_f16 = half4(0.0h);
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x2_f32 = float2x2(float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x3_f32), float2x3(float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x4_f32 = float2x4(float4(0.0f), float4(0.0f));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x2_f32 = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding_1((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x3_f32), float3x3(float3(0.0f), float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x4_f32 = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x2_f32 = float4x2(float2(0.0f), float2(0.0f), float2(0.0f), float2(0.0f));
- tint_store_and_preserve_padding_2((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x3_f32), float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x4_f32 = float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x2_f16 = half2x2(half2(0.0h), half2(0.0h));
- tint_store_and_preserve_padding_3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x3_f16), half2x3(half3(0.0h), half3(0.0h)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat2x4_f16 = half2x4(half4(0.0h), half4(0.0h));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x2_f16 = half3x2(half2(0.0h), half2(0.0h), half2(0.0h));
- tint_store_and_preserve_padding_4((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x3_f16), half3x3(half3(0.0h), half3(0.0h), half3(0.0h)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat3x4_f16 = half3x4(half4(0.0h), half4(0.0h), half4(0.0h));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x2_f16 = half4x2(half2(0.0h), half2(0.0h), half2(0.0h), half2(0.0h));
- tint_store_and_preserve_padding_5((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x3_f16), half4x3(half3(0.0h), half3(0.0h), half3(0.0h), half3(0.0h)));
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].mat4x4_f16 = half4x4(half4(0.0h), half4(0.0h), half4(0.0h), half4(0.0h));
- tint_store_and_preserve_padding_6((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].arr2_vec3_f32), tint_array<float3, 2>{});
- (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 800u) - 1u))].arr2_mat4x2_f16 = tint_array<half4x2, 2>{};
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_f32 = float4(0.0f);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_i32 = int4(0);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_u32 = uint4(0u);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].vec4_f16 = half4(0.0h);
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x2_f32 = float2x2(float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x3_f32), float2x3(float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x4_f32 = float2x4(float4(0.0f), float4(0.0f));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x2_f32 = float3x2(float2(0.0f), float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding_1((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x3_f32), float3x3(float3(0.0f), float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x4_f32 = float3x4(float4(0.0f), float4(0.0f), float4(0.0f));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x2_f32 = float4x2(float2(0.0f), float2(0.0f), float2(0.0f), float2(0.0f));
+ tint_store_and_preserve_padding_2((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x3_f32), float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x4_f32 = float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x2_f16 = half2x2(half2(0.0h), half2(0.0h));
+ tint_store_and_preserve_padding_3((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x3_f16), half2x3(half3(0.0h), half3(0.0h)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat2x4_f16 = half2x4(half4(0.0h), half4(0.0h));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x2_f16 = half3x2(half2(0.0h), half2(0.0h), half2(0.0h));
+ tint_store_and_preserve_padding_4((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x3_f16), half3x3(half3(0.0h), half3(0.0h), half3(0.0h)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat3x4_f16 = half3x4(half4(0.0h), half4(0.0h), half4(0.0h));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x2_f16 = half4x2(half2(0.0h), half2(0.0h), half2(0.0h), half2(0.0h));
+ tint_store_and_preserve_padding_5((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x3_f16), half4x3(half3(0.0h), half3(0.0h), half3(0.0h), half3(0.0h)));
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].mat4x4_f16 = half4x4(half4(0.0h), half4(0.0h), half4(0.0h), half4(0.0h));
+ tint_store_and_preserve_padding_6((&(*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].arr2_vec3_f32), tint_array<float3, 2>{});
+ (*tint_module_vars.sb).arr[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 800u) - 1u))].arr2_mat4x2_f16 = tint_array<half4x2, 2>{};
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S_packed_vec3* sb [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.msl b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.msl
index 612011a..0b21728 100644
--- a/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/static_index/read.wgsl.expected.ir.msl
@@ -108,20 +108,20 @@
tint_array<Inner, 4> const array_struct_inner = (*tint_module_vars.sb).array_struct_inner;
int const v_10 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_11 = as_type<int>((as_type<uint>(v_10) + as_type<uint>(int(scalar_u32))));
- int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
+ int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32.x))));
+ int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32.y))));
+ int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32.z))));
+ int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
}
diff --git a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.msl b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.msl
index edd7a97..ca5e853 100644
--- a/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/static_index/read_f16.wgsl.expected.ir.msl
@@ -161,33 +161,33 @@
int const v_19 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(int(scalar_u32))));
int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f16_to_i32(scalar_f16))));
- int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16[0u]))));
- int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16[1u]))));
- int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16[2u]))));
- int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u][0u]))));
- int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u][0u]))));
- int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u][0u]))));
- int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u][0u]))));
- int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u][0u]))));
- int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u][0u]))));
- int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u][0u]))));
- int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u][0u]))));
- int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u][0u]))));
- int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u][0u]))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
+ int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32.x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16.x))));
+ int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32.y))));
+ int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16.y))));
+ int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32.z))));
+ int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16.z))));
+ int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u].x))));
+ int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u].x))));
+ int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u].x))));
+ int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u].x))));
+ int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u].x))));
+ int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u].x))));
+ int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u].x))));
+ int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u].x))));
+ int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u].x))));
+ int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u].x))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
}
diff --git a/test/tint/buffer/storage/types/runtime_array_f16.wgsl.expected.ir.msl b/test/tint/buffer/storage/types/runtime_array_f16.wgsl.expected.ir.msl
index d57c9c3..09f7f29 100644
--- a/test/tint/buffer/storage/types/runtime_array_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/types/runtime_array_f16.wgsl.expected.ir.msl
@@ -21,8 +21,8 @@
kernel void tint_symbol(const device tint_array<half, 1>* in [[buffer(1)]], device tint_array<half, 1>* out [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.in=in, .out=out, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] / 2u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].y / 2u) - 1u);
device half* const v_1 = (&(*tint_module_vars.out)[min(uint(0), v)]);
- uint const v_2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 2u) - 1u);
+ uint const v_2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 2u) - 1u);
(*v_1) = (*tint_module_vars.in)[min(uint(0), v_2)];
}
diff --git a/test/tint/buffer/storage/types/runtime_array_f32.wgsl.expected.ir.msl b/test/tint/buffer/storage/types/runtime_array_f32.wgsl.expected.ir.msl
index 70e0b17..8190bcc 100644
--- a/test/tint/buffer/storage/types/runtime_array_f32.wgsl.expected.ir.msl
+++ b/test/tint/buffer/storage/types/runtime_array_f32.wgsl.expected.ir.msl
@@ -21,8 +21,8 @@
kernel void tint_symbol(const device tint_array<float, 1>* in [[buffer(1)]], device tint_array<float, 1>* out [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.in=in, .out=out, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].y / 4u) - 1u);
device float* const v_1 = (&(*tint_module_vars.out)[min(uint(0), v)]);
- uint const v_2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v_2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
(*v_1) = (*tint_module_vars.in)[min(uint(0), v_2)];
}
diff --git a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.msl b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.msl
index 9e7df51..4fbdbac 100644
--- a/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.ir.msl
@@ -101,22 +101,22 @@
tint_array<float3, 2> const arr2_vec3_f32 = tint_load_array_packed_vec3((&(*tint_module_vars.ub).arr[min(idx, 7u)].arr2_vec3_f32));
int const v_10 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_11 = as_type<int>((as_type<uint>(v_10) + as_type<uint>(int(scalar_u32))));
- int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
+ int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32.x))));
+ int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32.y))));
+ int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32.z))));
+ int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const constant S_packed_vec3* ub [[buffer(0)]], device int* s [[buffer(1)]]) {
diff --git a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.msl b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.msl
index d6a6ae1..a0015b0 100644
--- a/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/dynamic_index/read_f16.wgsl.expected.ir.msl
@@ -152,35 +152,35 @@
int const v_19 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(int(scalar_u32))));
int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f16_to_i32(scalar_f16))));
- int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16[0u]))));
- int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16[1u]))));
- int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16[2u]))));
- int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u][0u]))));
- int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u][0u]))));
- int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u][0u]))));
- int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u][0u]))));
- int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u][0u]))));
- int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u][0u]))));
- int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u][0u]))));
- int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u][0u]))));
- int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u][0u]))));
- int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u][0u]))));
+ int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32.x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16.x))));
+ int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32.y))));
+ int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16.y))));
+ int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32.z))));
+ int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16.z))));
+ int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u].x))));
+ int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u].x))));
+ int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u].x))));
+ int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u].x))));
+ int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u].x))));
+ int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u].x))));
+ int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u].x))));
+ int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u].x))));
+ int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u].x))));
+ int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u].x))));
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const constant S_packed_vec3* ub [[buffer(0)]], device int* s [[buffer(1)]]) {
diff --git a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.msl b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.msl
index fc5384a..1dcd774 100644
--- a/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/static_index/read.wgsl.expected.ir.msl
@@ -109,20 +109,20 @@
tint_array<Inner, 4> const array_struct_inner = (*tint_module_vars.ub).array_struct_inner;
int const v_10 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_11 = as_type<int>((as_type<uint>(v_10) + as_type<uint>(int(scalar_u32))));
- int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
+ int const v_12 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_11) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_13 = as_type<int>((as_type<uint>(v_12) + as_type<uint>(int(vec2_u32.x))));
+ int const v_14 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_13) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_15 = as_type<int>((as_type<uint>(v_14) + as_type<uint>(int(vec3_u32.y))));
+ int const v_16 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_15) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_17 = as_type<int>((as_type<uint>(v_16) + as_type<uint>(int(vec4_u32.z))));
+ int const v_18 = as_type<int>((as_type<uint>(v_17) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_19 = as_type<int>((as_type<uint>(v_18) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_22 = as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_25 = as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
}
diff --git a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.msl b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.msl
index c967a95..b79b405 100644
--- a/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/static_index/read_f16.wgsl.expected.ir.msl
@@ -160,33 +160,33 @@
int const v_19 = as_type<int>((as_type<uint>(tint_f32_to_i32(scalar_f32)) + as_type<uint>(scalar_i32)));
int const v_20 = as_type<int>((as_type<uint>(v_19) + as_type<uint>(int(scalar_u32))));
int const v_21 = as_type<int>((as_type<uint>(v_20) + as_type<uint>(tint_f16_to_i32(scalar_f16))));
- int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32[0u]))))) + as_type<uint>(vec2_i32[0u])));
- int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32[0u]))));
- int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16[0u]))));
- int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32[1u]))))) + as_type<uint>(vec3_i32[1u])));
- int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32[1u]))));
- int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16[1u]))));
- int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32[2u]))))) + as_type<uint>(vec4_i32[2u])));
- int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32[2u]))));
- int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16[2u]))));
- int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u][0u]))));
- int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u][0u]))));
- int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u][0u]))));
- int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u][0u]))));
- int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u][0u]))));
- int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u][0u]))));
- int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u][0u]))));
- int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u][0u]))));
- int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u][0u]))));
- int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u][0u]))));
- int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u][0u]))));
- int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u][0u]))));
- int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u][0u]))));
- int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u][0u]))));
- int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u][0u]))));
- int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u][0u]))));
- int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u][0u]))));
- int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u][0u]))));
- int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u][0u]))));
- (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u][0u]))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
+ int const v_22 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_21) + as_type<uint>(tint_f32_to_i32(vec2_f32.x))))) + as_type<uint>(vec2_i32.x)));
+ int const v_23 = as_type<int>((as_type<uint>(v_22) + as_type<uint>(int(vec2_u32.x))));
+ int const v_24 = as_type<int>((as_type<uint>(v_23) + as_type<uint>(tint_f16_to_i32(vec2_f16.x))));
+ int const v_25 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_24) + as_type<uint>(tint_f32_to_i32(vec3_f32.y))))) + as_type<uint>(vec3_i32.y)));
+ int const v_26 = as_type<int>((as_type<uint>(v_25) + as_type<uint>(int(vec3_u32.y))));
+ int const v_27 = as_type<int>((as_type<uint>(v_26) + as_type<uint>(tint_f16_to_i32(vec3_f16.y))));
+ int const v_28 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_27) + as_type<uint>(tint_f32_to_i32(vec4_f32.z))))) + as_type<uint>(vec4_i32.z)));
+ int const v_29 = as_type<int>((as_type<uint>(v_28) + as_type<uint>(int(vec4_u32.z))));
+ int const v_30 = as_type<int>((as_type<uint>(v_29) + as_type<uint>(tint_f16_to_i32(vec4_f16.z))));
+ int const v_31 = as_type<int>((as_type<uint>(v_30) + as_type<uint>(tint_f32_to_i32(mat2x2_f32[0u].x))));
+ int const v_32 = as_type<int>((as_type<uint>(v_31) + as_type<uint>(tint_f32_to_i32(mat2x3_f32[0u].x))));
+ int const v_33 = as_type<int>((as_type<uint>(v_32) + as_type<uint>(tint_f32_to_i32(mat2x4_f32[0u].x))));
+ int const v_34 = as_type<int>((as_type<uint>(v_33) + as_type<uint>(tint_f32_to_i32(mat3x2_f32[0u].x))));
+ int const v_35 = as_type<int>((as_type<uint>(v_34) + as_type<uint>(tint_f32_to_i32(mat3x3_f32[0u].x))));
+ int const v_36 = as_type<int>((as_type<uint>(v_35) + as_type<uint>(tint_f32_to_i32(mat3x4_f32[0u].x))));
+ int const v_37 = as_type<int>((as_type<uint>(v_36) + as_type<uint>(tint_f32_to_i32(mat4x2_f32[0u].x))));
+ int const v_38 = as_type<int>((as_type<uint>(v_37) + as_type<uint>(tint_f32_to_i32(mat4x3_f32[0u].x))));
+ int const v_39 = as_type<int>((as_type<uint>(v_38) + as_type<uint>(tint_f32_to_i32(mat4x4_f32[0u].x))));
+ int const v_40 = as_type<int>((as_type<uint>(v_39) + as_type<uint>(tint_f16_to_i32(mat2x2_f16[0u].x))));
+ int const v_41 = as_type<int>((as_type<uint>(v_40) + as_type<uint>(tint_f16_to_i32(mat2x3_f16[0u].x))));
+ int const v_42 = as_type<int>((as_type<uint>(v_41) + as_type<uint>(tint_f16_to_i32(mat2x4_f16[0u].x))));
+ int const v_43 = as_type<int>((as_type<uint>(v_42) + as_type<uint>(tint_f16_to_i32(mat3x2_f16[0u].x))));
+ int const v_44 = as_type<int>((as_type<uint>(v_43) + as_type<uint>(tint_f16_to_i32(mat3x3_f16[0u].x))));
+ int const v_45 = as_type<int>((as_type<uint>(v_44) + as_type<uint>(tint_f16_to_i32(mat3x4_f16[0u].x))));
+ int const v_46 = as_type<int>((as_type<uint>(v_45) + as_type<uint>(tint_f16_to_i32(mat4x2_f16[0u].x))));
+ int const v_47 = as_type<int>((as_type<uint>(v_46) + as_type<uint>(tint_f16_to_i32(mat4x3_f16[0u].x))));
+ int const v_48 = as_type<int>((as_type<uint>(v_47) + as_type<uint>(tint_f16_to_i32(mat4x4_f16[0u].x))));
+ int const v_49 = as_type<int>((as_type<uint>(v_48) + as_type<uint>(tint_f32_to_i32(arr2_vec3_f32[0u].x))));
+ (*tint_module_vars.s) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(v_49) + as_type<uint>(tint_f16_to_i32(arr2_mat4x2_f16[0u][0u].x))))) + as_type<uint>(struct_inner.scalar_i32)))) + as_type<uint>(array_struct_inner[0u].scalar_i32)));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 6500865..ff83e76 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<float2x2, 4> const l_a = (*p_a);
float2x2 const l_a_i = (*p_a_i);
float2 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 4559635..11c30e0 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<float2x2, 4> const l_a = (*p_a);
float2x2 const l_a_i = (*p_a_2);
float2 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
index 0904308..ca46d27 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
float2x2 const t = transpose((*tint_module_vars.u)[2u]);
float const l = length((*tint_module_vars.u)[0u][1u].yx);
- float const a = abs((*tint_module_vars.u)[0u][1u].yx[0u]);
- float const v = (t[0u][0u] + float(l));
+ float const a = abs((*tint_module_vars.u)[0u][1u].yx.x);
+ float const v = (t[0u].x + float(l));
(*tint_module_vars.s) = (v + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_fn.wgsl.expected.ir.msl
index 68eccde..408809b 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
float a(tint_array<float2x2, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float2x2 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float2 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -39,5 +39,5 @@
float const v_1 = a((*tint_module_vars.u));
float const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
float const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].yx));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_private.wgsl.expected.ir.msl
index 28ac270..59d1e1f 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_storage.wgsl.expected.ir.msl
index e97a60a..ad55014 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
index 326a767..090228b 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<float2x2, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
index de99dd3..847f0f6 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -55,5 +55,5 @@
half3 const v_12 = half3(v_11[0u].packed);
half2x3 const l_a_i = half2x3(v_12, half3(v_11[1u].packed));
half3 const l_a_i_i = half3((*p_a_i_i));
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 011125a..7181a37 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -48,5 +48,5 @@
half3 const v_12 = half3(v_11[0u].packed);
half2x3 const l_a_i = half2x3(v_12, half3(v_11[1u].packed));
half3 const l_a_i_i = half3((*p_a_2_1));
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
index a84c16d..0104f1d 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -29,7 +29,7 @@
half3 const v_1 = half3(v[0u].packed);
half3x2 const t = transpose(half2x3(v_1, half3(v[1u].packed)));
half const l = length(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- half const a = abs(half3((*tint_module_vars.u)[0u][1u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u][1u].packed).zxy.x);
half const v_2 = half(a);
- (*tint_module_vars.s) = ((v_2 + half(l)) + t[0u][0u]);
+ (*tint_module_vars.s) = ((v_2 + half(l)) + t[0u].x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.msl
index de98f09..b178ea9 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_fn.wgsl.expected.ir.msl
@@ -24,15 +24,15 @@
};
half a(tint_array<half2x3, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
half b(half2x3 m) {
- return m[0u][0u];
+ return m[0u].x;
}
half c(half3 v) {
- return v[0u];
+ return v.x;
}
half d(half f_1) {
@@ -61,5 +61,5 @@
half3 const v_14 = half3(v_13[0u].packed);
half const v_15 = (v_12 + b(half2x3(v_14, half3(v_13[1u].packed))));
half const v_16 = (v_15 + c(half3((*tint_module_vars.u)[1u][0u].packed).zxy));
- (*tint_module_vars.s) = (v_16 + d(half3((*tint_module_vars.u)[1u][0u].packed).zxy[0u]));
+ (*tint_module_vars.s) = (v_16 + d(half3((*tint_module_vars.u)[1u][0u].packed).zxy.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.msl
index b8c9db4..6cec04a 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_private.wgsl.expected.ir.msl
@@ -47,6 +47,6 @@
half3 const v_12 = half3(v_11[0u].packed);
(*tint_module_vars.p)[1u] = half2x3(v_12, half3(v_11[1u].packed));
(*tint_module_vars.p)[1u][0u] = half3((*tint_module_vars.u)[0u][1u].packed).zxy;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl.expected.ir.msl
index 8409b50..c314155 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_storage.wgsl.expected.ir.msl
@@ -72,5 +72,5 @@
half3 const v_14 = half3(v_13[0u].packed);
tint_store_and_preserve_padding_1((&(*tint_module_vars.s)[1u]), half2x3(v_14, half3(v_13[1u].packed)));
(*tint_module_vars.s)[1u][0u].packed = packed_half3(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.s)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.s)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
index 7298cb0..fbddbd9 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
@@ -83,8 +83,8 @@
(*tint_module_vars.w)[1u][0u].packed = packed_half3(v_15[0u]);
(*tint_module_vars.w)[1u][1u].packed = packed_half3(v_15[1u]);
(*tint_module_vars.w)[1u][0u].packed = packed_half3(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.w)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.w)[1u][0u].packed[0u];
+ (*tint_module_vars.w)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.w)[1u][0u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 2>, 4>* u [[buffer(0)]], device half* s [[buffer(1)]], threadgroup tint_symbol_1* v_16 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 7f543e3..68eb8ff 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -55,5 +55,5 @@
float3 const v_12 = float3(v_11[0u].packed);
float2x3 const l_a_i = float2x3(v_12, float3(v_11[1u].packed));
float3 const l_a_i_i = float3((*p_a_i_i));
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index d107964..937deb1 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -48,5 +48,5 @@
float3 const v_12 = float3(v_11[0u].packed);
float2x3 const l_a_i = float2x3(v_12, float3(v_11[1u].packed));
float3 const l_a_i_i = float3((*p_a_2_1));
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
index dbd9545..f3c3788 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -29,7 +29,7 @@
float3 const v_1 = float3(v[0u].packed);
float3x2 const t = transpose(float2x3(v_1, float3(v[1u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy[0u]);
- float const v_2 = (t[0u][0u] + float(l));
+ float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy.x);
+ float const v_2 = (t[0u].x + float(l));
(*tint_module_vars.s) = (v_2 + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.msl
index a76cfd8..ab971e9 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_fn.wgsl.expected.ir.msl
@@ -24,15 +24,15 @@
};
float a(tint_array<float2x3, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float2x3 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float3 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -61,5 +61,5 @@
float3 const v_14 = float3(v_13[0u].packed);
float const v_15 = (v_12 + b(float2x3(v_14, float3(v_13[1u].packed))));
float const v_16 = (v_15 + c(float3((*tint_module_vars.u)[1u][0u].packed).zxy));
- (*tint_module_vars.s) = (v_16 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy[0u]));
+ (*tint_module_vars.s) = (v_16 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.msl
index df78852..2ddea19 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_private.wgsl.expected.ir.msl
@@ -47,6 +47,6 @@
float3 const v_12 = float3(v_11[0u].packed);
(*tint_module_vars.p)[1u] = float2x3(v_12, float3(v_11[1u].packed));
(*tint_module_vars.p)[1u][0u] = float3((*tint_module_vars.u)[0u][1u].packed).zxy;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.msl
index a0ff344..9b5b263 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_storage.wgsl.expected.ir.msl
@@ -72,5 +72,5 @@
float3 const v_14 = float3(v_13[0u].packed);
tint_store_and_preserve_padding_1((&(*tint_module_vars.s)[1u]), float2x3(v_14, float3(v_13[1u].packed)));
(*tint_module_vars.s)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.s)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.s)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
index 8b081481..5b4f038 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -82,7 +82,7 @@
(*tint_module_vars.w)[1u][0u].packed = packed_float3(v_15[0u]);
(*tint_module_vars.w)[1u][1u].packed = packed_float3(v_15[1u]);
(*tint_module_vars.w)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.w)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.w)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 2>, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_16 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 8b489a4..6af1cb1 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<half2x4, 4> const l_a = (*p_a);
half2x4 const l_a_i = (*p_a_i);
half4 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
index a8e5cb6..df83aec 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<half2x4, 4> const l_a = (*p_a);
half2x4 const l_a_i = (*p_a_2);
half4 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
index 55c59e7..2fc8398 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
half4x2 const t = transpose((*tint_module_vars.u)[2u]);
half const l = length((*tint_module_vars.u)[0u][1u].ywxz);
- half const a = abs((*tint_module_vars.u)[0u][1u].ywxz[0u]);
- half const v = (t[0u][0u] + half(l));
+ half const a = abs((*tint_module_vars.u)[0u][1u].ywxz.x);
+ half const v = (t[0u].x + half(l));
(*tint_module_vars.s) = (v + half(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.msl
index 7171329..cd09bcc 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
half a(tint_array<half2x4, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
half b(half2x4 m) {
- return m[0u][0u];
+ return m[0u].x;
}
half c(half4 v) {
- return v[0u];
+ return v.x;
}
half d(half f_1) {
@@ -39,5 +39,5 @@
half const v_1 = a((*tint_module_vars.u));
half const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
half const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].ywxz));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.msl
index 2b8340b..a110fad 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl.expected.ir.msl
index cb62f04..16daafc 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
index e41da6f..76f4709 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<half2x4, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 26dcbc6..94c669c 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<float2x4, 4> const l_a = (*p_a);
float2x4 const l_a_i = (*p_a_i);
float4 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index f743e8c..d19192a 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<float2x4, 4> const l_a = (*p_a);
float2x4 const l_a_i = (*p_a_2);
float4 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
index a778a39..996c724 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
float4x2 const t = transpose((*tint_module_vars.u)[2u]);
float const l = length((*tint_module_vars.u)[0u][1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u][1u].ywxz[0u]);
- float const v = (t[0u][0u] + float(l));
+ float const a = abs((*tint_module_vars.u)[0u][1u].ywxz.x);
+ float const v = (t[0u].x + float(l));
(*tint_module_vars.s) = (v + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_fn.wgsl.expected.ir.msl
index 5bc9969..7fd6b3b 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
float a(tint_array<float2x4, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float2x4 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float4 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -39,5 +39,5 @@
float const v_1 = a((*tint_module_vars.u));
float const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
float const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].ywxz));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_private.wgsl.expected.ir.msl
index ae56973..5e7bb46 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_storage.wgsl.expected.ir.msl
index 445a87f..288e8b1 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
index 76941b3..c1edb07 100644
--- a/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<float2x4, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 8bb956f..b60968c 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -60,5 +60,5 @@
float3 const v_17 = float3(v_15[1u].packed);
float3x3 const l_a_i = float3x3(v_16, v_17, float3(v_15[2u].packed));
float3 const l_a_i_i = float3((*p_a_i_i));
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index da002ce..d96d261 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -53,5 +53,5 @@
float3 const v_17 = float3(v_15[1u].packed);
float3x3 const l_a_i = float3x3(v_16, v_17, float3(v_15[2u].packed));
float3 const l_a_i_i = float3((*p_a_2_1));
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
index 9757b4d..0c721bb 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,7 +30,7 @@
float3 const v_2 = float3(v[1u].packed);
float3x3 const t = transpose(float3x3(v_1, v_2, float3(v[2u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy[0u]);
- float const v_3 = (t[0u][0u] + float(l));
+ float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy.x);
+ float const v_3 = (t[0u].x + float(l));
(*tint_module_vars.s) = (v_3 + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.msl
index 2fb850d..253b829 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_fn.wgsl.expected.ir.msl
@@ -24,15 +24,15 @@
};
float a(tint_array<float3x3, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float3x3 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float3 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -66,5 +66,5 @@
float3 const v_19 = float3(v_17[1u].packed);
float const v_20 = (v_16 + b(float3x3(v_18, v_19, float3(v_17[2u].packed))));
float const v_21 = (v_20 + c(float3((*tint_module_vars.u)[1u][0u].packed).zxy));
- (*tint_module_vars.s) = (v_21 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy[0u]));
+ (*tint_module_vars.s) = (v_21 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.msl
index d1ec10f..70a7a9d 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_private.wgsl.expected.ir.msl
@@ -52,6 +52,6 @@
float3 const v_17 = float3(v_15[1u].packed);
(*tint_module_vars.p)[1u] = float3x3(v_16, v_17, float3(v_15[2u].packed));
(*tint_module_vars.p)[1u][0u] = float3((*tint_module_vars.u)[0u][1u].packed).zxy;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.msl
index 5770d70..319cc4e 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_storage.wgsl.expected.ir.msl
@@ -78,5 +78,5 @@
float3 const v_19 = float3(v_17[1u].packed);
tint_store_and_preserve_padding_1((&(*tint_module_vars.s)[1u]), float3x3(v_18, v_19, float3(v_17[2u].packed)));
(*tint_module_vars.s)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.s)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.s)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
index 5f6e52d..7da7388 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -93,7 +93,7 @@
(*tint_module_vars.w)[1u][1u].packed = packed_float3(v_20[1u]);
(*tint_module_vars.w)[1u][2u].packed = packed_float3(v_20[2u]);
(*tint_module_vars.w)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.w)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.w)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 3>, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_21 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 5942c3a..d3cf718 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<float3x4, 4> const l_a = (*p_a);
float3x4 const l_a_i = (*p_a_i);
float4 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 0f8bff2..2ac9ffb 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<float3x4, 4> const l_a = (*p_a);
float3x4 const l_a_i = (*p_a_2);
float4 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
index ca2488b..841e6db 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
float4x3 const t = transpose((*tint_module_vars.u)[2u]);
float const l = length((*tint_module_vars.u)[0u][1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u][1u].ywxz[0u]);
- float const v = (t[0u][0u] + float(l));
+ float const a = abs((*tint_module_vars.u)[0u][1u].ywxz.x);
+ float const v = (t[0u].x + float(l));
(*tint_module_vars.s) = (v + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_fn.wgsl.expected.ir.msl
index 2bece44..ab08384 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
float a(tint_array<float3x4, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float3x4 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float4 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -39,5 +39,5 @@
float const v_1 = a((*tint_module_vars.u));
float const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
float const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].ywxz));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_private.wgsl.expected.ir.msl
index bc25b12..a1d8f6c 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_storage.wgsl.expected.ir.msl
index c1c6e3f..ceffe27 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
index 1d6267c..1bc2dfd 100644
--- a/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<float3x4, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 4da315b..2311542 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<half4x2, 4> const l_a = (*p_a);
half4x2 const l_a_i = (*p_a_i);
half2 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 202a798..dd495ec 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<half4x2, 4> const l_a = (*p_a);
half4x2 const l_a_i = (*p_a_2);
half2 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
index 3d1a729..c80cb9d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
half2x4 const t = transpose((*tint_module_vars.u)[2u]);
half const l = length((*tint_module_vars.u)[0u][1u].yx);
- half const a = abs((*tint_module_vars.u)[0u][1u].yx[0u]);
- half const v = (t[0u][0u] + half(l));
+ half const a = abs((*tint_module_vars.u)[0u][1u].yx.x);
+ half const v = (t[0u].x + half(l));
(*tint_module_vars.s) = (v + half(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.msl
index a0701b8..f86bd5d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
half a(tint_array<half4x2, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
half b(half4x2 m) {
- return m[0u][0u];
+ return m[0u].x;
}
half c(half2 v) {
- return v[0u];
+ return v.x;
}
half d(half f_1) {
@@ -39,5 +39,5 @@
half const v_1 = a((*tint_module_vars.u));
half const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
half const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].yx));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.msl
index 3091d2a..11fb534 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl.expected.ir.msl
index ba345fe..6d4e3d1 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
index db8d89e..8bc1610 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<half4x2, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 03dd4b4..5359612 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<float4x2, 4> const l_a = (*p_a);
float4x2 const l_a_i = (*p_a_i);
float2 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 1131c45..d8b45b2 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<float4x2, 4> const l_a = (*p_a);
float4x2 const l_a_i = (*p_a_2);
float2 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
index 52e4db3..aa18ed2 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
float2x4 const t = transpose((*tint_module_vars.u)[2u]);
float const l = length((*tint_module_vars.u)[0u][1u].yx);
- float const a = abs((*tint_module_vars.u)[0u][1u].yx[0u]);
- float const v = (t[0u][0u] + float(l));
+ float const a = abs((*tint_module_vars.u)[0u][1u].yx.x);
+ float const v = (t[0u].x + float(l));
(*tint_module_vars.s) = (v + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_fn.wgsl.expected.ir.msl
index 283c166..126e347 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
float a(tint_array<float4x2, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float4x2 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float2 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -39,5 +39,5 @@
float const v_1 = a((*tint_module_vars.u));
float const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
float const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].yx));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].yx.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_private.wgsl.expected.ir.msl
index edb55f7..3d65bf7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_storage.wgsl.expected.ir.msl
index 51981de..61f49f0 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
index 54d0885..aa1435a 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].yx;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<float4x2, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
index e2341a6..553bebf 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -65,5 +65,5 @@
half3 const v_22 = half3(v_19[2u].packed);
half4x3 const l_a_i = half4x3(v_20, v_21, v_22, half3(v_19[3u].packed));
half3 const l_a_i_i = half3((*p_a_i_i));
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 7ce54a9..9d84384 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -58,5 +58,5 @@
half3 const v_22 = half3(v_19[2u].packed);
half4x3 const l_a_i = half4x3(v_20, v_21, v_22, half3(v_19[3u].packed));
half3 const l_a_i_i = half3((*p_a_2_1));
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
index 2455fb9..30183b7 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -31,7 +31,7 @@
half3 const v_3 = half3(v[2u].packed);
half3x4 const t = transpose(half4x3(v_1, v_2, v_3, half3(v[3u].packed)));
half const l = length(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- half const a = abs(half3((*tint_module_vars.u)[0u][1u].packed).zxy[0u]);
- half const v_4 = (t[0u][0u] + half(l));
+ half const a = abs(half3((*tint_module_vars.u)[0u][1u].packed).zxy.x);
+ half const v_4 = (t[0u].x + half(l));
(*tint_module_vars.s) = (v_4 + half(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.msl
index 850218d..ef17bda 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_fn.wgsl.expected.ir.msl
@@ -24,15 +24,15 @@
};
half a(tint_array<half4x3, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
half b(half4x3 m) {
- return m[0u][0u];
+ return m[0u].x;
}
half c(half3 v) {
- return v[0u];
+ return v.x;
}
half d(half f_1) {
@@ -71,5 +71,5 @@
half3 const v_24 = half3(v_21[2u].packed);
half const v_25 = (v_20 + b(half4x3(v_22, v_23, v_24, half3(v_21[3u].packed))));
half const v_26 = (v_25 + c(half3((*tint_module_vars.u)[1u][0u].packed).zxy));
- (*tint_module_vars.s) = (v_26 + d(half3((*tint_module_vars.u)[1u][0u].packed).zxy[0u]));
+ (*tint_module_vars.s) = (v_26 + d(half3((*tint_module_vars.u)[1u][0u].packed).zxy.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.msl
index f93e05b..290a28f 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_private.wgsl.expected.ir.msl
@@ -57,6 +57,6 @@
half3 const v_22 = half3(v_19[2u].packed);
(*tint_module_vars.p)[1u] = half4x3(v_20, v_21, v_22, half3(v_19[3u].packed));
(*tint_module_vars.p)[1u][0u] = half3((*tint_module_vars.u)[0u][1u].packed).zxy;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl.expected.ir.msl
index 31309e8..20d20c2 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_storage.wgsl.expected.ir.msl
@@ -84,5 +84,5 @@
half3 const v_24 = half3(v_21[2u].packed);
tint_store_and_preserve_padding_1((&(*tint_module_vars.s)[1u]), half4x3(v_22, v_23, v_24, half3(v_21[3u].packed)));
(*tint_module_vars.s)[1u][0u].packed = packed_half3(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.s)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.s)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
index 6e6d4df..f5f27df 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
@@ -104,7 +104,7 @@
(*tint_module_vars.w)[1u][2u].packed = packed_half3(v_25[2u]);
(*tint_module_vars.w)[1u][3u].packed = packed_half3(v_25[3u]);
(*tint_module_vars.w)[1u][0u].packed = packed_half3(half3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.w)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.w)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 4>, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_26 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index bf013f3..c162c71 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -65,5 +65,5 @@
float3 const v_22 = float3(v_19[2u].packed);
float4x3 const l_a_i = float4x3(v_20, v_21, v_22, float3(v_19[3u].packed));
float3 const l_a_i_i = float3((*p_a_i_i));
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index ec2e969..0767502 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -58,5 +58,5 @@
float3 const v_22 = float3(v_19[2u].packed);
float4x3 const l_a_i = float4x3(v_20, v_21, v_22, float3(v_19[3u].packed));
float3 const l_a_i_i = float3((*p_a_2_1));
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
index 4c8a85b..6e3b3ec 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -31,7 +31,7 @@
float3 const v_3 = float3(v[2u].packed);
float3x4 const t = transpose(float4x3(v_1, v_2, v_3, float3(v[3u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy[0u]);
- float const v_4 = (t[0u][0u] + float(l));
+ float const a = abs(float3((*tint_module_vars.u)[0u][1u].packed).zxy.x);
+ float const v_4 = (t[0u].x + float(l));
(*tint_module_vars.s) = (v_4 + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.msl
index 26b97d2..1050cc9 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_fn.wgsl.expected.ir.msl
@@ -24,15 +24,15 @@
};
float a(tint_array<float4x3, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float4x3 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float3 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -71,5 +71,5 @@
float3 const v_24 = float3(v_21[2u].packed);
float const v_25 = (v_20 + b(float4x3(v_22, v_23, v_24, float3(v_21[3u].packed))));
float const v_26 = (v_25 + c(float3((*tint_module_vars.u)[1u][0u].packed).zxy));
- (*tint_module_vars.s) = (v_26 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy[0u]));
+ (*tint_module_vars.s) = (v_26 + d(float3((*tint_module_vars.u)[1u][0u].packed).zxy.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.msl
index c769997..d4de610 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_private.wgsl.expected.ir.msl
@@ -57,6 +57,6 @@
float3 const v_22 = float3(v_19[2u].packed);
(*tint_module_vars.p)[1u] = float4x3(v_20, v_21, v_22, float3(v_19[3u].packed));
(*tint_module_vars.p)[1u][0u] = float3((*tint_module_vars.u)[0u][1u].packed).zxy;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].packed.x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.msl
index adc90bb..2eec94d 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_storage.wgsl.expected.ir.msl
@@ -84,5 +84,5 @@
float3 const v_24 = float3(v_21[2u].packed);
tint_store_and_preserve_padding_1((&(*tint_module_vars.s)[1u]), float4x3(v_22, v_23, v_24, float3(v_21[3u].packed)));
(*tint_module_vars.s)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.s)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.s)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
index 7b462a0..3fcde2f 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -104,7 +104,7 @@
(*tint_module_vars.w)[1u][2u].packed = packed_float3(v_25[2u]);
(*tint_module_vars.w)[1u][3u].packed = packed_float3(v_25[3u]);
(*tint_module_vars.w)[1u][0u].packed = packed_float3(float3((*tint_module_vars.u)[0u][1u].packed).zxy);
- (*tint_module_vars.w)[1u][0u].packed[0u] = (*tint_module_vars.u)[0u][1u].packed[0u];
+ (*tint_module_vars.w)[1u][0u].packed.x = (*tint_module_vars.u)[0u][1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 4>, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_26 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
index 2c62805..0dc0070 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<half4x4, 4> const l_a = (*p_a);
half4x4 const l_a_i = (*p_a_i);
half4 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 1a041ea..89f1f59 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<half4x4, 4> const l_a = (*p_a);
half4x4 const l_a_i = (*p_a_2);
half4 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
index da17af4..2bc26dc 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
half4x4 const t = transpose((*tint_module_vars.u)[2u]);
half const l = length((*tint_module_vars.u)[0u][1u].ywxz);
- half const a = abs((*tint_module_vars.u)[0u][1u].ywxz[0u]);
- half const v = (t[0u][0u] + half(l));
+ half const a = abs((*tint_module_vars.u)[0u][1u].ywxz.x);
+ half const v = (t[0u].x + half(l));
(*tint_module_vars.s) = (v + half(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.msl
index c3964b3..5034b53 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
half a(tint_array<half4x4, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
half b(half4x4 m) {
- return m[0u][0u];
+ return m[0u].x;
}
half c(half4 v) {
- return v[0u];
+ return v.x;
}
half d(half f_1) {
@@ -39,5 +39,5 @@
half const v_1 = a((*tint_module_vars.u));
half const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
half const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].ywxz));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.msl
index ae8ec03..c8c785f 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl.expected.ir.msl
index 3d12139..ae57bd1 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
index 036c6d4..b4adcfa 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<half4x4, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
index efb6f41..c1f1d1b 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/dynamic_index_via_ptr.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
tint_array<float4x4, 4> const l_a = (*p_a);
float4x4 const l_a_i = (*p_a_i);
float4 const l_a_i_i = (*p_a_i_i);
- (*tint_module_vars.s) = ((((*p_a_i_i)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_i_i).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 0e6ea95..0ef8b09 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_array<float4x4, 4> const l_a = (*p_a);
float4x4 const l_a_i = (*p_a_2);
float4 const l_a_i_i = (*p_a_2_1);
- (*tint_module_vars.s) = ((((*p_a_2_1)[0u] + l_a[0u][0u][0u]) + l_a_i[0u][0u]) + l_a_i_i[0u]);
+ (*tint_module_vars.s) = ((((*p_a_2_1).x + l_a[0u][0u].x) + l_a_i[0u].x) + l_a_i_i.x);
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
index a0fcf2b..c357b97 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .s=s};
float4x4 const t = transpose((*tint_module_vars.u)[2u]);
float const l = length((*tint_module_vars.u)[0u][1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u][1u].ywxz[0u]);
- float const v = (t[0u][0u] + float(l));
+ float const a = abs((*tint_module_vars.u)[0u][1u].ywxz.x);
+ float const v = (t[0u].x + float(l));
(*tint_module_vars.s) = (v + float(a));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_fn.wgsl.expected.ir.msl
index 19f3535..6ac6867 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
};
float a(tint_array<float4x4, 4> a_1) {
- return a_1[0u][0u][0u];
+ return a_1[0u][0u].x;
}
float b(float4x4 m) {
- return m[0u][0u];
+ return m[0u].x;
}
float c(float4 v) {
- return v[0u];
+ return v.x;
}
float d(float f_1) {
@@ -39,5 +39,5 @@
float const v_1 = a((*tint_module_vars.u));
float const v_2 = (v_1 + b((*tint_module_vars.u)[1u]));
float const v_3 = (v_2 + c((*tint_module_vars.u)[1u][0u].ywxz));
- (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz[0u]));
+ (*tint_module_vars.s) = (v_3 + d((*tint_module_vars.u)[1u][0u].ywxz.x));
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_private.wgsl.expected.ir.msl
index fad6a01..ffc7138 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_private.wgsl.expected.ir.msl
@@ -25,6 +25,6 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.p)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.p)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
- (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u][0u];
+ (*tint_module_vars.p)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
+ (*tint_module_vars.s) = (*tint_module_vars.p)[1u][0u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_storage.wgsl.expected.ir.msl
index 0850495..a8935af 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_storage.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.s)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.s)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.s)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
index 2bc2a32..f00181f 100644
--- a/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/array/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[2u];
(*tint_module_vars.w)[1u][0u] = (*tint_module_vars.u)[0u][1u].ywxz;
- (*tint_module_vars.w)[1u][0u][0u] = (*tint_module_vars.u)[0u][1u][0u];
+ (*tint_module_vars.w)[1u][0u].x = (*tint_module_vars.u)[0u][1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<float4x4, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_2 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 80d232b..78e8c12 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half2x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
index 996ea35..3b5380e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x2 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.msl
index a064c31..3a01448 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f16/to_fn.wgsl.expected.ir.msl
@@ -46,5 +46,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
index f67415a..2ef1b2f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float2x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
index 1fd602b..9a7736b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x2 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.msl
index 58cb806..b5664bd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x2_f32/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 22ec781..0148f6d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -79,5 +79,5 @@
half3 const v_9 = half3(v_8[0u].packed);
half2x3 const l_a_3_a_2_m = half2x3(v_9, half3(v_8[1u].packed));
half3 const l_a_3_a_2_m_1 = half3((*p_a_3_a_2_m_1));
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
index d227c60..db36e20 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -37,5 +37,5 @@
half3 const v_1 = half3(v[0u].packed);
half3x2 const t = transpose(half2x3(v_1, half3(v[1u].packed)));
half const l = length(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.msl
index 3e642de..14b55ea 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f16/to_fn.wgsl.expected.ir.msl
@@ -75,5 +75,5 @@
half3 const v_9 = half3(v_8[0u].packed);
c(half2x3(v_9, half3(v_8[1u].packed)));
d(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index e5814ec..841c26a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -79,5 +79,5 @@
float3 const v_9 = float3(v_8[0u].packed);
float2x3 const l_a_3_a_2_m = float2x3(v_9, float3(v_8[1u].packed));
float3 const l_a_3_a_2_m_1 = float3((*p_a_3_a_2_m_1));
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
index 741fe39..acc4daf 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -37,5 +37,5 @@
float3 const v_1 = float3(v[0u].packed);
float3x2 const t = transpose(float2x3(v_1, float3(v[1u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.msl
index 0d5283b..cc3e63b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x3_f32/to_fn.wgsl.expected.ir.msl
@@ -75,5 +75,5 @@
float3 const v_9 = float3(v_8[0u].packed);
c(float2x3(v_9, float3(v_8[1u].packed)));
d(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
index d3f1051..0462877 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half2x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
index 73e62af..84c2fd3 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x2 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.msl
index d94254a..c55fc3a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f16/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index a70a451..0568bb6 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float2x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
index b608020..cddcc49 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x2 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.msl
index af2f037..e37ff1c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat2x4_f32/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 24ac192..cb93c52 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half3x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
index ea294b9..70d84f7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x3 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.msl
index 45c5061..05c0c71 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f16/to_fn.wgsl.expected.ir.msl
@@ -46,5 +46,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 45fafb5..b7b905e 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float3x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
index 953217e..0fc982b 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x3 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.msl
index f28f303..65a3560 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x2_f32/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 7df51d9..bd26668 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -81,5 +81,5 @@
half3 const v_11 = half3(v_9[1u].packed);
half3x3 const l_a_3_a_2_m = half3x3(v_10, v_11, half3(v_9[2u].packed));
half3 const l_a_3_a_2_m_1 = half3((*p_a_3_a_2_m_1));
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
index 59df7ec..9ca93f4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -38,5 +38,5 @@
half3 const v_2 = half3(v[1u].packed);
half3x3 const t = transpose(half3x3(v_1, v_2, half3(v[2u].packed)));
half const l = length(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.msl
index f2f20a1..be70778 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f16/to_fn.wgsl.expected.ir.msl
@@ -77,5 +77,5 @@
half3 const v_11 = half3(v_9[1u].packed);
c(half3x3(v_10, v_11, half3(v_9[2u].packed)));
d(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index d6cf278..3316a3f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -81,5 +81,5 @@
float3 const v_11 = float3(v_9[1u].packed);
float3x3 const l_a_3_a_2_m = float3x3(v_10, v_11, float3(v_9[2u].packed));
float3 const l_a_3_a_2_m_1 = float3((*p_a_3_a_2_m_1));
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
index 2f2dee0..e7896cd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -37,5 +37,5 @@
float3 const v_2 = float3(v[1u].packed);
float3x3 const t = transpose(float3x3(v_1, v_2, float3(v[2u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.msl
index a39d77a..8061199 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x3_f32/to_fn.wgsl.expected.ir.msl
@@ -76,5 +76,5 @@
float3 const v_11 = float3(v_9[1u].packed);
c(float3x3(v_10, v_11, float3(v_9[2u].packed)));
d(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
index e4cc75f..0918a91 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half3x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
index 4c118ec..b7f5083 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x3 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.msl
index 7883b98..fd33450 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f16/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index c190844..0b5298c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float3x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
index 5f536fa..fa032a7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x3 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.msl
index 3587f97..9a603e5 100644
--- a/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat3x4_f32/to_fn.wgsl.expected.ir.msl
@@ -46,5 +46,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
index 0248de0..e05bef8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half4x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
index bdcd3e4..b25b568 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x4 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.msl
index ab79b30..7c1e703 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f16/to_fn.wgsl.expected.ir.msl
@@ -46,5 +46,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
index e4bb5e5..5bb35db 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float4x2 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float2 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
index 740b0b4..32a877c 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x4 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].yx);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.msl
index 4d80f9d..57bda97 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x2_f32/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].yx);
- e((*tint_module_vars.u)[0u].m[1u].yx[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
index c9aa963..2723c69 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -83,5 +83,5 @@
half3 const v_13 = half3(v_10[2u].packed);
half4x3 const l_a_3_a_2_m = half4x3(v_11, v_12, v_13, half3(v_10[3u].packed));
half3 const l_a_3_a_2_m_1 = half3((*p_a_3_a_2_m_1));
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
index efceda3..2efd844 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
half3 const v_3 = half3(v[2u].packed);
half3x4 const t = transpose(half4x3(v_1, v_2, v_3, half3(v[3u].packed)));
half const l = length(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.msl
index 24f41a2..2b26e4d 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f16/to_fn.wgsl.expected.ir.msl
@@ -79,5 +79,5 @@
half3 const v_13 = half3(v_10[2u].packed);
c(half4x3(v_11, v_12, v_13, half3(v_10[3u].packed)));
d(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(half3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
index aaee511..ad39305 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -82,5 +82,5 @@
float3 const v_13 = float3(v_10[2u].packed);
float4x3 const l_a_3_a_2_m = float4x3(v_11, v_12, v_13, float3(v_10[3u].packed));
float3 const l_a_3_a_2_m_1 = float3((*p_a_3_a_2_m_1));
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
index e76178f..c527cdd 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
float3 const v_3 = float3(v[2u].packed);
float3x4 const t = transpose(float4x3(v_1, v_2, v_3, float3(v[3u].packed)));
float const l = length(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.msl
index 4332733..e7462d7 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x3_f32/to_fn.wgsl.expected.ir.msl
@@ -79,5 +79,5 @@
float3 const v_13 = float3(v_10[2u].packed);
c(float4x3(v_11, v_12, v_13, float3(v_10[3u].packed)));
d(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy);
- e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy[0u]);
+ e(float3((*tint_module_vars.u)[0u].m[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
index c143dfc..7300ce8 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/static_index_via_ptr.wgsl.expected.ir.msl
@@ -40,5 +40,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
half4x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
half4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ half const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
index 7854343..22703cf 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x4 const t = transpose((*tint_module_vars.u)[2u].m);
half const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.msl
index 211a7cb..7d9f29f 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f16/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
index 3919448..03496d4 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/static_index_via_ptr.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
Inner const l_a_3_a_2 = (*p_a_3_a_2);
float4x4 const l_a_3_a_2_m = (*p_a_3_a_2_m);
float4 const l_a_3_a_2_m_1 = (*p_a_3_a_2_m_1);
- float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1)[0u];
+ float const l_a_3_a_2_m_1_0 = (*p_a_3_a_2_m_1).x;
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
index a638f96..6037778 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x4 const t = transpose((*tint_module_vars.u)[2u].m);
float const l = length((*tint_module_vars.u)[0u].m[1u].ywxz);
- float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.msl
index e236ba4..9361b1a 100644
--- a/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/struct/mat4x4_f32/to_fn.wgsl.expected.ir.msl
@@ -47,5 +47,5 @@
b((*tint_module_vars.u)[2u]);
c((*tint_module_vars.u)[2u].m);
d((*tint_module_vars.u)[0u].m[1u].ywxz);
- e((*tint_module_vars.u)[0u].m[1u].ywxz[0u]);
+ e((*tint_module_vars.u)[0u].m[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
index 4a5fb93..14a944e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x2 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl.expected.ir.msl
index 8f7457c..e0fd6b6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.msl
index d6f077e..ccc3766 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl.expected.ir.msl
index 3a732d3..8544309 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.msl
index 81b0699..81e8bbb 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half2x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
index 7aa6c90..6b43878 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x2 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_fn.wgsl.expected.ir.msl
index c4a8e59..d5c5b3d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_private.wgsl.expected.ir.msl
index ffe8d2c..230aa4a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_storage.wgsl.expected.ir.msl
index 4e83b6d..5ac2f2f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
index 3a7263b..b918e8f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x2_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float2x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
index 9bac4a6..7d5b231 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -28,5 +28,5 @@
half3 const v_1 = half3(v[0u].packed);
half3x2 const t = transpose(half2x3(v_1, half3(v[1u].packed)));
half const l = length(half3((*tint_module_vars.u)[1u].packed));
- half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl.expected.ir.msl
index cb71b95..eff4fb6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_fn.wgsl.expected.ir.msl
@@ -38,6 +38,6 @@
a(half2x3(v_2, half3(v_1[1u].packed)));
b(half3((*tint_module_vars.u)[1u].packed));
b(half3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(half3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(half3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.msl
index 292beb0..858f645 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_private.wgsl.expected.ir.msl
@@ -31,5 +31,5 @@
(*tint_module_vars.p) = half2x3(v_1, half3(v[1u].packed));
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl.expected.ir.msl
index db7e05d..30dc94a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_storage.wgsl.expected.ir.msl
@@ -35,5 +35,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, half2x3(v_1, half3(v[1u].packed)));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
index 21dbb89..504e683 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f16/to_workgroup.wgsl.expected.ir.msl
@@ -40,7 +40,7 @@
(*tint_module_vars.w)[1u].packed = packed_half3(v_2[1u]);
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f16_array_element, 2>* u [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
index 1d0a67f..24004a5 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -28,5 +28,5 @@
float3 const v_1 = float3(v[0u].packed);
float3x2 const t = transpose(float2x3(v_1, float3(v[1u].packed)));
float const l = length(float3((*tint_module_vars.u)[1u].packed));
- float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.msl
index 5fb2d76..8c4d910 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_fn.wgsl.expected.ir.msl
@@ -38,6 +38,6 @@
a(float2x3(v_2, float3(v_1[1u].packed)));
b(float3((*tint_module_vars.u)[1u].packed));
b(float3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(float3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(float3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.msl
index 74d09fa..08595cc 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_private.wgsl.expected.ir.msl
@@ -31,5 +31,5 @@
(*tint_module_vars.p) = float2x3(v_1, float3(v[1u].packed));
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.msl
index 5212aec..9aea80c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_storage.wgsl.expected.ir.msl
@@ -35,5 +35,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, float2x3(v_1, float3(v[1u].packed)));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
index 52a1b4c..d213323 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -40,7 +40,7 @@
(*tint_module_vars.w)[1u].packed = packed_float3(v_2[1u]);
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f32_array_element, 2>* u [[buffer(0)]], threadgroup tint_symbol_1* v_3 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
index e2f6f1b..95537fb 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x2 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl.expected.ir.msl
index 58d6d2c..b59a34e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.msl
index 46cbeb5..78e4852 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl.expected.ir.msl
index 6848ebf..4240081 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
index 5897ca1..b22df03 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half2x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
index f391341..6deeb8f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x2 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_fn.wgsl.expected.ir.msl
index a47b0b8..b077428 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_private.wgsl.expected.ir.msl
index 46e3a14..a4403c2 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_storage.wgsl.expected.ir.msl
index 8a2ce76..2146611 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
index 3c70c39..f40dc37 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat2x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float2x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
index b51b8ed..8dfc0cd 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x3 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl.expected.ir.msl
index f1ef025..8436231 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.msl
index 697110a..752c00a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl.expected.ir.msl
index c6d275f..de5386a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.msl
index 3775f3e..6741c49 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half3x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
index c30b794..8294ca3 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x3 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_fn.wgsl.expected.ir.msl
index 98b3e5a..e540fa4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_private.wgsl.expected.ir.msl
index 2ab9f76..ef4b003 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_storage.wgsl.expected.ir.msl
index ca4205b..bae1216 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_workgroup.wgsl.expected.ir.msl
index 76d4637..8407ba3 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x2_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float3x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
index 6f867ba..6b0da2c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
half3 const v_2 = half3(v[1u].packed);
half3x3 const t = transpose(half3x3(v_1, v_2, half3(v[2u].packed)));
half const l = length(half3((*tint_module_vars.u)[1u].packed));
- half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl.expected.ir.msl
index 247971e..7bacae0 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_fn.wgsl.expected.ir.msl
@@ -39,6 +39,6 @@
a(half3x3(v_2, v_3, half3(v_1[2u].packed)));
b(half3((*tint_module_vars.u)[1u].packed));
b(half3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(half3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(half3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.msl
index b75e4d2..3a6dbcb 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_private.wgsl.expected.ir.msl
@@ -32,5 +32,5 @@
(*tint_module_vars.p) = half3x3(v_1, v_2, half3(v[2u].packed));
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl.expected.ir.msl
index 1a12b8e..1ccb139 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_storage.wgsl.expected.ir.msl
@@ -37,5 +37,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, half3x3(v_1, v_2, half3(v[2u].packed)));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.msl
index 2d93424..471195f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f16/to_workgroup.wgsl.expected.ir.msl
@@ -43,7 +43,7 @@
(*tint_module_vars.w)[2u].packed = packed_half3(v_3[2u]);
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f16_array_element, 3>* u [[buffer(0)]], threadgroup tint_symbol_1* v_4 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
index a60d4e6..42acf13 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -29,5 +29,5 @@
float3 const v_2 = float3(v[1u].packed);
float3x3 const t = transpose(float3x3(v_1, v_2, float3(v[2u].packed)));
float const l = length(float3((*tint_module_vars.u)[1u].packed));
- float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.msl
index ffef100..367f4e7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_fn.wgsl.expected.ir.msl
@@ -39,6 +39,6 @@
a(float3x3(v_2, v_3, float3(v_1[2u].packed)));
b(float3((*tint_module_vars.u)[1u].packed));
b(float3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(float3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(float3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.msl
index 2d24211..95e4756 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_private.wgsl.expected.ir.msl
@@ -32,5 +32,5 @@
(*tint_module_vars.p) = float3x3(v_1, v_2, float3(v[2u].packed));
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.msl
index 0254a20..7dc9575 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_storage.wgsl.expected.ir.msl
@@ -37,5 +37,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, float3x3(v_1, v_2, float3(v[2u].packed)));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
index 42add18..044648f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -43,7 +43,7 @@
(*tint_module_vars.w)[2u].packed = packed_float3(v_3[2u]);
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f32_array_element, 3>* u [[buffer(0)]], threadgroup tint_symbol_1* v_4 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
index 1e04e4c..70fc26d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x3 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl.expected.ir.msl
index 0f88245..65a41c9 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.msl
index bcdb306..bb0569e 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl.expected.ir.msl
index b7e9471..1849ad5 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.msl
index f120731..08e0ba7 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half3x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
index b8bac12..0ad373b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x3 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_fn.wgsl.expected.ir.msl
index e9d7ec2..8dd4c05 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_private.wgsl.expected.ir.msl
index 770e922..9695d07 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_storage.wgsl.expected.ir.msl
index a780ae2..8a77f60 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
index 790d4fd4..d1755c2 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat3x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float3x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
index 3977fa1..6cde2f9 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half2x4 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl.expected.ir.msl
index 0c4f866..283427b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.msl
index bfa7f2d..43b2918 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl.expected.ir.msl
index 33f0774..64764c6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
index 607249a..8ef1aa6 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half4x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
index 2dbd31b..737e116 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float2x4 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].yx[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_fn.wgsl.expected.ir.msl
index faff209..235ba20 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].yx);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].yx[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].yx.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_private.wgsl.expected.ir.msl
index 548554b..7c37060 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_storage.wgsl.expected.ir.msl
index 70517c1..045bcf9 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
index 6cf94e7..08ac56a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x2_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].yx;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float4x2* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
index a9f26e4..6e6eb37 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
half3 const v_3 = half3(v[2u].packed);
half3x4 const t = transpose(half4x3(v_1, v_2, v_3, half3(v[3u].packed)));
half const l = length(half3((*tint_module_vars.u)[1u].packed));
- half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ half const a = abs(half3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl.expected.ir.msl
index fd4db87..6788a01 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_fn.wgsl.expected.ir.msl
@@ -40,6 +40,6 @@
a(half4x3(v_2, v_3, v_4, half3(v_1[3u].packed)));
b(half3((*tint_module_vars.u)[1u].packed));
b(half3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(half3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(half3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.msl
index 43e0c6b..3cd328b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_private.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
(*tint_module_vars.p) = half4x3(v_1, v_2, v_3, half3(v[3u].packed));
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = half3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl.expected.ir.msl
index 905e0cb..5486d0f 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_storage.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, half4x3(v_1, v_2, v_3, half3(v[3u].packed)));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
index 6550d62..b8b7aaf 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f16/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w)[3u].packed = packed_half3(v_4[3u]);
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_half3(half3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f16_array_element, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_5 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
index a99b224..66bf56a 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_builtin.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
float3 const v_3 = float3(v[2u].packed);
float3x4 const t = transpose(float4x3(v_1, v_2, v_3, float3(v[3u].packed)));
float const l = length(float3((*tint_module_vars.u)[1u].packed));
- float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy[0u]);
+ float const a = abs(float3((*tint_module_vars.u)[0u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.msl
index ce11f2b..8fd9b92 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_fn.wgsl.expected.ir.msl
@@ -40,6 +40,6 @@
a(float4x3(v_2, v_3, v_4, float3(v_1[3u].packed)));
b(float3((*tint_module_vars.u)[1u].packed));
b(float3((*tint_module_vars.u)[1u].packed).zxy);
- c((*tint_module_vars.u)[1u].packed[0u]);
- c(float3((*tint_module_vars.u)[1u].packed).zxy[0u]);
+ c((*tint_module_vars.u)[1u].packed.x);
+ c(float3((*tint_module_vars.u)[1u].packed).zxy.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.msl
index 9c794d8..0efc92b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_private.wgsl.expected.ir.msl
@@ -33,5 +33,5 @@
(*tint_module_vars.p) = float4x3(v_1, v_2, v_3, float3(v[3u].packed));
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed);
(*tint_module_vars.p)[1u] = float3((*tint_module_vars.u)[0u].packed).zxy;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.msl
index 653cee8..ef88907 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_storage.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
tint_store_and_preserve_padding(tint_module_vars.s, float4x3(v_1, v_2, v_3, float3(v[3u].packed)));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.s)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.s)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.s)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
index afbcbc1..11024b3 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x3_f32/to_workgroup.wgsl.expected.ir.msl
@@ -46,7 +46,7 @@
(*tint_module_vars.w)[3u].packed = packed_float3(v_4[3u]);
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed));
(*tint_module_vars.w)[1u].packed = packed_float3(float3((*tint_module_vars.u)[0u].packed).zxy);
- (*tint_module_vars.w)[0u].packed[1u] = (*tint_module_vars.u)[1u].packed[0u];
+ (*tint_module_vars.w)[0u].packed.y = (*tint_module_vars.u)[1u].packed.x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant tint_array<tint_packed_vec3_f32_array_element, 4>* u [[buffer(0)]], threadgroup tint_symbol_1* v_5 [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
index 2e4c06b..559d06d 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
half4x4 const t = transpose((*tint_module_vars.u));
half const l = length((*tint_module_vars.u)[1u]);
- half const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ half const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl.expected.ir.msl
index 09f20ee..b2d3b8c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.msl
index d127c76..2150d2c 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl.expected.ir.msl
index 97e5255..34ef1e4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
index 9726b59..910c4ca 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f16/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant half4x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_builtin.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
index 34725ed..00c3bc8 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_builtin.wgsl.expected.ir.msl
@@ -9,5 +9,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
float4x4 const t = transpose((*tint_module_vars.u));
float const l = length((*tint_module_vars.u)[1u]);
- float const a = abs((*tint_module_vars.u)[0u].ywxz[0u]);
+ float const a = abs((*tint_module_vars.u)[0u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_fn.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_fn.wgsl.expected.ir.msl
index 35e5389..c2c4b90 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_fn.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_fn.wgsl.expected.ir.msl
@@ -19,6 +19,6 @@
a((*tint_module_vars.u));
b((*tint_module_vars.u)[1u]);
b((*tint_module_vars.u)[1u].ywxz);
- c((*tint_module_vars.u)[1u][0u]);
- c((*tint_module_vars.u)[1u].ywxz[0u]);
+ c((*tint_module_vars.u)[1u].x);
+ c((*tint_module_vars.u)[1u].ywxz.x);
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_private.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_private.wgsl.expected.ir.msl
index 5f09a38..053d8c4 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_private.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_private.wgsl.expected.ir.msl
@@ -12,5 +12,5 @@
(*tint_module_vars.p) = (*tint_module_vars.u);
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.p)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.p)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.p)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_storage.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_storage.wgsl.expected.ir.msl
index 236d1e6..3f05c7b 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_storage.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_storage.wgsl.expected.ir.msl
@@ -11,5 +11,5 @@
(*tint_module_vars.s) = (*tint_module_vars.u);
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.s)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.s)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.s)[0u].y = (*tint_module_vars.u)[1u].x;
}
diff --git a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
index 5421a4c..b72ba36 100644
--- a/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
+++ b/test/tint/buffer/uniform/std140/unnested/mat4x4_f32/to_workgroup.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
(*tint_module_vars.w) = (*tint_module_vars.u);
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u];
(*tint_module_vars.w)[1u] = (*tint_module_vars.u)[0u].ywxz;
- (*tint_module_vars.w)[0u][1u] = (*tint_module_vars.u)[1u][0u];
+ (*tint_module_vars.w)[0u].y = (*tint_module_vars.u)[1u].x;
}
kernel void f(uint tint_local_index [[thread_index_in_threadgroup]], const constant float4x4* u [[buffer(0)]], threadgroup tint_symbol_1* v [[threadgroup(0)]]) {
diff --git a/test/tint/bug/chromium/1273230.wgsl.expected.ir.msl b/test/tint/bug/chromium/1273230.wgsl.expected.ir.msl
index e7e893f..4884b044c 100644
--- a/test/tint/bug/chromium/1273230.wgsl.expected.ir.msl
+++ b/test/tint/bug/chromium/1273230.wgsl.expected.ir.msl
@@ -69,14 +69,14 @@
}
float3 toVoxelPos(float3 position, tint_module_vars_struct tint_module_vars) {
- float3 bbMin = float3((*tint_module_vars.uniforms).bbMin[0u], (*tint_module_vars.uniforms).bbMin[1u], (*tint_module_vars.uniforms).bbMin[2u]);
- float3 bbMax = float3((*tint_module_vars.uniforms).bbMax[0u], (*tint_module_vars.uniforms).bbMax[1u], (*tint_module_vars.uniforms).bbMax[2u]);
+ float3 bbMin = float3((*tint_module_vars.uniforms).bbMin.x, (*tint_module_vars.uniforms).bbMin.y, (*tint_module_vars.uniforms).bbMin.z);
+ float3 bbMax = float3((*tint_module_vars.uniforms).bbMax.x, (*tint_module_vars.uniforms).bbMax.y, (*tint_module_vars.uniforms).bbMax.z);
float3 bbSize = (bbMin - bbMin);
- float cubeSize = max(max(bbMax[0u], bbMax[1u]), bbSize[2u]);
+ float cubeSize = max(max(bbMax.x, bbMax.y), bbSize.z);
float gridSize = float((*tint_module_vars.uniforms).gridSize);
- float gx = ((cubeSize * (position[0u] - (*tint_module_vars.uniforms).bbMin[0u])) / cubeSize);
- float gy = ((gx * (position[1u] - (*tint_module_vars.uniforms).bbMin[1u])) / gridSize);
- float gz = ((gridSize * (position[2u] - (*tint_module_vars.uniforms).bbMin[2u])) / gridSize);
+ float gx = ((cubeSize * (position.x - (*tint_module_vars.uniforms).bbMin.x)) / cubeSize);
+ float gy = ((gx * (position.y - (*tint_module_vars.uniforms).bbMin.y)) / gridSize);
+ float gz = ((gridSize * (position.z - (*tint_module_vars.uniforms).bbMin.z)) / gridSize);
return float3(gz, gz, gz);
}
@@ -86,7 +86,7 @@
uint toIndex1D(uint gridSize, float3 voxelPos) {
uint3 icoord = tint_v3f32_to_v3u32(voxelPos);
- return ((icoord[0u] + (gridSize * icoord[1u])) + ((gridSize * gridSize) * icoord[2u]));
+ return ((icoord.x + (gridSize * icoord.y)) + ((gridSize * gridSize) * icoord.z));
}
uint tint_mod_u32(uint lhs, uint rhs) {
@@ -105,39 +105,39 @@
}
float3 loadPosition(uint vertexIndex, tint_module_vars_struct tint_module_vars) {
- float3 position = float3((*tint_module_vars.positions).values[min(((3u * vertexIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))]);
+ float3 position = float3((*tint_module_vars.positions).values[min(((3u * vertexIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))]);
return position;
}
void doIgnore(tint_module_vars_struct tint_module_vars) {
uint g43 = (*tint_module_vars.uniforms).numTriangles;
uint kj6 = (*tint_module_vars.dbg).value1;
- uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u);
+ uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u);
uint b53 = atomic_load_explicit((&(*tint_module_vars.counters).values[min(uint(0), v)]), memory_order_relaxed);
- uint const v_1 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u);
+ uint const v_1 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u);
uint rwg = (*tint_module_vars.indices).values[min(uint(0), v_1)];
- uint const v_2 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u);
+ uint const v_2 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u);
float rb5 = (*tint_module_vars.positions).values[min(uint(0), v_2)];
- uint const v_3 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][3u] - 0u) / 4u) - 1u);
+ uint const v_3 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].w - 0u) / 4u) - 1u);
int g55 = atomic_load_explicit((&(*tint_module_vars.LUT).values[min(uint(0), v_3)]), memory_order_relaxed);
}
void main_count_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint triangleIndex = GlobalInvocationID[0u];
+ uint triangleIndex = GlobalInvocationID.x;
if ((triangleIndex >= (*tint_module_vars.uniforms).numTriangles)) {
return;
}
doIgnore(tint_module_vars);
- uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i1 = (*tint_module_vars.indices).values[min(((3u * i0) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i2 = (*tint_module_vars.indices).values[min(((3u * i0) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
+ uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i1 = (*tint_module_vars.indices).values[min(((3u * i0) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i2 = (*tint_module_vars.indices).values[min(((3u * i0) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
float3 p0 = loadPosition(i0, tint_module_vars);
float3 p1 = loadPosition(i0, tint_module_vars);
float3 p2 = loadPosition(i2, tint_module_vars);
float3 center = (((p0 + p2) + p1) / 3.0f);
float3 voxelPos = toVoxelPos(p1, tint_module_vars);
uint lIndex = toIndex1D((*tint_module_vars.uniforms).gridSize, p0);
- int triangleOffset = atomic_fetch_add_explicit((&(*tint_module_vars.LUT).values[min(i1, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][3u] - 0u) / 4u) - 1u))]), 1, memory_order_relaxed);
+ int triangleOffset = atomic_fetch_add_explicit((&(*tint_module_vars.LUT).values[min(i1, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].w - 0u) / 4u) - 1u))]), 1, memory_order_relaxed);
}
kernel void main_count(uint3 GlobalInvocationID [[thread_position_in_grid]], const constant Uniforms_packed_vec3* uniforms [[buffer(0)]], device U32s* indices [[buffer(3)]], device F32s* positions [[buffer(4)]], device AU32s* counters [[buffer(2)]], device AI32s* LUT [[buffer(5)]], device Dbg* dbg [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/bug/chromium/1290107.wgsl.expected.ir.msl b/test/tint/bug/chromium/1290107.wgsl.expected.ir.msl
index 04c8437..e04e5b6 100644
--- a/test/tint/bug/chromium/1290107.wgsl.expected.ir.msl
+++ b/test/tint/bug/chromium/1290107.wgsl.expected.ir.msl
@@ -24,5 +24,5 @@
kernel void tint_symbol(const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const len = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ uint const len = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
diff --git a/test/tint/bug/chromium/1386647.wgsl.expected.ir.msl b/test/tint/bug/chromium/1386647.wgsl.expected.ir.msl
index 67ec1d2..ec63901 100644
--- a/test/tint/bug/chromium/1386647.wgsl.expected.ir.msl
+++ b/test/tint/bug/chromium/1386647.wgsl.expected.ir.msl
@@ -6,7 +6,7 @@
}
void f_inner(uint3 v) {
- uint const l = (v[0u] << (tint_mod_u32(v[1u], 1u) & 31u));
+ uint const l = (v.x << (tint_mod_u32(v.y, 1u) & 31u));
}
kernel void f(uint3 v [[thread_position_in_grid]]) {
diff --git a/test/tint/bug/chromium/1434271.wgsl.expected.ir.msl b/test/tint/bug/chromium/1434271.wgsl.expected.ir.msl
index 0f9025e..b454e31 100644
--- a/test/tint/bug/chromium/1434271.wgsl.expected.ir.msl
+++ b/test/tint/bug/chromium/1434271.wgsl.expected.ir.msl
@@ -142,21 +142,21 @@
float2 const v_3 = (*tint_module_vars.sim_params).seed.xy;
float2 const v_4 = (v_3 * float2(GlobalInvocationID.xy));
(*tint_module_vars.rand_seed) = (v_4 * (*tint_module_vars.sim_params).seed.zw);
- uint const idx = GlobalInvocationID[0u];
- Particle particle = tint_load_struct_packed_vec3((&(*tint_module_vars.data).particles[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 48u) - 1u))]));
- tint_store_and_preserve_padding((&(*tint_module_vars.data).particles[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 48u) - 1u))]), particle);
+ uint const idx = GlobalInvocationID.x;
+ Particle particle = tint_load_struct_packed_vec3((&(*tint_module_vars.data).particles[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 48u) - 1u))]));
+ tint_store_and_preserve_padding((&(*tint_module_vars.data).particles[min(idx, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 48u) - 1u))]), particle);
}
void export_level_inner(uint3 coord, tint_module_vars_struct tint_module_vars) {
if (all((coord.xy < uint2(uint2(tint_module_vars.tex_out.get_width(0u), tint_module_vars.tex_out.get_height(0u)))))) {
- uint const dst_offset = (coord[0u] << ((coord[1u] * (*tint_module_vars.ubo).width) & 31u));
- uint const src_offset = ((coord[0u] - 2u) + ((coord[1u] >> (2u & 31u)) * (*tint_module_vars.ubo).width));
- float const a = (*tint_module_vars.buf_in).weights[min((src_offset << (0u & 31u)), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))];
- float const b = (*tint_module_vars.buf_in).weights[min((src_offset + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))];
- float const c = (*tint_module_vars.buf_in).weights[min(((src_offset + 1u) + (*tint_module_vars.ubo).width), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))];
- float const d = (*tint_module_vars.buf_in).weights[min(((src_offset + 1u) + (*tint_module_vars.ubo).width), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))];
+ uint const dst_offset = (coord.x << ((coord.y * (*tint_module_vars.ubo).width) & 31u));
+ uint const src_offset = ((coord.x - 2u) + ((coord.y >> (2u & 31u)) * (*tint_module_vars.ubo).width));
+ float const a = (*tint_module_vars.buf_in).weights[min((src_offset << (0u & 31u)), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))];
+ float const b = (*tint_module_vars.buf_in).weights[min((src_offset + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))];
+ float const c = (*tint_module_vars.buf_in).weights[min(((src_offset + 1u) + (*tint_module_vars.ubo).width), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))];
+ float const d = (*tint_module_vars.buf_in).weights[min(((src_offset + 1u) + (*tint_module_vars.ubo).width), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))];
float const sum = dot(float4(a, b, c, d), float4(1.0f));
- (*tint_module_vars.buf_out).weights[min(dst_offset, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u))] = fmod(sum, 4.0f);
+ (*tint_module_vars.buf_out).weights[min(dst_offset, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u))] = fmod(sum, 4.0f);
float4 const probabilities = (float4(a, (a * b), ((a / b) + c), sum) + max(sum, 0.0f));
tint_module_vars.tex_out.write(probabilities, uint2(int2(coord.xy)));
}
diff --git a/test/tint/bug/dawn/947.wgsl.expected.ir.msl b/test/tint/bug/dawn/947.wgsl.expected.ir.msl
index 37ec91d..2744fd9 100644
--- a/test/tint/bug/dawn/947.wgsl.expected.ir.msl
+++ b/test/tint/bug/dawn/947.wgsl.expected.ir.msl
@@ -47,7 +47,7 @@
tint_array<float2, 3> texcoord = tint_array<float2, 3>{float2(-0.5f, 0.0f), float2(1.5f, 0.0f), float2(0.5f, 2.0f)};
VertexOutputs output = {};
output.position = float4(((texcoord[min(VertexIndex, 2u)] * 2.0f) - float2(1.0f)), 0.0f, 1.0f);
- bool flipY = ((*tint_module_vars.uniforms).u_scale[1u] < 0.0f);
+ bool flipY = ((*tint_module_vars.uniforms).u_scale.y < 0.0f);
if (flipY) {
output.texcoords = ((((texcoord[min(VertexIndex, 2u)] * (*tint_module_vars.uniforms).u_scale) + (*tint_module_vars.uniforms).u_offset) * float2(1.0f, -1.0f)) + float2(0.0f, 1.0f));
} else {
diff --git a/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.msl b/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.msl
index ec17e1b..0a816e3 100644
--- a/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.msl
+++ b/test/tint/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.ir.msl
@@ -30,5 +30,5 @@
kernel void f(const constant UBO* ubo [[buffer(0)]], device Result* result [[buffer(1)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.ubo=ubo, .result=result};
- (*tint_module_vars.result).out = (*tint_module_vars.ubo).data[min(uint((*tint_module_vars.ubo).dynamic_idx), 3u)][0u];
+ (*tint_module_vars.result).out = (*tint_module_vars.ubo).data[min(uint((*tint_module_vars.ubo).dynamic_idx), 3u)].x;
}
diff --git a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.msl b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.msl
index 4868c1c..0f31349d 100644
--- a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.msl
+++ b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.msl
@@ -28,24 +28,24 @@
} else {
break;
}
- float3 const offset = float3(random[0u]);
+ float3 const offset = float3(random.x);
bool v = false;
- if ((offset[0u] < 0.0f)) {
+ if ((offset.x < 0.0f)) {
v = true;
} else {
- v = (offset[1u] < 0.0f);
+ v = (offset.y < 0.0f);
}
bool v_1 = false;
if (v) {
v_1 = true;
} else {
- v_1 = (offset[0u] > 1.0f);
+ v_1 = (offset.x > 1.0f);
}
bool v_2 = false;
if (v_1) {
v_2 = true;
} else {
- v_2 = (offset[1u] > 1.0f);
+ v_2 = (offset.y > 1.0f);
}
if (v_2) {
i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)));
diff --git a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.msl b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.msl
index d2fd112..ce8154f 100644
--- a/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.msl
+++ b/test/tint/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.ir.msl
@@ -68,7 +68,7 @@
kernel void tint_symbol(const device Particles_packed_vec3* particles [[buffer(1)]], const constant Simulation* sim [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.particles=particles, .sim=sim, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v_10 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 176u) - 1u);
+ uint const v_10 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 176u) - 1u);
Particle particle = tint_load_struct_packed_vec3((&(*tint_module_vars.particles).p[min(uint(0), v_10)]));
particle.position[min((*tint_module_vars.sim).i, 7u)] = particle.position[min((*tint_module_vars.sim).i, 7u)];
}
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.ir.msl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.ir.msl
index e497322..2ccbfd1 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.ir.msl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.ir.msl
@@ -13,5 +13,5 @@
kernel void tint_symbol(const constant Uniforms* uniforms [[buffer(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.uniforms=uniforms};
float2x4 m1 = float2x4(0.0f);
- m1[min((*tint_module_vars.uniforms).i, 1u)][0u] = 1.0f;
+ m1[min((*tint_module_vars.uniforms).i, 1u)].x = 1.0f;
}
diff --git a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.ir.msl b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.ir.msl
index b98c116..78e5248 100644
--- a/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.ir.msl
+++ b/test/tint/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.ir.msl
@@ -14,5 +14,5 @@
kernel void tint_symbol(const constant Uniforms* uniforms [[buffer(0)]]) {
thread float2x4 m1 = float2x4(0.0f);
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.uniforms=uniforms, .m1=(&m1)};
- (*tint_module_vars.m1)[min((*tint_module_vars.uniforms).i, 1u)][0u] = 1.0f;
+ (*tint_module_vars.m1)[min((*tint_module_vars.uniforms).i, 1u)].x = 1.0f;
}
diff --git a/test/tint/bug/tint/1046.wgsl.expected.ir.msl b/test/tint/bug/tint/1046.wgsl.expected.ir.msl
index 6919e0b..b201307 100644
--- a/test/tint/bug/tint/1046.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1046.wgsl.expected.ir.msl
@@ -67,7 +67,7 @@
} else {
if (((*tint_module_vars.uniforms).color_source == 1u)) {
color = tint_symbol.normal;
- color[3u] = 1.0f;
+ color.w = 1.0f;
} else {
if (((*tint_module_vars.uniforms).color_source == 2u)) {
color = (*tint_module_vars.uniforms).color;
diff --git a/test/tint/bug/tint/1081.wgsl.expected.ir.msl b/test/tint/bug/tint/1081.wgsl.expected.ir.msl
index f562caa..1f866e8 100644
--- a/test/tint/bug/tint/1081.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1081.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
}
int tint_symbol_inner(int3 x, tint_module_vars_struct tint_module_vars) {
- int y = x[0u];
+ int y = x.x;
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
diff --git a/test/tint/bug/tint/1088.spvasm.expected.ir.msl b/test/tint/bug/tint/1088.spvasm.expected.ir.msl
index 669fce9..84bfcd9 100644
--- a/test/tint/bug/tint/1088.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/1088.spvasm.expected.ir.msl
@@ -54,14 +54,14 @@
void main_1(tint_module_vars_struct tint_module_vars) {
float4 q = 0.0f;
float3 p = 0.0f;
- q = float4((*tint_module_vars.position_1)[0u], (*tint_module_vars.position_1)[1u], (*tint_module_vars.position_1)[2u], 1.0f);
+ q = float4((*tint_module_vars.position_1).x, (*tint_module_vars.position_1).y, (*tint_module_vars.position_1).z, 1.0f);
p = q.xyz;
- p[0u] = (p[0u] + sin((((*tint_module_vars.x_14).test[0u].el * (*tint_module_vars.position_1)[1u]) + (*tint_module_vars.x_14).time)));
- p[1u] = (p[1u] + sin(((*tint_module_vars.x_14).time + 4.0f)));
+ p.x = (p.x + sin((((*tint_module_vars.x_14).test[0u].el * (*tint_module_vars.position_1).y) + (*tint_module_vars.x_14).time)));
+ p.y = (p.y + sin(((*tint_module_vars.x_14).time + 4.0f)));
float4x4 const v = (*tint_module_vars.x_14).worldViewProjection;
- (*tint_module_vars.gl_Position) = (v * float4(p[0u], p[1u], p[2u], 1.0f));
+ (*tint_module_vars.gl_Position) = (v * float4(p.x, p.y, p.z, 1.0f));
(*tint_module_vars.vUV) = (*tint_module_vars.uv);
- (*tint_module_vars.gl_Position)[1u] = ((*tint_module_vars.gl_Position)[1u] * -1.0f);
+ (*tint_module_vars.gl_Position).y = ((*tint_module_vars.gl_Position).y * -1.0f);
}
main_out tint_symbol_inner(float3 position_1_param, float2 uv_param, float3 normal_param, tint_module_vars_struct tint_module_vars) {
diff --git a/test/tint/bug/tint/1113.wgsl.expected.ir.msl b/test/tint/bug/tint/1113.wgsl.expected.ir.msl
index 8538ca0..4661d2b 100644
--- a/test/tint/bug/tint/1113.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1113.wgsl.expected.ir.msl
@@ -66,14 +66,14 @@
};
float3 toVoxelPos(float3 position, tint_module_vars_struct tint_module_vars) {
- float3 bbMin = float3((*tint_module_vars.uniforms).bbMin[0u], (*tint_module_vars.uniforms).bbMin[1u], (*tint_module_vars.uniforms).bbMin[2u]);
- float3 bbMax = float3((*tint_module_vars.uniforms).bbMax[0u], (*tint_module_vars.uniforms).bbMax[1u], (*tint_module_vars.uniforms).bbMax[2u]);
+ float3 bbMin = float3((*tint_module_vars.uniforms).bbMin.x, (*tint_module_vars.uniforms).bbMin.y, (*tint_module_vars.uniforms).bbMin.z);
+ float3 bbMax = float3((*tint_module_vars.uniforms).bbMax.x, (*tint_module_vars.uniforms).bbMax.y, (*tint_module_vars.uniforms).bbMax.z);
float3 bbSize = (bbMax - bbMin);
- float cubeSize = max(max(bbSize[0u], bbSize[1u]), bbSize[2u]);
+ float cubeSize = max(max(bbSize.x, bbSize.y), bbSize.z);
float gridSize = float((*tint_module_vars.uniforms).gridSize);
- float gx = ((gridSize * (position[0u] - (*tint_module_vars.uniforms).bbMin[0u])) / cubeSize);
- float gy = ((gridSize * (position[1u] - (*tint_module_vars.uniforms).bbMin[1u])) / cubeSize);
- float gz = ((gridSize * (position[2u] - (*tint_module_vars.uniforms).bbMin[2u])) / cubeSize);
+ float gx = ((gridSize * (position.x - (*tint_module_vars.uniforms).bbMin.x)) / cubeSize);
+ float gy = ((gridSize * (position.y - (*tint_module_vars.uniforms).bbMin.y)) / cubeSize);
+ float gz = ((gridSize * (position.z - (*tint_module_vars.uniforms).bbMin.z)) / cubeSize);
return float3(gx, gy, gz);
}
@@ -83,7 +83,7 @@
uint toIndex1D(uint gridSize, float3 voxelPos) {
uint3 icoord = tint_v3f32_to_v3u32(voxelPos);
- return ((icoord[0u] + (gridSize * icoord[1u])) + ((gridSize * gridSize) * icoord[2u]));
+ return ((icoord.x + (gridSize * icoord.y)) + ((gridSize * gridSize) * icoord.z));
}
uint tint_mod_u32(uint lhs, uint rhs) {
@@ -102,78 +102,78 @@
}
float3 loadPosition(uint vertexIndex, tint_module_vars_struct tint_module_vars) {
- float3 position = float3((*tint_module_vars.positions).values[min(((3u * vertexIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))]);
+ float3 position = float3((*tint_module_vars.positions).values[min(((3u * vertexIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))], (*tint_module_vars.positions).values[min(((3u * vertexIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))]);
return position;
}
void doIgnore(tint_module_vars_struct tint_module_vars) {
uint g42 = (*tint_module_vars.uniforms).numTriangles;
uint kj6 = (*tint_module_vars.dbg).value1;
- uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u);
+ uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u);
uint b53 = atomic_load_explicit((&(*tint_module_vars.counters).values[min(uint(0), v)]), memory_order_relaxed);
- uint const v_1 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u);
+ uint const v_1 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u);
uint rwg = (*tint_module_vars.indices).values[min(uint(0), v_1)];
- uint const v_2 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u);
+ uint const v_2 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u);
float rb5 = (*tint_module_vars.positions).values[min(uint(0), v_2)];
- uint const v_3 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][3u] - 0u) / 4u) - 1u);
+ uint const v_3 = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].w - 0u) / 4u) - 1u);
int g55 = atomic_load_explicit((&(*tint_module_vars.LUT).values[min(uint(0), v_3)]), memory_order_relaxed);
}
void main_count_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint triangleIndex = GlobalInvocationID[0u];
+ uint triangleIndex = GlobalInvocationID.x;
if ((triangleIndex >= (*tint_module_vars.uniforms).numTriangles)) {
return;
}
doIgnore(tint_module_vars);
- uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i1 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i2 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
+ uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i1 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i2 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
float3 p0 = loadPosition(i0, tint_module_vars);
float3 p1 = loadPosition(i1, tint_module_vars);
float3 p2 = loadPosition(i2, tint_module_vars);
float3 center = (((p0 + p1) + p2) / 3.0f);
float3 voxelPos = toVoxelPos(center, tint_module_vars);
uint voxelIndex = toIndex1D((*tint_module_vars.uniforms).gridSize, voxelPos);
- uint acefg = atomic_fetch_add_explicit((&(*tint_module_vars.counters).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u))]), 1u, memory_order_relaxed);
+ uint acefg = atomic_fetch_add_explicit((&(*tint_module_vars.counters).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u))]), 1u, memory_order_relaxed);
if ((triangleIndex == 0u)) {
(*tint_module_vars.dbg).value0 = (*tint_module_vars.uniforms).gridSize;
- (*tint_module_vars.dbg).value_f32_0 = center[0u];
- (*tint_module_vars.dbg).value_f32_1 = center[1u];
- (*tint_module_vars.dbg).value_f32_2 = center[2u];
+ (*tint_module_vars.dbg).value_f32_0 = center.x;
+ (*tint_module_vars.dbg).value_f32_1 = center.y;
+ (*tint_module_vars.dbg).value_f32_2 = center.z;
}
}
void main_create_lut_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint voxelIndex = GlobalInvocationID[0u];
+ uint voxelIndex = GlobalInvocationID.x;
doIgnore(tint_module_vars);
uint maxVoxels = (((*tint_module_vars.uniforms).gridSize * (*tint_module_vars.uniforms).gridSize) * (*tint_module_vars.uniforms).gridSize);
if ((voxelIndex >= maxVoxels)) {
return;
}
- uint numTriangles = atomic_load_explicit((&(*tint_module_vars.counters).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u))]), memory_order_relaxed);
+ uint numTriangles = atomic_load_explicit((&(*tint_module_vars.counters).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u))]), memory_order_relaxed);
int offset = -1;
if ((numTriangles > 0u)) {
offset = int(atomic_fetch_add_explicit((&(*tint_module_vars.dbg).offsetCounter), numTriangles, memory_order_relaxed));
}
- atomic_store_explicit((&(*tint_module_vars.LUT).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][3u] - 0u) / 4u) - 1u))]), offset, memory_order_relaxed);
+ atomic_store_explicit((&(*tint_module_vars.LUT).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].w - 0u) / 4u) - 1u))]), offset, memory_order_relaxed);
}
void main_sort_triangles_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint triangleIndex = GlobalInvocationID[0u];
+ uint triangleIndex = GlobalInvocationID.x;
doIgnore(tint_module_vars);
if ((triangleIndex >= (*tint_module_vars.uniforms).numTriangles)) {
return;
}
- uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i1 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
- uint i2 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
+ uint i0 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 0u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i1 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 1u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
+ uint i2 = (*tint_module_vars.indices).values[min(((3u * triangleIndex) + 2u), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
float3 p0 = loadPosition(i0, tint_module_vars);
float3 p1 = loadPosition(i1, tint_module_vars);
float3 p2 = loadPosition(i2, tint_module_vars);
float3 center = (((p0 + p1) + p2) / 3.0f);
float3 voxelPos = toVoxelPos(center, tint_module_vars);
uint voxelIndex = toIndex1D((*tint_module_vars.uniforms).gridSize, voxelPos);
- int triangleOffset = atomic_fetch_add_explicit((&(*tint_module_vars.LUT).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][3u] - 0u) / 4u) - 1u))]), 1, memory_order_relaxed);
+ int triangleOffset = atomic_fetch_add_explicit((&(*tint_module_vars.LUT).values[min(voxelIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].w - 0u) / 4u) - 1u))]), 1, memory_order_relaxed);
}
kernel void main_count(uint3 GlobalInvocationID [[thread_position_in_grid]], const constant Uniforms_packed_vec3* uniforms [[buffer(0)]], device U32s* indices [[buffer(3)]], device F32s* positions [[buffer(4)]], device AU32s* counters [[buffer(2)]], device AI32s* LUT [[buffer(5)]], device Dbg* dbg [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/bug/tint/1118.wgsl.expected.ir.msl b/test/tint/bug/tint/1118.wgsl.expected.ir.msl
index 53d4770..32c7700 100644
--- a/test/tint/bug/tint/1118.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1118.wgsl.expected.ir.msl
@@ -67,21 +67,21 @@
}
float4 const x_34 = (*tint_module_vars.x_29).vEyePosition;
float3 const x_38 = float3(0.0f);
- viewDirectionW = normalize((float3(x_34[0u], x_34[1u], x_34[2u]) - x_38));
+ viewDirectionW = normalize((float3(x_34.x, x_34.y, x_34.z) - x_38));
baseColor = float4(1.0f);
float4 const x_52 = (*tint_module_vars.x_49).vDiffuseColor;
- diffuseColor = float3(x_52[0u], x_52[1u], x_52[2u]);
- float const x_60 = (*tint_module_vars.x_49).vDiffuseColor[3u];
+ diffuseColor = float3(x_52.x, x_52.y, x_52.z);
+ float const x_60 = (*tint_module_vars.x_49).vDiffuseColor.w;
alpha = x_60;
float3 const x_62 = float3(0.0f);
float3 const x_64 = float3(0.0f);
uvOffset = float2(0.0f);
float4 const x_74 = float4(0.0f);
float4 const x_76 = baseColor;
- float3 const v = float3(x_76[0u], x_76[1u], x_76[2u]);
- float3 const x_78 = (v * float3(x_74[0u], x_74[1u], x_74[2u]));
+ float3 const v = float3(x_76.x, x_76.y, x_76.z);
+ float3 const x_78 = (v * float3(x_74.x, x_74.y, x_74.z));
float4 const x_79 = baseColor;
- baseColor = float4(x_78[0u], x_78[1u], x_78[2u], x_79[3u]);
+ baseColor = float4(x_78.x, x_78.y, x_78.z, x_79.w);
baseAmbientColor = float3(1.0f);
glossiness = 0.0f;
diffuseBase = float3(0.0f);
@@ -95,24 +95,24 @@
float3 const x_99 = emissiveColor;
float3 const x_103 = float3((*tint_module_vars.x_49).vAmbientColor);
float4 const x_108 = baseColor;
- finalDiffuse = (clamp((((x_96 * x_97) + x_99) + x_103), float3(0.0f), float3(1.0f)) * float3(x_108[0u], x_108[1u], x_108[2u]));
+ finalDiffuse = (clamp((((x_96 * x_97) + x_99) + x_103), float3(0.0f), float3(1.0f)) * float3(x_108.x, x_108.y, x_108.z));
finalSpecular = float3(0.0f);
float3 const x_113 = finalDiffuse;
float3 const x_114 = baseAmbientColor;
float3 const x_116 = finalSpecular;
float4 const x_118 = reflectionColor;
float4 const x_121 = refractionColor;
- float3 const v_1 = (((x_113 * x_114) + x_116) + float3(x_118[0u], x_118[1u], x_118[2u]));
- float3 const x_123 = (v_1 + float3(x_121[0u], x_121[1u], x_121[2u]));
+ float3 const v_1 = (((x_113 * x_114) + x_116) + float3(x_118.x, x_118.y, x_118.z));
+ float3 const x_123 = (v_1 + float3(x_121.x, x_121.y, x_121.z));
float const x_124 = alpha;
- color = float4(x_123[0u], x_123[1u], x_123[2u], x_124);
+ color = float4(x_123.x, x_123.y, x_123.z, x_124);
float4 const x_129 = color;
- float3 const x_132 = max(float3(x_129[0u], x_129[1u], x_129[2u]), float3(0.0f));
+ float3 const x_132 = max(float3(x_129.x, x_129.y, x_129.z), float3(0.0f));
float4 const x_133 = color;
- color = float4(x_132[0u], x_132[1u], x_132[2u], x_133[3u]);
+ color = float4(x_132.x, x_132.y, x_132.z, x_133.w);
float const x_140 = (*tint_module_vars.x_137).visibility;
- float const x_142 = color[3u];
- color[3u] = (x_142 * x_140);
+ float const x_142 = color.w;
+ color.w = (x_142 * x_140);
float4 const x_147 = color;
(*tint_module_vars.glFragColor) = x_147;
}
diff --git a/test/tint/bug/tint/1121.wgsl.expected.ir.msl b/test/tint/bug/tint/1121.wgsl.expected.ir.msl
index e8a8217..d94ba3a 100644
--- a/test/tint/bug/tint/1121.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1121.wgsl.expected.ir.msl
@@ -58,24 +58,24 @@
};
void tint_symbol_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint index = GlobalInvocationID[0u];
+ uint index = GlobalInvocationID.x;
if ((index >= (*tint_module_vars.config).numLights)) {
return;
}
- device float4* const v = (&(*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].position);
- float const v_1 = ((*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].position[1u] - 0.10000000149011611938f);
+ device float4* const v = (&(*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].position);
+ float const v_1 = ((*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].position.y - 0.10000000149011611938f);
float const v_2 = float(index);
- (*v)[1u] = (v_1 + (0.00100000004749745131f * (v_2 - (64.0f * floor((float(index) / 64.0f))))));
- if (((*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].position[1u] < (*tint_module_vars.uniforms).min[1u])) {
- (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].position[1u] = (*tint_module_vars.uniforms).max[1u];
+ (*v).y = (v_1 + (0.00100000004749745131f * (v_2 - (64.0f * floor((float(index) / 64.0f))))));
+ if (((*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].position.y < (*tint_module_vars.uniforms).min.y)) {
+ (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].position.y = (*tint_module_vars.uniforms).max.y;
}
float4x4 M = (*tint_module_vars.uniforms).projectionMatrix;
- float viewNear = (-(M[3u][2u]) / (-1.0f + M[2u][2u]));
- float viewFar = (-(M[3u][2u]) / (1.0f + M[2u][2u]));
- float4 lightPos = (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].position;
+ float viewNear = (-(M[3u].z) / (-1.0f + M[2u].z));
+ float viewFar = (-(M[3u].z) / (1.0f + M[2u].z));
+ float4 lightPos = (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].position;
lightPos = ((*tint_module_vars.uniforms).viewMatrix * lightPos);
- lightPos = (lightPos / lightPos[3u]);
- float lightRadius = (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].radius;
+ lightPos = (lightPos / lightPos.w);
+ float lightRadius = (*tint_module_vars.lightsBuffer).lights[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].radius;
float4 const v_3 = lightPos;
float4 boxMin = (v_3 - float4(float3(lightRadius), 0.0f));
float4 const v_4 = lightPos;
@@ -106,12 +106,12 @@
int2 const v_6 = tilePixel0Idx;
float2 const v_7 = (2.0f * float2(as_type<int2>((as_type<uint2>(v_6) + as_type<uint2>(int2(TILE_SIZE))))));
float2 ceilCoord = ((v_7 / (*tint_module_vars.uniforms).fullScreenSize.xy) - float2(1.0f));
- float2 viewFloorCoord = float2((((-(viewNear) * floorCoord[0u]) - (M[2u][0u] * viewNear)) / M[0u][0u]), (((-(viewNear) * floorCoord[1u]) - (M[2u][1u] * viewNear)) / M[1u][1u]));
- float2 viewCeilCoord = float2((((-(viewNear) * ceilCoord[0u]) - (M[2u][0u] * viewNear)) / M[0u][0u]), (((-(viewNear) * ceilCoord[1u]) - (M[2u][1u] * viewNear)) / M[1u][1u]));
- frustumPlanes[0u] = float4(1.0f, 0.0f, (-(viewFloorCoord[0u]) / viewNear), 0.0f);
- frustumPlanes[1u] = float4(-1.0f, 0.0f, (viewCeilCoord[0u] / viewNear), 0.0f);
- frustumPlanes[2u] = float4(0.0f, 1.0f, (-(viewFloorCoord[1u]) / viewNear), 0.0f);
- frustumPlanes[3u] = float4(0.0f, -1.0f, (viewCeilCoord[1u] / viewNear), 0.0f);
+ float2 viewFloorCoord = float2((((-(viewNear) * floorCoord.x) - (M[2u].x * viewNear)) / M[0u].x), (((-(viewNear) * floorCoord.y) - (M[2u].y * viewNear)) / M[1u].y));
+ float2 viewCeilCoord = float2((((-(viewNear) * ceilCoord.x) - (M[2u].x * viewNear)) / M[0u].x), (((-(viewNear) * ceilCoord.y) - (M[2u].y * viewNear)) / M[1u].y));
+ frustumPlanes[0u] = float4(1.0f, 0.0f, (-(viewFloorCoord.x) / viewNear), 0.0f);
+ frustumPlanes[1u] = float4(-1.0f, 0.0f, (viewCeilCoord.x / viewNear), 0.0f);
+ frustumPlanes[2u] = float4(0.0f, 1.0f, (-(viewFloorCoord.y) / viewNear), 0.0f);
+ frustumPlanes[3u] = float4(0.0f, -1.0f, (viewCeilCoord.y / viewNear), 0.0f);
float dp = 0.0f;
{
uint i = 0u;
@@ -121,22 +121,22 @@
break;
}
float4 p = 0.0f;
- if ((frustumPlanes[min(i, 5u)][0u] > 0.0f)) {
- p[0u] = boxMax[0u];
+ if ((frustumPlanes[min(i, 5u)].x > 0.0f)) {
+ p.x = boxMax.x;
} else {
- p[0u] = boxMin[0u];
+ p.x = boxMin.x;
}
- if ((frustumPlanes[min(i, 5u)][1u] > 0.0f)) {
- p[1u] = boxMax[1u];
+ if ((frustumPlanes[min(i, 5u)].y > 0.0f)) {
+ p.y = boxMax.y;
} else {
- p[1u] = boxMin[1u];
+ p.y = boxMin.y;
}
- if ((frustumPlanes[min(i, 5u)][2u] > 0.0f)) {
- p[2u] = boxMax[2u];
+ if ((frustumPlanes[min(i, 5u)].z > 0.0f)) {
+ p.z = boxMax.z;
} else {
- p[2u] = boxMin[2u];
+ p.z = boxMin.z;
}
- p[3u] = 1.0f;
+ p.w = 1.0f;
dp = (dp + min(0.0f, dot(p, frustumPlanes[min(i, 5u)])));
{
i = (i + 1u);
@@ -165,7 +165,7 @@
}
continue;
}
- (*tint_module_vars.tileLightId).data[min(tileId, 3u)].lightId[min(offset, 63u)] = GlobalInvocationID[0u];
+ (*tint_module_vars.tileLightId).data[min(tileId, 3u)].lightId[min(offset, 63u)] = GlobalInvocationID.x;
}
{
x = as_type<int>((as_type<uint>(x) + as_type<uint>(1)));
diff --git a/test/tint/bug/tint/1385.wgsl.expected.ir.msl b/test/tint/bug/tint/1385.wgsl.expected.ir.msl
index d733fd6..d8d941f 100644
--- a/test/tint/bug/tint/1385.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1385.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
};
int foo(tint_module_vars_struct tint_module_vars) {
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
return (*tint_module_vars.data)[min(uint(0), v)];
}
diff --git a/test/tint/bug/tint/1534.wgsl.expected.ir.msl b/test/tint/bug/tint/1534.wgsl.expected.ir.msl
index 1e5d050..e7bbc93 100644
--- a/test/tint/bug/tint/1534.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1534.wgsl.expected.ir.msl
@@ -28,12 +28,12 @@
};
uint tint_dot(uint3 lhs, uint3 rhs) {
- return (((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]);
+ return (((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z);
}
kernel void tint_symbol(const constant g_packed_vec3* i [[buffer(0)]], device h* j [[buffer(1)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.i=i, .j=j};
uint3 const v = uint3((*tint_module_vars.i).a);
uint const l = tint_dot(v, uint3((*tint_module_vars.i).a));
- (*tint_module_vars.j).a = (*tint_module_vars.i).a[0u];
+ (*tint_module_vars.j).a = (*tint_module_vars.i).a.x;
}
diff --git a/test/tint/bug/tint/1666.wgsl.expected.ir.msl b/test/tint/bug/tint/1666.wgsl.expected.ir.msl
index da19049..72fc61c 100644
--- a/test/tint/bug/tint/1666.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1666.wgsl.expected.ir.msl
@@ -36,7 +36,7 @@
void runtime_size_array(tint_module_vars_struct tint_module_vars) {
int const idx = -1;
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
float const x = (*tint_module_vars.rarr)[min(uint(idx), v)];
}
diff --git a/test/tint/bug/tint/1670.spvasm.expected.ir.msl b/test/tint/bug/tint/1670.spvasm.expected.ir.msl
index 4f3929b..dc4782d 100644
--- a/test/tint/bug/tint/1670.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/1670.spvasm.expected.ir.msl
@@ -9,17 +9,17 @@
float4x4 m4i = float4x4(0.0f);
float4x4 m4 = float4x4(0.0f);
float const s = (1.0f / determinant(m2));
- float2 const v = float2((s * m2[1u][1u]), (-(s) * m2[0u][1u]));
- m2i = float2x2(v, float2((-(s) * m2[1u][0u]), (s * m2[0u][0u])));
+ float2 const v = float2((s * m2[1u].y), (-(s) * m2[0u].y));
+ m2i = float2x2(v, float2((-(s) * m2[1u].x), (s * m2[0u].x)));
float const v_1 = (1.0f / determinant(m3));
- float3 const v_2 = float3(((m3[1u][1u] * m3[2u][2u]) - (m3[1u][2u] * m3[2u][1u])), ((m3[0u][2u] * m3[2u][1u]) - (m3[0u][1u] * m3[2u][2u])), ((m3[0u][1u] * m3[1u][2u]) - (m3[0u][2u] * m3[1u][1u])));
- float3 const v_3 = float3(((m3[1u][2u] * m3[2u][0u]) - (m3[1u][0u] * m3[2u][2u])), ((m3[0u][0u] * m3[2u][2u]) - (m3[0u][2u] * m3[2u][0u])), ((m3[0u][2u] * m3[1u][0u]) - (m3[0u][0u] * m3[1u][2u])));
- m3i = (v_1 * float3x3(v_2, v_3, float3(((m3[1u][0u] * m3[2u][1u]) - (m3[1u][1u] * m3[2u][0u])), ((m3[0u][1u] * m3[2u][0u]) - (m3[0u][0u] * m3[2u][1u])), ((m3[0u][0u] * m3[1u][1u]) - (m3[0u][1u] * m3[1u][0u])))));
+ float3 const v_2 = float3(((m3[1u].y * m3[2u].z) - (m3[1u].z * m3[2u].y)), ((m3[0u].z * m3[2u].y) - (m3[0u].y * m3[2u].z)), ((m3[0u].y * m3[1u].z) - (m3[0u].z * m3[1u].y)));
+ float3 const v_3 = float3(((m3[1u].z * m3[2u].x) - (m3[1u].x * m3[2u].z)), ((m3[0u].x * m3[2u].z) - (m3[0u].z * m3[2u].x)), ((m3[0u].z * m3[1u].x) - (m3[0u].x * m3[1u].z)));
+ m3i = (v_1 * float3x3(v_2, v_3, float3(((m3[1u].x * m3[2u].y) - (m3[1u].y * m3[2u].x)), ((m3[0u].y * m3[2u].x) - (m3[0u].x * m3[2u].y)), ((m3[0u].x * m3[1u].y) - (m3[0u].y * m3[1u].x)))));
float const v_4 = (1.0f / determinant(m4));
- float4 const v_5 = float4((((m4[1u][1u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[1u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) + (m4[1u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u])))) - (m4[0u][3u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u])))), (((m4[0u][1u] * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u])))) + (m4[0u][3u] * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u])))), (((-(m4[0u][1u]) * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) + (m4[0u][2u] * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u])))) - (m4[0u][3u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u])))));
- float4 const v_6 = float4((((-(m4[1u][0u]) * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) + (m4[1u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[1u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][2u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][2u]))) - (m4[0u][2u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][2u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][2u]))) + (m4[0u][2u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][2u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][2u]))) - (m4[0u][2u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u])))));
- float4 const v_7 = float4((((m4[1u][0u] * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) - (m4[1u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) + (m4[1u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[2u][1u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[2u][0u] * m4[3u][3u]) - (m4[2u][3u] * m4[3u][0u])))) - (m4[0u][3u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[3u][3u]) - (m4[1u][3u] * m4[3u][0u])))) + (m4[0u][3u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[2u][3u]) - (m4[1u][3u] * m4[2u][0u])))) - (m4[0u][3u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u])))));
- m4i = (v_4 * float4x4(v_5, v_6, v_7, float4((((-(m4[1u][0u]) * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) + (m4[1u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) - (m4[1u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[2u][1u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][1u]))) - (m4[0u][1u] * ((m4[2u][0u] * m4[3u][2u]) - (m4[2u][2u] * m4[3u][0u])))) + (m4[0u][2u] * ((m4[2u][0u] * m4[3u][1u]) - (m4[2u][1u] * m4[3u][0u])))), (((-(m4[0u][0u]) * ((m4[1u][1u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][1u]))) + (m4[0u][1u] * ((m4[1u][0u] * m4[3u][2u]) - (m4[1u][2u] * m4[3u][0u])))) - (m4[0u][2u] * ((m4[1u][0u] * m4[3u][1u]) - (m4[1u][1u] * m4[3u][0u])))), (((m4[0u][0u] * ((m4[1u][1u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][1u]))) - (m4[0u][1u] * ((m4[1u][0u] * m4[2u][2u]) - (m4[1u][2u] * m4[2u][0u])))) + (m4[0u][2u] * ((m4[1u][0u] * m4[2u][1u]) - (m4[1u][1u] * m4[2u][0u])))))));
+ float4 const v_5 = float4((((m4[1u].y * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[1u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) + (m4[1u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[0u].z * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y)))) - (m4[0u].w * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y)))), (((m4[0u].y * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) - (m4[0u].z * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y)))) + (m4[0u].w * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y)))), (((-(m4[0u].y) * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) + (m4[0u].z * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y)))) - (m4[0u].w * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y)))));
+ float4 const v_6 = float4((((-(m4[1u].x) * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) + (m4[1u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[1u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((m4[0u].x * ((m4[2u].z * m4[3u].w) - (m4[2u].w * m4[3u].z))) - (m4[0u].z * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[0u].w * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].z * m4[3u].w) - (m4[1u].w * m4[3u].z))) + (m4[0u].z * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) - (m4[0u].w * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))), (((m4[0u].x * ((m4[1u].z * m4[2u].w) - (m4[1u].w * m4[2u].z))) - (m4[0u].z * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) + (m4[0u].w * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))));
+ float4 const v_7 = float4((((m4[1u].x * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) - (m4[1u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) + (m4[1u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[2u].y * m4[3u].w) - (m4[2u].w * m4[3u].y))) + (m4[0u].y * ((m4[2u].x * m4[3u].w) - (m4[2u].w * m4[3u].x)))) - (m4[0u].w * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[3u].w) - (m4[1u].w * m4[3u].y))) - (m4[0u].y * ((m4[1u].x * m4[3u].w) - (m4[1u].w * m4[3u].x)))) + (m4[0u].w * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[2u].w) - (m4[1u].w * m4[2u].y))) + (m4[0u].y * ((m4[1u].x * m4[2u].w) - (m4[1u].w * m4[2u].x)))) - (m4[0u].w * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))));
+ m4i = (v_4 * float4x4(v_5, v_6, v_7, float4((((-(m4[1u].x) * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) + (m4[1u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) - (m4[1u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((m4[0u].x * ((m4[2u].y * m4[3u].z) - (m4[2u].z * m4[3u].y))) - (m4[0u].y * ((m4[2u].x * m4[3u].z) - (m4[2u].z * m4[3u].x)))) + (m4[0u].z * ((m4[2u].x * m4[3u].y) - (m4[2u].y * m4[3u].x)))), (((-(m4[0u].x) * ((m4[1u].y * m4[3u].z) - (m4[1u].z * m4[3u].y))) + (m4[0u].y * ((m4[1u].x * m4[3u].z) - (m4[1u].z * m4[3u].x)))) - (m4[0u].z * ((m4[1u].x * m4[3u].y) - (m4[1u].y * m4[3u].x)))), (((m4[0u].x * ((m4[1u].y * m4[2u].z) - (m4[1u].z * m4[2u].y))) - (m4[0u].y * ((m4[1u].x * m4[2u].z) - (m4[1u].z * m4[2u].x)))) + (m4[0u].z * ((m4[1u].x * m4[2u].y) - (m4[1u].y * m4[2u].x)))))));
}
fragment void tint_symbol() {
diff --git a/test/tint/bug/tint/1703.wgsl.expected.ir.msl b/test/tint/bug/tint/1703.wgsl.expected.ir.msl
index 3fa03a0..9e12d61 100644
--- a/test/tint/bug/tint/1703.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1703.wgsl.expected.ir.msl
@@ -10,20 +10,20 @@
void foo_member_initialize(tint_module_vars_struct tint_module_vars) {
bool2 vb2 = false;
- vb2[0u] = ((*tint_module_vars.my_global)[2u] != 0.0f);
- vb2[0u] = ((*tint_module_vars.my_uniform) == -1.0f);
+ vb2.x = ((*tint_module_vars.my_global).z != 0.0f);
+ vb2.x = ((*tint_module_vars.my_uniform) == -1.0f);
vb2 = bool2(((*tint_module_vars.my_uniform) == -1.0f), false);
- if (vb2[0u]) {
+ if (vb2.x) {
float4 const r = tint_module_vars.my_texture.sample(tint_module_vars.my_sampler, float2(0.0f), bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
}
}
void foo_default_initialize(tint_module_vars_struct tint_module_vars) {
bool2 vb2 = false;
- vb2[0u] = ((*tint_module_vars.my_global)[2u] != 0.0f);
- vb2[0u] = ((*tint_module_vars.my_uniform) == -1.0f);
+ vb2.x = ((*tint_module_vars.my_global).z != 0.0f);
+ vb2.x = ((*tint_module_vars.my_uniform) == -1.0f);
vb2 = bool2(false);
- if (vb2[0u]) {
+ if (vb2.x) {
float4 const r = tint_module_vars.my_texture.sample(tint_module_vars.my_sampler, float2(0.0f), bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
}
}
diff --git a/test/tint/bug/tint/1725.wgsl.expected.ir.msl b/test/tint/bug/tint/1725.wgsl.expected.ir.msl
index 9789df9..aaada1c 100644
--- a/test/tint/bug/tint/1725.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1725.wgsl.expected.ir.msl
@@ -22,7 +22,7 @@
int const tint_symbol_3 = 0;
int const tint_symbol_4 = 0;
int const tint_symbol_5 = 0;
- uint const tint_symbol_6 = (*tint_module_vars.tint_symbol)[min(tint_symbol_2, (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u))];
+ uint const tint_symbol_6 = (*tint_module_vars.tint_symbol)[min(tint_symbol_2, (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u))];
}
kernel void tint_symbol_1(uint tint_symbol_2 [[thread_index_in_threadgroup]], const device tint_array<uint, 1>* tint_symbol [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/bug/tint/1739.wgsl.expected.ir.msl b/test/tint/bug/tint/1739.wgsl.expected.ir.msl
index af2898a..1a9e269 100644
--- a/test/tint/bug/tint/1739.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1739.wgsl.expected.ir.msl
@@ -84,9 +84,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/bug/tint/1776.spvasm.expected.ir.msl b/test/tint/bug/tint/1776.spvasm.expected.ir.msl
index 6f9c015..22d11dd 100644
--- a/test/tint/bug/tint/1776.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/1776.spvasm.expected.ir.msl
@@ -29,7 +29,7 @@
};
void main_1(tint_module_vars_struct tint_module_vars) {
- uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u);
+ uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u);
S const x_18 = (*tint_module_vars.sb).inner[min(uint(1), v)];
}
diff --git a/test/tint/bug/tint/1776.wgsl.expected.ir.msl b/test/tint/bug/tint/1776.wgsl.expected.ir.msl
index 86fd70f..845b8f8 100644
--- a/test/tint/bug/tint/1776.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1776.wgsl.expected.ir.msl
@@ -26,6 +26,6 @@
kernel void tint_symbol(const device tint_array<S, 1>* sb [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb=sb, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 32u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 32u) - 1u);
S const x = (*tint_module_vars.sb)[min(uint(1), v)];
}
diff --git a/test/tint/bug/tint/1875.wgsl.expected.ir.msl b/test/tint/bug/tint/1875.wgsl.expected.ir.msl
index 5670822..e772cca 100644
--- a/test/tint/bug/tint/1875.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1875.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
void push_output(uint value, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.outputs).data[min((*tint_module_vars.count), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))] = value;
+ (*tint_module_vars.outputs).data[min((*tint_module_vars.count), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))] = value;
(*tint_module_vars.count) = ((*tint_module_vars.count) + 1u);
}
diff --git a/test/tint/bug/tint/1926.wgsl.expected.ir.msl b/test/tint/bug/tint/1926.wgsl.expected.ir.msl
index efa0b111..57ed80c 100644
--- a/test/tint/bug/tint/1926.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1926.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
uint const v = (*tint_module_vars.sh_atomic_failed);
threadgroup_barrier(mem_flags::mem_threadgroup);
uint const failed = v;
- if ((local_id[0u] == 0u)) {
+ if ((local_id.x == 0u)) {
(*tint_module_vars.output) = failed;
}
}
diff --git a/test/tint/bug/tint/1976.wgsl.expected.ir.msl b/test/tint/bug/tint/1976.wgsl.expected.ir.msl
index 3f40776..c1337fd 100644
--- a/test/tint/bug/tint/1976.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/1976.wgsl.expected.ir.msl
@@ -25,5 +25,5 @@
kernel void tint_symbol(texture2d_ms<float, access::read> texture0 [[texture(0)]], device Results* results [[buffer(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.texture0=texture0, .results=results};
uint2 const v = (uint2(tint_module_vars.texture0.get_width(), tint_module_vars.texture0.get_height()) - uint2(1u));
- (*tint_module_vars.results).colorSamples[0u] = tint_module_vars.texture0.read(min(uint2(int2(0)), v), 0)[0u];
+ (*tint_module_vars.results).colorSamples[0u] = tint_module_vars.texture0.read(min(uint2(int2(0)), v), 0).x;
}
diff --git a/test/tint/bug/tint/2010.spvasm.expected.ir.msl b/test/tint/bug/tint/2010.spvasm.expected.ir.msl
index c9fa8dc..2d78c67 100644
--- a/test/tint/bug/tint/2010.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/2010.spvasm.expected.ir.msl
@@ -63,7 +63,7 @@
uint x_58 = 0u;
float4 x_85 = 0.0f;
uint x_88 = 0u;
- uint const x_52 = (*tint_module_vars.x_3)[0u];
+ uint const x_52 = (*tint_module_vars.x_3).x;
x_54 = 0u;
{
while(true) {
@@ -76,7 +76,7 @@
}
uint const x_62 = (x_54 + x_52);
if ((x_62 >= x_58)) {
- float4 const x_67 = (*tint_module_vars.x_9).field0[min(x_62, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 16u) - 1u))];
+ float4 const x_67 = (*tint_module_vars.x_9).field0[min(x_62, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 16u) - 1u))];
(*tint_module_vars.x_28)[min(x_62, 4095u)] = S{.field0=((x_67.xy + x_67.zw) * 0.5f), .field1=x_62};
}
{
@@ -91,9 +91,9 @@
float2 const x_76 = (*tint_module_vars.x_28)[0u].field0;
if ((x_52 == 0u)) {
uint2 const x_80 = as_type<uint2>(x_76);
- uint const x_81 = x_80[0u];
+ uint const x_81 = x_80.x;
atomic_store_explicit(tint_module_vars.x_34, x_81, memory_order_relaxed);
- uint const x_82 = x_80[1u];
+ uint const x_82 = x_80.y;
atomic_store_explicit(tint_module_vars.x_35, x_82, memory_order_relaxed);
atomic_store_explicit(tint_module_vars.x_36, x_81, memory_order_relaxed);
atomic_store_explicit(tint_module_vars.x_37, x_82, memory_order_relaxed);
@@ -117,16 +117,16 @@
float2 const x_99 = (*tint_module_vars.x_28)[min(x_94, 4095u)].field0;
float2 const x_101 = min(x_85.xy, x_99);
float4 x_103_1 = x_85;
- x_103_1[0u] = x_101[0u];
+ x_103_1.x = x_101.x;
float4 const x_103 = x_103_1;
float4 x_105_1 = x_103;
- x_105_1[1u] = x_101[1u];
+ x_105_1.y = x_101.y;
float4 const x_105 = x_105_1;
float2 const x_107 = max(x_105_1.zw, x_99);
float4 x_109_1 = x_105;
- x_109_1[2u] = x_107[0u];
+ x_109_1.z = x_107.x;
x_111 = x_109_1;
- x_111[3u] = x_107[1u];
+ x_111.w = x_107.y;
x_86 = x_111;
}
{
@@ -138,12 +138,12 @@
}
}
threadgroup_barrier(mem_flags::mem_threadgroup);
- uint const x_114 = atomic_fetch_min_explicit(tint_module_vars.x_34, as_type<uint>(x_85[0u]), memory_order_relaxed);
- uint const x_117 = atomic_fetch_min_explicit(tint_module_vars.x_35, as_type<uint>(x_85[1u]), memory_order_relaxed);
- uint const x_120 = atomic_fetch_max_explicit(tint_module_vars.x_36, as_type<uint>(x_85[2u]), memory_order_relaxed);
- uint const x_123 = atomic_fetch_max_explicit(tint_module_vars.x_37, as_type<uint>(x_85[3u]), memory_order_relaxed);
+ uint const x_114 = atomic_fetch_min_explicit(tint_module_vars.x_34, as_type<uint>(x_85.x), memory_order_relaxed);
+ uint const x_117 = atomic_fetch_min_explicit(tint_module_vars.x_35, as_type<uint>(x_85.y), memory_order_relaxed);
+ uint const x_120 = atomic_fetch_max_explicit(tint_module_vars.x_36, as_type<uint>(x_85.z), memory_order_relaxed);
+ uint const x_123 = atomic_fetch_max_explicit(tint_module_vars.x_37, as_type<uint>(x_85.w), memory_order_relaxed);
threadgroup_barrier(mem_flags::mem_threadgroup);
- uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 16u) - 1u);
+ uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 16u) - 1u);
device float4* const v_1 = (&(*tint_module_vars.x_12).field0[min(uint(0), v)]);
(*v_1) = float4(as_type<float>(atomic_load_explicit(tint_module_vars.x_34, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_35, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_36, memory_order_relaxed)), as_type<float>(atomic_load_explicit(tint_module_vars.x_37, memory_order_relaxed)));
}
diff --git a/test/tint/bug/tint/2100.wgsl.expected.ir.msl b/test/tint/bug/tint/2100.wgsl.expected.ir.msl
index 445ec49..363edb8 100644
--- a/test/tint/bug/tint/2100.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/2100.wgsl.expected.ir.msl
@@ -32,7 +32,7 @@
};
float4 tint_symbol_1_inner(tint_module_vars_struct tint_module_vars) {
- float const x = (*tint_module_vars.tint_symbol).matrix_view[0u][2u];
+ float const x = (*tint_module_vars.tint_symbol).matrix_view[0u].z;
return float4(x, 0.0f, 0.0f, 1.0f);
}
diff --git a/test/tint/bug/tint/2146.wgsl.expected.ir.msl b/test/tint/bug/tint/2146.wgsl.expected.ir.msl
index 58faffb..871f9b2 100644
--- a/test/tint/bug/tint/2146.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/2146.wgsl.expected.ir.msl
@@ -10,11 +10,11 @@
};
uint globalId2Index(tint_module_vars_struct tint_module_vars) {
- return (*tint_module_vars.globalId)[0u];
+ return (*tint_module_vars.globalId).x;
}
kernel void tint_symbol() {
half4 a = half4(0.0h);
half const b = 1.0h;
- a[0u] = (a[0u] + b);
+ a.x = (a.x + b);
}
diff --git a/test/tint/bug/tint/2177.wgsl.expected.ir.msl b/test/tint/bug/tint/2177.wgsl.expected.ir.msl
index 8d5d560..e0362eb 100644
--- a/test/tint/bug/tint/2177.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/2177.wgsl.expected.ir.msl
@@ -32,7 +32,7 @@
kernel void tint_symbol(device tint_array<uint, 1>* arr [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arr=arr, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
device uint* const v_1 = (&(*tint_module_vars.arr)[min(uint(0), v)]);
- (*v_1) = f0(tint_module_vars.arr, ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u));
+ (*v_1) = f0(tint_module_vars.arr, ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u));
}
diff --git a/test/tint/bug/tint/219.spvasm.expected.ir.msl b/test/tint/bug/tint/219.spvasm.expected.ir.msl
index 5f841b0..53df62a 100644
--- a/test/tint/bug/tint/219.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/219.spvasm.expected.ir.msl
@@ -2,7 +2,7 @@
using namespace metal;
float x_200(thread float2* const x_201) {
- float const x_212 = (*x_201)[0u];
+ float const x_212 = (*x_201).x;
return x_212;
}
diff --git a/test/tint/bug/tint/349310442.wgsl.expected.ir.msl b/test/tint/bug/tint/349310442.wgsl.expected.ir.msl
index df96959..fdf7ad3 100644
--- a/test/tint/bug/tint/349310442.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/349310442.wgsl.expected.ir.msl
@@ -83,9 +83,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/bug/tint/379127084.wgsl.expected.ir.msl b/test/tint/bug/tint/379127084.wgsl.expected.ir.msl
index d51431e..021e2ef 100644
--- a/test/tint/bug/tint/379127084.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/379127084.wgsl.expected.ir.msl
@@ -69,29 +69,29 @@
};
void _skslMain(FSIn _stageIn, thread FSOut* const _stageOut, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.shadingSsboIndex) = _stageIn.ssboIndicesVar[1u];
- int const _56_d = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].noiseType_1;
- float2 _57_k = float2(((_stageIn.localCoordsVar + 0.5f) * (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].baseFrequency_1));
+ (*tint_module_vars.shadingSsboIndex) = _stageIn.ssboIndicesVar.y;
+ int const _56_d = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].noiseType_1;
+ float2 _57_k = float2(((_stageIn.localCoordsVar + 0.5f) * (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].baseFrequency_1));
float4 _58_l = float4(0.0f);
- float2 _59_m = float2((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].stitchData_1);
+ float2 _59_m = float2((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].stitchData_1);
float _60_n = 1.0f;
int _61_o = 0;
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
- if ((_61_o < (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].numOctaves_1)) {
+ if ((_61_o < (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].numOctaves_1)) {
float4 _62_f = 0.0f;
float2 const _skTemp2 = floor(_57_k);
_62_f = float4(_skTemp2, _62_f.zw);
_62_f = float4(_62_f.xy, (_62_f.xy + float2(1.0f)));
- if (bool((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].stitching_1)) {
+ if (bool((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].stitching_1)) {
float4 const _skTemp3 = step(_59_m.xyxy, _62_f);
_62_f = (_62_f - (_skTemp3 * _59_m.xyxy));
}
- float2 const v = float2(float2(((_62_f[0u] + 0.5f) * 0.00390625f), 0.5f));
- float const _63_g = tint_module_vars.permutationsSampler_1_Texture.sample(tint_module_vars.permutationsSampler_1_Sampler, v, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)))[0u];
- float2 const v_1 = float2(float2(((_62_f[2u] + 0.5f) * 0.00390625f), 0.5f));
- float const _64_h = tint_module_vars.permutationsSampler_1_Texture.sample(tint_module_vars.permutationsSampler_1_Sampler, v_1, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)))[0u];
+ float2 const v = float2(float2(((_62_f.x + 0.5f) * 0.00390625f), 0.5f));
+ float const _63_g = tint_module_vars.permutationsSampler_1_Texture.sample(tint_module_vars.permutationsSampler_1_Sampler, v, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f))).x;
+ float2 const v_1 = float2(float2(((_62_f.z + 0.5f) * 0.00390625f), 0.5f));
+ float const _64_h = tint_module_vars.permutationsSampler_1_Texture.sample(tint_module_vars.permutationsSampler_1_Sampler, v_1, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f))).x;
float2 _65_i = float2(_63_g, _64_h);
if (false) {
float2 const _skTemp4 = floor(((_65_i * float2(255.0f)) + float2(0.5f)));
@@ -110,35 +110,35 @@
while(true) {
TINT_ISOLATE_UB(tint_volatile_false_1)
float const _73_i = ((float(_72_h) + 0.5f) * 0.25f);
- float const v_2 = float(_67_p[0u]);
+ float const v_2 = float(_67_p.x);
float2 const v_3 = float2(v_2, float(_73_i));
float4 const _74_j = tint_module_vars.noiseSampler_1_Texture.sample(tint_module_vars.noiseSampler_1_Sampler, v_3, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)));
- float const v_4 = float(_67_p[1u]);
+ float const v_4 = float(_67_p.y);
float2 const v_5 = float2(v_4, float(_73_i));
float4 const _75_k = tint_module_vars.noiseSampler_1_Texture.sample(tint_module_vars.noiseSampler_1_Sampler, v_5, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)));
- float const v_6 = float(_67_p[3u]);
+ float const v_6 = float(_67_p.w);
float2 const v_7 = float2(v_6, float(_73_i));
float4 const _76_l = tint_module_vars.noiseSampler_1_Texture.sample(tint_module_vars.noiseSampler_1_Sampler, v_7, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)));
- float const v_8 = float(_67_p[2u]);
+ float const v_8 = float(_67_p.z);
float2 const v_9 = float2(v_8, float(_73_i));
float4 const _77_m = tint_module_vars.noiseSampler_1_Texture.sample(tint_module_vars.noiseSampler_1_Sampler, v_9, bias(clamp(-0.47499999403953552246f, -16.0f, 15.9899997711181640625f)));
float2 _78_n = _68_d;
float const _skTemp7 = dot((((_74_j.yw + (_74_j.xz * 0.00390625f)) * 2.0f) - 1.0f), _78_n);
float _79_o = _skTemp7;
- _78_n[0u] = (_78_n[0u] - 1.0f);
+ _78_n.x = (_78_n.x - 1.0f);
float const _skTemp8 = dot((((_75_k.yw + (_75_k.xz * 0.00390625f)) * 2.0f) - 1.0f), _78_n);
float _80_p = _skTemp8;
- float const _skTemp9 = mix(_79_o, _80_p, _69_e[0u]);
+ float const _skTemp9 = mix(_79_o, _80_p, _69_e.x);
float const _81_q = _skTemp9;
- _78_n[1u] = (_78_n[1u] - 1.0f);
+ _78_n.y = (_78_n.y - 1.0f);
float const _skTemp10 = dot((((_76_l.yw + (_76_l.xz * 0.00390625f)) * 2.0f) - 1.0f), _78_n);
_80_p = _skTemp10;
- _78_n[0u] = (_78_n[0u] + 1.0f);
+ _78_n.x = (_78_n.x + 1.0f);
float const _skTemp11 = dot((((_77_m.yw + (_77_m.xz * 0.00390625f)) * 2.0f) - 1.0f), _78_n);
_79_o = _skTemp11;
- float const _skTemp12 = mix(_79_o, _80_p, _69_e[0u]);
+ float const _skTemp12 = mix(_79_o, _80_p, _69_e.x);
float const _82_r = _skTemp12;
- float const _skTemp13 = mix(_81_q, _82_r, _69_e[1u]);
+ float const _skTemp13 = mix(_81_q, _82_r, _69_e.y);
_71_g[min(uint(_72_h), 3u)] = _skTemp13;
{
_72_h = as_type<int>((as_type<uint>(_72_h) + as_type<uint>(1)));
@@ -171,62 +171,62 @@
float4 const _skTemp15 = saturate(_58_l);
_58_l = _skTemp15;
float3 const v_10 = float3(_58_l.xyz);
- float3 const v_11 = float3((v_10 * float(_58_l[3u])));
- float const _skTemp16 = dot(float3(0.21259999275207519531f, 0.71520000696182250977f, 0.07220000028610229492f), float4(v_11, float(float(_58_l[3u]))).xyz);
+ float3 const v_11 = float3((v_10 * float(_58_l.w)));
+ float const _skTemp16 = dot(float3(0.21259999275207519531f, 0.71520000696182250977f, 0.07220000028610229492f), float4(v_11, float(float(_58_l.w))).xyz);
float const _skTemp17 = saturate(_skTemp16);
float4 _84_a = float4(0.0f, 0.0f, 0.0f, _skTemp17);
- int const _85_d = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].inHSL_4;
+ int const _85_d = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].inHSL_4;
if (bool(_85_d)) {
float4 _skTemp18 = 0.0f;
- if ((_84_a[1u] < _84_a[2u])) {
+ if ((_84_a.y < _84_a.z)) {
_skTemp18 = float4(_84_a.zy, -1.0f, 0.6666666865348815918f);
} else {
_skTemp18 = float4(_84_a.yz, 0.0f, -0.3333333432674407959f);
}
float4 const _86_e = _skTemp18;
float4 _skTemp19 = 0.0f;
- if ((_84_a[0u] < _86_e[0u])) {
- _skTemp19 = float4(_86_e[0u], _84_a[0u], _86_e.yw);
+ if ((_84_a.x < _86_e.x)) {
+ _skTemp19 = float4(_86_e.x, _84_a.x, _86_e.yw);
} else {
- _skTemp19 = float4(_84_a[0u], _86_e[0u], _86_e.yz);
+ _skTemp19 = float4(_84_a.x, _86_e.x, _86_e.yz);
}
float4 const _87_f = _skTemp19;
- float const _88_h = _87_f[0u];
- float const _skTemp20 = min(_87_f[1u], _87_f[2u]);
+ float const _88_h = _87_f.x;
+ float const _skTemp20 = min(_87_f.y, _87_f.z);
float const _89_i = (_88_h - _skTemp20);
float const _90_j = (_88_h - (_89_i * 0.5f));
- float const _skTemp21 = abs((_87_f[3u] + ((_87_f[1u] - _87_f[2u]) / ((_89_i * 6.0f) + 0.00009999999747378752f))));
+ float const _skTemp21 = abs((_87_f.w + ((_87_f.y - _87_f.z) / ((_89_i * 6.0f) + 0.00009999999747378752f))));
float const _91_k = _skTemp21;
- float const _skTemp22 = abs(((_90_j * 2.0f) - _84_a[3u]));
- float const _92_l = (_89_i / ((_84_a[3u] + 0.00009999999747378752f) - _skTemp22));
- float const _93_m = (_90_j / (_84_a[3u] + 0.00009999999747378752f));
- _84_a = float4(_91_k, _92_l, _93_m, _84_a[3u]);
+ float const _skTemp22 = abs(((_90_j * 2.0f) - _84_a.w));
+ float const _92_l = (_89_i / ((_84_a.w + 0.00009999999747378752f) - _skTemp22));
+ float const _93_m = (_90_j / (_84_a.w + 0.00009999999747378752f));
+ _84_a = float4(_91_k, _92_l, _93_m, _84_a.w);
} else {
- float const _skTemp23 = max(_84_a[3u], 0.00009999999747378752f);
- _84_a = float4((_84_a.xyz / _skTemp23), _84_a[3u]);
+ float const _skTemp23 = max(_84_a.w, 0.00009999999747378752f);
+ _84_a = float4((_84_a.xyz / _skTemp23), _84_a.w);
}
- float4x4 const v_12 = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].matrix_4;
+ float4x4 const v_12 = (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].matrix_4;
float4 const v_13 = (v_12 * float4(_84_a));
- float4 _94_f = float4((v_13 + (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].translate_4));
+ float4 _94_f = float4((v_13 + (*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].translate_4));
if (bool(_85_d)) {
- float const _skTemp24 = abs(((2.0f * _94_f[2u]) - 1.0f));
- float const _95_b = ((1.0f - _skTemp24) * _94_f[1u]);
+ float const _skTemp24 = abs(((2.0f * _94_f.z) - 1.0f));
+ float const _95_b = ((1.0f - _skTemp24) * _94_f.y);
float3 const _96_c = (_94_f.xxx + float3(0.0f, 0.6666666865348815918f, 0.3333333432674407959f));
float3 const _skTemp25 = fract(_96_c);
float3 const _skTemp26 = abs(((_skTemp25 * 6.0f) - 3.0f));
float3 const _skTemp27 = saturate((_skTemp26 - 1.0f));
float3 const _97_d = _skTemp27;
- float4 const _skTemp28 = saturate(float4(((((_97_d - 0.5f) * _95_b) + _94_f[2u]) * _94_f[3u]), _94_f[3u]));
+ float4 const _skTemp28 = saturate(float4(((((_97_d - 0.5f) * _95_b) + _94_f.z) * _94_f.w), _94_f.w));
_94_f = _skTemp28;
} else {
- if (bool((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].clampRGB_4)) {
+ if (bool((*tint_module_vars._storage1).fsUniformData[min((*tint_module_vars.shadingSsboIndex), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].clampRGB_4)) {
float4 const _skTemp29 = saturate(_94_f);
_94_f = _skTemp29;
} else {
- float const _skTemp30 = saturate(_94_f[3u]);
- _94_f[3u] = _skTemp30;
+ float const _skTemp30 = saturate(_94_f.w);
+ _94_f.w = _skTemp30;
}
- _94_f = float4((_94_f.xyz * _94_f[3u]), _94_f[3u]);
+ _94_f = float4((_94_f.xyz * _94_f.w), _94_f.w);
}
float4 const outColor_0 = _94_f;
(*_stageOut).sk_FragColor = outColor_0;
diff --git a/test/tint/bug/tint/379684039-2.wgsl.expected.ir.msl b/test/tint/bug/tint/379684039-2.wgsl.expected.ir.msl
index 971542e..d0850f4 100644
--- a/test/tint/bug/tint/379684039-2.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/379684039-2.wgsl.expected.ir.msl
@@ -36,7 +36,7 @@
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
- if ((tint_symbol_1[1u] >= (*tint_module_vars._storage).fsUniformData[min((*tint_module_vars.idx), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 128u) - 1u))].size[1u])) {
+ if ((tint_symbol_1.y >= (*tint_module_vars._storage).fsUniformData[min((*tint_module_vars.idx), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 128u) - 1u))].size.y)) {
break;
}
{
diff --git a/test/tint/bug/tint/379684039.wgsl.expected.ir.msl b/test/tint/bug/tint/379684039.wgsl.expected.ir.msl
index 1c42658..f4a0b35 100644
--- a/test/tint/bug/tint/379684039.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/379684039.wgsl.expected.ir.msl
@@ -13,10 +13,10 @@
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
- if ((tint_symbol_1[1u] >= (*tint_module_vars._storage)[1u])) {
+ if ((tint_symbol_1.y >= (*tint_module_vars._storage).y)) {
break;
}
- if ((tint_symbol_1[1u] >= 0)) {
+ if ((tint_symbol_1.y >= 0)) {
break;
}
{
diff --git a/test/tint/bug/tint/403.wgsl.expected.ir.msl b/test/tint/bug/tint/403.wgsl.expected.ir.msl
index 355675a..06a7de6 100644
--- a/test/tint/bug/tint/403.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/403.wgsl.expected.ir.msl
@@ -38,7 +38,7 @@
indexable = tint_array<float2, 3>{float2(-1.0f, 1.0f), float2(1.0f), float2(-1.0f)};
float2 const x_51 = indexable[min(x_46, 2u)];
float2 const x_52 = (float2x2((x_23[0u] + x_28[0u]), (x_23[1u] + x_28[1u])) * x_51);
- return float4(x_52[0u], x_52[1u], 0.0f, 1.0f);
+ return float4(x_52.x, x_52.y, 0.0f, 1.0f);
}
vertex tint_symbol_outputs tint_symbol(uint gl_VertexIndex [[vertex_id]], const constant vertexUniformBuffer1* x_20 [[buffer(0)]], const constant vertexUniformBuffer2* x_26 [[buffer(1)]]) {
diff --git a/test/tint/bug/tint/413.spvasm.expected.ir.msl b/test/tint/bug/tint/413.spvasm.expected.ir.msl
index 28ac06d..7e0712c 100644
--- a/test/tint/bug/tint/413.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/413.spvasm.expected.ir.msl
@@ -11,7 +11,7 @@
uint const v = min(uint(0), (tint_module_vars.Src.get_num_mip_levels() - 1u));
uint2 const v_1 = (uint2(tint_module_vars.Src.get_width(v), tint_module_vars.Src.get_height(v)) - uint2(1u));
srcValue = tint_module_vars.Src.read(min(uint2(int2(0)), v_1), v);
- srcValue[0u] = (srcValue[0u] + 1u);
+ srcValue.x = (srcValue.x + 1u);
uint4 const x_27 = srcValue;
tint_module_vars.Dst.write(x_27, uint2(int2(0)));
}
diff --git a/test/tint/bug/tint/453.wgsl.expected.ir.msl b/test/tint/bug/tint/453.wgsl.expected.ir.msl
index ea9b4f4..e563e8e 100644
--- a/test/tint/bug/tint/453.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/453.wgsl.expected.ir.msl
@@ -13,7 +13,7 @@
uint2 const v_1 = (uint2(tint_module_vars.Src.get_width(v), tint_module_vars.Src.get_height(v)) - uint2(1u));
uint4 const x_22 = tint_module_vars.Src.read(min(uint2(int2(0)), v_1), v);
srcValue = x_22;
- uint const x_24 = srcValue[0u];
+ uint const x_24 = srcValue.x;
uint const x_25 = (x_24 + 1u);
uint4 const x_27 = srcValue;
tint_module_vars.Dst.write(x_27.xxxx, uint2(int2(0)));
diff --git a/test/tint/bug/tint/534.wgsl.expected.ir.msl b/test/tint/bug/tint/534.wgsl.expected.ir.msl
index 9dff06c..ff82816 100644
--- a/test/tint/bug/tint/534.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/534.wgsl.expected.ir.msl
@@ -48,7 +48,7 @@
uint2 dstTexCoord = GlobalInvocationID.xy;
uint2 srcTexCoord = dstTexCoord;
if (((*tint_module_vars.uniforms).dstTextureFlipY == 1u)) {
- srcTexCoord[1u] = ((size[1u] - dstTexCoord[1u]) - 1u);
+ srcTexCoord.y = ((size.y - dstTexCoord.y) - 1u);
}
uint2 const v = srcTexCoord;
uint const v_1 = min(uint(0), (tint_module_vars.src.get_num_mip_levels() - 1u));
@@ -82,11 +82,11 @@
continue;
}
}
- uint outputIndex = ((GlobalInvocationID[1u] * uint(size[0u])) + GlobalInvocationID[0u]);
+ uint outputIndex = ((GlobalInvocationID.y * uint(size.x)) + GlobalInvocationID.x);
if (success) {
- (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))] = 1u;
+ (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))] = 1u;
} else {
- (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))] = 0u;
+ (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))] = 0u;
}
}
diff --git a/test/tint/bug/tint/744.wgsl.expected.ir.msl b/test/tint/bug/tint/744.wgsl.expected.ir.msl
index 029f76b..1c87c10 100644
--- a/test/tint/bug/tint/744.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/744.wgsl.expected.ir.msl
@@ -32,9 +32,9 @@
};
void tint_symbol_inner(uint3 global_id, tint_module_vars_struct tint_module_vars) {
- uint2 const resultCell = uint2(global_id[1u], global_id[0u]);
- uint const dimInner = (*tint_module_vars.uniforms).aShape[1u];
- uint const dimOutter = (*tint_module_vars.uniforms).outShape[1u];
+ uint2 const resultCell = uint2(global_id.y, global_id.x);
+ uint const dimInner = (*tint_module_vars.uniforms).aShape.y;
+ uint const dimOutter = (*tint_module_vars.uniforms).outShape.y;
uint result = 0u;
{
uint i = 0u;
@@ -43,17 +43,17 @@
} else {
break;
}
- uint const a = (i + (resultCell[0u] * dimInner));
- uint const b = (resultCell[1u] + (i * dimOutter));
- result = (result + ((*tint_module_vars.firstMatrix).numbers[min(a, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))] * (*tint_module_vars.secondMatrix).numbers[min(b, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))]));
+ uint const a = (i + (resultCell.x * dimInner));
+ uint const b = (resultCell.y + (i * dimOutter));
+ result = (result + ((*tint_module_vars.firstMatrix).numbers[min(a, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))] * (*tint_module_vars.secondMatrix).numbers[min(b, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))]));
{
i = (i + 1u);
}
continue;
}
}
- uint const index = (resultCell[1u] + (resultCell[0u] * dimOutter));
- (*tint_module_vars.resultMatrix).numbers[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u))] = result;
+ uint const index = (resultCell.y + (resultCell.x * dimOutter));
+ (*tint_module_vars.resultMatrix).numbers[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u))] = result;
}
kernel void tint_symbol(uint3 global_id [[thread_position_in_grid]], const device Matrix* firstMatrix [[buffer(2)]], const device Matrix* secondMatrix [[buffer(3)]], device Matrix* resultMatrix [[buffer(1)]], const constant Uniforms* uniforms [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/bug/tint/757.wgsl.expected.ir.msl b/test/tint/bug/tint/757.wgsl.expected.ir.msl
index 1a31b47..c9e354c 100644
--- a/test/tint/bug/tint/757.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/757.wgsl.expected.ir.msl
@@ -29,7 +29,7 @@
};
void tint_symbol_inner(uint3 GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint flatIndex = (((4u * GlobalInvocationID[2u]) + (2u * GlobalInvocationID[1u])) + GlobalInvocationID[0u]);
+ uint flatIndex = (((4u * GlobalInvocationID.z) + (2u * GlobalInvocationID.y)) + GlobalInvocationID.x);
flatIndex = (flatIndex * 1u);
int2 const v = int2(GlobalInvocationID.xy);
uint const v_1 = min(uint(0), (tint_module_vars.myTexture.get_array_size() - 1u));
@@ -43,7 +43,7 @@
} else {
break;
}
- (*tint_module_vars.result).values[min((flatIndex + i), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))] = texel[0u];
+ (*tint_module_vars.result).values[min((flatIndex + i), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))] = texel.x;
{
i = (i + 1u);
}
diff --git a/test/tint/bug/tint/764.wgsl.expected.ir.msl b/test/tint/bug/tint/764.wgsl.expected.ir.msl
index 080c0b8..c97f455 100644
--- a/test/tint/bug/tint/764.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/764.wgsl.expected.ir.msl
@@ -4,5 +4,5 @@
void f() {
float4x4 const m = float4x4(float4(1.0f), float4(1.0f), float4(1.0f), float4(1.0f));
float4 const v1 = m[0u];
- float const a = v1[0u];
+ float const a = v1.x;
}
diff --git a/test/tint/bug/tint/824.wgsl.expected.ir.msl b/test/tint/bug/tint/824.wgsl.expected.ir.msl
index ca805ff..7c1a4f4 100644
--- a/test/tint/bug/tint/824.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/824.wgsl.expected.ir.msl
@@ -25,7 +25,7 @@
Output tint_symbol_inner(uint VertexIndex, uint InstanceIndex) {
tint_array<float2, 4> const zv = tint_array<float2, 4>{float2(0.20000000298023223877f), float2(0.30000001192092895508f), float2(-0.10000000149011611938f), float2(1.10000002384185791016f)};
- float const z = zv[min(InstanceIndex, 3u)][0u];
+ float const z = zv[min(InstanceIndex, 3u)].x;
Output output = {};
output.Position = float4(0.5f, 0.5f, z, 1.0f);
tint_array<float4, 4> const colors = tint_array<float4, 4>{float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), float4(1.0f)};
diff --git a/test/tint/bug/tint/827.wgsl.expected.ir.msl b/test/tint/bug/tint/827.wgsl.expected.ir.msl
index 3dddc49..68cb3df 100644
--- a/test/tint/bug/tint/827.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/827.wgsl.expected.ir.msl
@@ -24,9 +24,9 @@
};
void tint_symbol_inner(uint3 GlobalInvocationId, tint_module_vars_struct tint_module_vars) {
- device float* const v = (&(*tint_module_vars.result).values[min(((GlobalInvocationId[1u] * 128u) + GlobalInvocationId[0u]), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))]);
- int const v_1 = int(GlobalInvocationId[0u]);
- int2 const v_2 = int2(v_1, int(GlobalInvocationId[1u]));
+ device float* const v = (&(*tint_module_vars.result).values[min(((GlobalInvocationId.y * 128u) + GlobalInvocationId.x), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))]);
+ int const v_1 = int(GlobalInvocationId.x);
+ int2 const v_2 = int2(v_1, int(GlobalInvocationId.y));
uint const v_3 = min(uint(0), (tint_module_vars.tex.get_num_mip_levels() - 1u));
uint2 const v_4 = (uint2(tint_module_vars.tex.get_width(v_3), tint_module_vars.tex.get_height(v_3)) - uint2(1u));
(*v) = tint_module_vars.tex.read(min(uint2(v_2), v_4), v_3);
diff --git a/test/tint/bug/tint/913.wgsl.expected.ir.msl b/test/tint/bug/tint/913.wgsl.expected.ir.msl
index 821639b..bba1fdb 100644
--- a/test/tint/bug/tint/913.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/913.wgsl.expected.ir.msl
@@ -44,22 +44,22 @@
float4 const nonCoveredColor = float4(0.0f, 1.0f, 0.0f, 1.0f);
bool success = true;
bool v = false;
- if ((dstTexCoord[0u] < (*tint_module_vars.uniforms).dstCopyOrigin[0u])) {
+ if ((dstTexCoord.x < (*tint_module_vars.uniforms).dstCopyOrigin.x)) {
v = true;
} else {
- v = (dstTexCoord[1u] < (*tint_module_vars.uniforms).dstCopyOrigin[1u]);
+ v = (dstTexCoord.y < (*tint_module_vars.uniforms).dstCopyOrigin.y);
}
bool v_1 = false;
if (v) {
v_1 = true;
} else {
- v_1 = (dstTexCoord[0u] >= ((*tint_module_vars.uniforms).dstCopyOrigin[0u] + (*tint_module_vars.uniforms).copySize[0u]));
+ v_1 = (dstTexCoord.x >= ((*tint_module_vars.uniforms).dstCopyOrigin.x + (*tint_module_vars.uniforms).copySize.x));
}
bool v_2 = false;
if (v_1) {
v_2 = true;
} else {
- v_2 = (dstTexCoord[1u] >= ((*tint_module_vars.uniforms).dstCopyOrigin[1u] + (*tint_module_vars.uniforms).copySize[1u]));
+ v_2 = (dstTexCoord.y >= ((*tint_module_vars.uniforms).dstCopyOrigin.y + (*tint_module_vars.uniforms).copySize.y));
}
if (v_2) {
bool v_3 = false;
@@ -75,7 +75,7 @@
} else {
uint2 srcTexCoord = ((dstTexCoord - (*tint_module_vars.uniforms).dstCopyOrigin) + (*tint_module_vars.uniforms).srcCopyOrigin);
if (((*tint_module_vars.uniforms).dstTextureFlipY == 1u)) {
- srcTexCoord[1u] = ((srcSize[1u] - srcTexCoord[1u]) - 1u);
+ srcTexCoord.y = ((srcSize.y - srcTexCoord.y) - 1u);
}
int2 const v_7 = int2(srcTexCoord);
uint const v_8 = min(uint(0), (tint_module_vars.src.get_num_mip_levels() - 1u));
@@ -88,13 +88,13 @@
if (((*tint_module_vars.uniforms).channelCount == 2u)) {
bool v_13 = false;
if (success) {
- v_13 = aboutEqual(dstColor[0u], srcColor[0u]);
+ v_13 = aboutEqual(dstColor.x, srcColor.x);
} else {
v_13 = false;
}
bool v_14 = false;
if (v_13) {
- v_14 = aboutEqual(dstColor[1u], srcColor[1u]);
+ v_14 = aboutEqual(dstColor.y, srcColor.y);
} else {
v_14 = false;
}
@@ -102,36 +102,36 @@
} else {
bool v_15 = false;
if (success) {
- v_15 = aboutEqual(dstColor[0u], srcColor[0u]);
+ v_15 = aboutEqual(dstColor.x, srcColor.x);
} else {
v_15 = false;
}
bool v_16 = false;
if (v_15) {
- v_16 = aboutEqual(dstColor[1u], srcColor[1u]);
+ v_16 = aboutEqual(dstColor.y, srcColor.y);
} else {
v_16 = false;
}
bool v_17 = false;
if (v_16) {
- v_17 = aboutEqual(dstColor[2u], srcColor[2u]);
+ v_17 = aboutEqual(dstColor.z, srcColor.z);
} else {
v_17 = false;
}
bool v_18 = false;
if (v_17) {
- v_18 = aboutEqual(dstColor[3u], srcColor[3u]);
+ v_18 = aboutEqual(dstColor.w, srcColor.w);
} else {
v_18 = false;
}
success = v_18;
}
}
- uint const outputIndex = ((GlobalInvocationID[1u] * dstSize[0u]) + GlobalInvocationID[0u]);
+ uint const outputIndex = ((GlobalInvocationID.y * dstSize.x) + GlobalInvocationID.x);
if (success) {
- (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))] = 1u;
+ (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))] = 1u;
} else {
- (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))] = 0u;
+ (*tint_module_vars.output).result[min(outputIndex, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))] = 0u;
}
}
diff --git a/test/tint/bug/tint/914.wgsl.expected.ir.msl b/test/tint/bug/tint/914.wgsl.expected.ir.msl
index 03ad930..28c473f7 100644
--- a/test/tint/bug/tint/914.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/914.wgsl.expected.ir.msl
@@ -49,7 +49,7 @@
v = false;
}
if (v) {
- float const result = (*tint_module_vars.firstMatrix).numbers[min(((row * (*tint_module_vars.uniforms).dimInner) + col), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))];
+ float const result = (*tint_module_vars.firstMatrix).numbers[min(((row * (*tint_module_vars.uniforms).dimInner) + col), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))];
return result;
}
return 0.0f;
@@ -63,7 +63,7 @@
v_1 = false;
}
if (v_1) {
- float const result = (*tint_module_vars.secondMatrix).numbers[min(((row * (*tint_module_vars.uniforms).dimBOuter) + col), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][1u] - 0u) / 4u) - 1u))];
+ float const result = (*tint_module_vars.secondMatrix).numbers[min(((row * (*tint_module_vars.uniforms).dimBOuter) + col), ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].y - 0u) / 4u) - 1u))];
return result;
}
return 0.0f;
@@ -78,7 +78,7 @@
}
if (v_2) {
uint const index = (col + (row * (*tint_module_vars.uniforms).dimBOuter));
- (*tint_module_vars.resultMatrix).numbers[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][2u] - 0u) / 4u) - 1u))] = value;
+ (*tint_module_vars.resultMatrix).numbers[min(index, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].z - 0u) / 4u) - 1u))] = value;
}
}
@@ -105,10 +105,10 @@
}
}
threadgroup_barrier(mem_flags::mem_threadgroup);
- uint const tileRow = (local_id[1u] * 4u);
- uint const tileCol = (local_id[0u] * 4u);
- uint const globalRow = (global_id[1u] * 4u);
- uint const globalCol = (global_id[0u] * 4u);
+ uint const tileRow = (local_id.y * 4u);
+ uint const tileCol = (local_id.x * 4u);
+ uint const globalRow = (global_id.y * 4u);
+ uint const globalCol = (global_id.x * 4u);
uint const numTiles = (tint_div_u32(((*tint_module_vars.uniforms).dimInner - 1u), 64u) + 1u);
tint_array<float, 16> acc = {};
float ACached = 0.0f;
@@ -128,9 +128,9 @@
}
}
uint const ColPerThreadA = 4u;
- uint const tileColA = (local_id[0u] * ColPerThreadA);
+ uint const tileColA = (local_id.x * ColPerThreadA);
uint const RowPerThreadB = 4u;
- uint const tileRowB = (local_id[1u] * RowPerThreadB);
+ uint const tileRowB = (local_id.y * RowPerThreadB);
{
uint t = 0u;
while(true) {
diff --git a/test/tint/bug/tint/922.wgsl.expected.ir.msl b/test/tint/bug/tint/922.wgsl.expected.ir.msl
index 3730074..87e0429 100644
--- a/test/tint/bug/tint/922.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/922.wgsl.expected.ir.msl
@@ -84,7 +84,7 @@
Mat4x3_ const x_e2 = m1;
Mat4x3_ const x_e5 = m1;
Mat4x3_ const x_e8 = m1;
- return float3(x_e2.mx[0u], x_e5.my[0u], x_e8.mz[0u]);
+ return float3(x_e2.mx.x, x_e5.my.x, x_e8.mz.x);
}
float3 Mat4x3GetCol1_(Mat4x3_ m2) {
@@ -93,7 +93,7 @@
Mat4x3_ const x_e2 = m3;
Mat4x3_ const x_e5 = m3;
Mat4x3_ const x_e8 = m3;
- return float3(x_e2.mx[1u], x_e5.my[1u], x_e8.mz[1u]);
+ return float3(x_e2.mx.y, x_e5.my.y, x_e8.mz.y);
}
float3 Mat4x3GetCol2_(Mat4x3_ m4) {
@@ -102,7 +102,7 @@
Mat4x3_ const x_e2 = m5;
Mat4x3_ const x_e5 = m5;
Mat4x3_ const x_e8 = m5;
- return float3(x_e2.mx[2u], x_e5.my[2u], x_e8.mz[2u]);
+ return float3(x_e2.mx.z, x_e5.my.z, x_e8.mz.z);
}
float3 Mat4x3GetCol3_(Mat4x3_ m6) {
@@ -111,7 +111,7 @@
Mat4x3_ const x_e2 = m7;
Mat4x3_ const x_e5 = m7;
Mat4x3_ const x_e8 = m7;
- return float3(x_e2.mx[3u], x_e5.my[3u], x_e8.mz[3u]);
+ return float3(x_e2.mx.w, x_e5.my.w, x_e8.mz.w);
}
float4 Mul(Mat4x4_ m8, float4 v) {
@@ -280,7 +280,7 @@
float4 const x_e50 = (*tint_module_vars.a_Color1);
(*tint_module_vars.v_Color) = x_e50;
float4 const x_e52 = (*tint_module_vars.global1).u_Misc0_;
- if ((x_e52[0u] == 2.0f)) {
+ if ((x_e52.x == 2.0f)) {
float3 const x_e59 = (*tint_module_vars.a_Normal1);
Mat4x2_ const x_e64 = (*tint_module_vars.global1).u_TexMtx[0u];
float3 const x_e65 = (*tint_module_vars.a_Normal1);
diff --git a/test/tint/bug/tint/942.wgsl.expected.ir.msl b/test/tint/bug/tint/942.wgsl.expected.ir.msl
index ffcf190..30a9f19 100644
--- a/test/tint/bug/tint/942.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/942.wgsl.expected.ir.msl
@@ -87,7 +87,7 @@
if (((*tint_module_vars.flip).value != 0u)) {
loadIndex = loadIndex.yx;
}
- threadgroup packed_float3* const v_4 = (&(*tint_module_vars.tile)[min(r, 3u)][min(((4u * LocalInvocationID[0u]) + c), 255u)].packed);
+ threadgroup packed_float3* const v_4 = (&(*tint_module_vars.tile)[min(r, 3u)][min(((4u * LocalInvocationID.x) + c), 255u)].packed);
float2 const v_5 = (float2(loadIndex) + float2(0.25f));
float2 const v_6 = (v_5 / float2(dims));
(*v_4) = packed_float3(tint_module_vars.inputTex.sample(tint_module_vars.samp, v_6, level(0.0f)).xyz);
@@ -122,7 +122,7 @@
if (((*tint_module_vars.flip).value != 0u)) {
writeIndex = writeIndex.yx;
}
- uint const center = ((4u * LocalInvocationID[0u]) + c);
+ uint const center = ((4u * LocalInvocationID.x) + c);
bool v_7 = false;
if ((center >= filterOffset)) {
v_7 = (center < (256u - filterOffset));
diff --git a/test/tint/bug/tint/948.wgsl.expected.ir.msl b/test/tint/bug/tint/948.wgsl.expected.ir.msl
index 83a8e5c..8ac8d4d 100644
--- a/test/tint/bug/tint/948.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/948.wgsl.expected.ir.msl
@@ -82,9 +82,9 @@
float const x_51 = fX;
float2 const v_2 = float2(x_51, 0.5f);
float4 const x_54 = tint_module_vars.frameMapTexture.sample(tint_module_vars.frameMapSampler, v_2, bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
- float4 const v_3 = float4(x_40[0u], x_40[1u], x_40[2u], x_40[3u]);
- float4 const v_4 = float4(x_47[0u], x_47[1u], x_47[2u], x_47[3u]);
- return float4x4(v_3, v_4, float4(x_54[0u], x_54[1u], x_54[2u], x_54[3u]), float4(0.0f));
+ float4 const v_3 = float4(x_40.x, x_40.y, x_40.z, x_40.w);
+ float4 const v_4 = float4(x_47.x, x_47.y, x_47.z, x_47.w);
+ return float4x4(v_3, v_4, float4(x_54.x, x_54.y, x_54.z, x_54.w), float4(0.0f));
}
void main_1(tint_module_vars_struct tint_module_vars) {
@@ -109,8 +109,8 @@
color = float4(0.0f);
float2 const x_86 = (*tint_module_vars.tUV);
tileUV = fract(x_86);
- float const x_91 = tileUV[1u];
- tileUV[1u] = (1.0f - x_91);
+ float const x_91 = tileUV.y;
+ tileUV.y = (1.0f - x_91);
float2 const x_95 = (*tint_module_vars.tUV);
tileID = floor(x_95);
float2 const x_101 = (*tint_module_vars.x_20).spriteMapSize;
@@ -135,7 +135,7 @@
float2 const x_150 = tileID;
float2 const x_154 = (*tint_module_vars.x_20).stageSize;
float4 const x_156 = tint_module_vars.tileMapsTexture1.sample(tint_module_vars.tileMapsSampler, ((x_150 + float2(0.5f)) / x_154), bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
- frameID_1 = x_156[0u];
+ frameID_1 = x_156.x;
break;
}
case 0:
@@ -143,7 +143,7 @@
float2 const x_136 = tileID;
float2 const x_140 = (*tint_module_vars.x_20).stageSize;
float4 const x_142 = tint_module_vars.tileMapsTexture0.sample(tint_module_vars.tileMapsSampler, ((x_136 + float2(0.5f)) / x_140), bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
- frameID_1 = x_142[0u];
+ frameID_1 = x_142.x;
break;
}
default:
@@ -156,10 +156,10 @@
float2 const v_5 = float2(((x_166 + 0.5f) / x_169), 0.0f);
float4 const x_172 = tint_module_vars.animationMapTexture.sample(tint_module_vars.animationMapSampler, v_5, bias(clamp(0.0f, -16.0f, 15.9899997711181640625f)));
animationData = x_172;
- float const x_174 = animationData[1u];
+ float const x_174 = animationData.y;
if ((x_174 > 0.0f)) {
float const x_181 = (*tint_module_vars.x_20).time;
- float const x_184 = animationData[2u];
+ float const x_184 = animationData.z;
(*tint_module_vars.mt) = fmod((x_181 * x_184), 1.0f);
f = 0.0f;
{
@@ -170,10 +170,10 @@
} else {
break;
}
- float const x_197 = animationData[1u];
+ float const x_197 = animationData.y;
float const x_198 = (*tint_module_vars.mt);
if ((x_197 > x_198)) {
- float const x_203 = animationData[0u];
+ float const x_203 = animationData.x;
frameID_1 = x_203;
break;
}
@@ -196,18 +196,18 @@
frameData = x_225;
float4 const x_228 = frameData[0u];
float2 const x_231 = (*tint_module_vars.x_20).spriteMapSize;
- frameSize = (float2(x_228[3u], x_228[2u]) / x_231);
+ frameSize = (float2(x_228.w, x_228.z) / x_231);
float4 const x_235 = frameData[0u];
float2 const x_237 = sheetUnits;
- offset_1 = (float2(x_235[0u], x_235[1u]) * x_237);
+ offset_1 = (float2(x_235.x, x_235.y) * x_237);
float4 const x_241 = frameData[2u];
float4 const x_244 = frameData[0u];
- float2 const v_6 = float2(x_241[0u], x_241[1u]);
- ratio = (v_6 / float2(x_244[3u], x_244[2u]));
- float const x_248 = frameData[2u][2u];
+ float2 const v_6 = float2(x_241.x, x_241.y);
+ ratio = (v_6 / float2(x_244.w, x_244.z));
+ float const x_248 = frameData[2u].z;
if ((x_248 == 1.0f)) {
float2 const x_252 = tileUV;
- tileUV = float2(x_252[1u], x_252[0u]);
+ tileUV = float2(x_252.y, x_252.x);
}
int const x_254 = i;
if ((x_254 == 0)) {
@@ -222,18 +222,18 @@
float2 const x_277 = offset_1;
float4 const x_279 = tint_module_vars.spriteSheetTexture.sample(tint_module_vars.spriteSheetSampler, ((x_274 * x_275) + x_277));
nc = x_279;
- float const x_283 = color[3u];
- float const x_285 = nc[3u];
+ float const x_283 = color.w;
+ float const x_285 = nc.w;
alpha = min((x_283 + x_285), 1.0f);
float4 const x_290 = color;
float4 const x_292 = nc;
- float const x_295 = nc[3u];
- float3 const v_7 = float3(x_290[0u], x_290[1u], x_290[2u]);
- float3 const v_8 = float3(x_292[0u], x_292[1u], x_292[2u]);
+ float const x_295 = nc.w;
+ float3 const v_7 = float3(x_290.x, x_290.y, x_290.z);
+ float3 const v_8 = float3(x_292.x, x_292.y, x_292.z);
mixed = mix(v_7, v_8, float3(x_295, x_295, x_295));
float3 const x_298 = mixed;
float const x_299 = alpha;
- color = float4(x_298[0u], x_298[1u], x_298[2u], x_299);
+ color = float4(x_298.x, x_298.y, x_298.z, x_299);
}
{
int const x_304 = i;
@@ -244,9 +244,9 @@
}
float3 const x_310 = float3((*tint_module_vars.x_20).colorMul);
float4 const x_311 = color;
- float3 const x_313 = (float3(x_311[0u], x_311[1u], x_311[2u]) * x_310);
+ float3 const x_313 = (float3(x_311.x, x_311.y, x_311.z) * x_310);
float4 const x_314 = color;
- color = float4(x_313[0u], x_313[1u], x_313[2u], x_314[3u]);
+ color = float4(x_313.x, x_313.y, x_313.z, x_314.w);
float4 const x_318 = color;
(*tint_module_vars.glFragColor) = x_318;
}
diff --git a/test/tint/bug/tint/949.wgsl.expected.ir.msl b/test/tint/bug/tint/949.wgsl.expected.ir.msl
index 4ba6055..66c7372 100644
--- a/test/tint/bug/tint/949.wgsl.expected.ir.msl
+++ b/test/tint/bug/tint/949.wgsl.expected.ir.msl
@@ -104,19 +104,19 @@
float3 const x_150 = dp1;
dp1perp = cross(x_149, x_150);
float3 const x_153 = dp2perp;
- float const x_155 = duv1[0u];
+ float const x_155 = duv1.x;
float3 const x_157 = dp1perp;
- float const x_159 = duv2[0u];
+ float const x_159 = duv2.x;
tangent = ((x_153 * x_155) + (x_157 * x_159));
float3 const x_163 = dp2perp;
- float const x_165 = duv1[1u];
+ float const x_165 = duv1.y;
float3 const x_167 = dp1perp;
- float const x_169 = duv2[1u];
+ float const x_169 = duv2.y;
bitangent = ((x_163 * x_165) + (x_167 * x_169));
- float const x_173 = (*tangentSpaceParams)[0u];
+ float const x_173 = (*tangentSpaceParams).x;
float3 const x_174 = tangent;
tangent = (x_174 * x_173);
- float const x_177 = (*tangentSpaceParams)[1u];
+ float const x_177 = (*tangentSpaceParams).y;
float3 const x_178 = bitangent;
bitangent = (x_178 * x_177);
float3 const x_181 = tangent;
@@ -131,9 +131,9 @@
float const x_193 = invmax;
float3 const x_194 = (x_192 * x_193);
float3 const x_195 = (*normal_1);
- float3 const v = float3(x_191[0u], x_191[1u], x_191[2u]);
- float3 const v_1 = float3(x_194[0u], x_194[1u], x_194[2u]);
- return float3x3(v, v_1, float3(x_195[0u], x_195[1u], x_195[2u]));
+ float3 const v = float3(x_191.x, x_191.y, x_191.z);
+ float3 const v_1 = float3(x_194.x, x_194.y, x_194.z);
+ return float3x3(v, v_1, float3(x_195.x, x_195.y, x_195.z));
}
float3x3 transposeMat3_mf33_(thread float3x3* const inMatrix) {
@@ -147,21 +147,21 @@
i1 = x_64;
float3 const x_68 = (*inMatrix)[2u];
i2 = x_68;
- float const x_73 = i0[0u];
- float const x_75 = i1[0u];
- float const x_77 = i2[0u];
+ float const x_73 = i0.x;
+ float const x_75 = i1.x;
+ float const x_77 = i2.x;
float3 const x_78 = float3(x_73, x_75, x_77);
- float const x_81 = i0[1u];
- float const x_83 = i1[1u];
- float const x_85 = i2[1u];
+ float const x_81 = i0.y;
+ float const x_83 = i1.y;
+ float const x_85 = i2.y;
float3 const x_86 = float3(x_81, x_83, x_85);
- float const x_89 = i0[2u];
- float const x_91 = i1[2u];
- float const x_93 = i2[2u];
+ float const x_89 = i0.z;
+ float const x_91 = i1.z;
+ float const x_93 = i2.z;
float3 const x_94 = float3(x_89, x_91, x_93);
- float3 const v_2 = float3(x_78[0u], x_78[1u], x_78[2u]);
- float3 const v_3 = float3(x_86[0u], x_86[1u], x_86[2u]);
- outMatrix = float3x3(v_2, v_3, float3(x_94[0u], x_94[1u], x_94[2u]));
+ float3 const v_2 = float3(x_78.x, x_78.y, x_78.z);
+ float3 const v_3 = float3(x_86.x, x_86.y, x_86.z);
+ outMatrix = float3x3(v_2, v_3, float3(x_94.x, x_94.y, x_94.z));
float3x3 const x_110 = outMatrix;
return x_110;
}
@@ -193,14 +193,14 @@
float specComp = 0.0f;
float3 const x_212 = (*vNormal);
float4 const x_213 = (*lightData);
- ndl = ((dot(x_212, float3(x_213[0u], x_213[1u], x_213[2u])) * 0.5f) + 0.5f);
+ ndl = ((dot(x_212, float3(x_213.x, x_213.y, x_213.z)) * 0.5f) + 0.5f);
float3 const x_220 = (*groundColor);
float3 const x_221 = (*diffuseColor);
float const x_222 = ndl;
result.diffuse = mix(x_220, x_221, float3(x_222, x_222, x_222));
float3 const x_227 = (*viewDirectionW);
float4 const x_228 = (*lightData);
- angleW = normalize((x_227 + float3(x_228[0u], x_228[1u], x_228[2u])));
+ angleW = normalize((x_227 + float3(x_228.x, x_228.y, x_228.z)));
float3 const x_233 = (*vNormal);
float3 const x_234 = angleW;
specComp = max(0.0f, dot(x_233, x_234));
@@ -275,10 +275,10 @@
tempTextureRead = x_262;
float4 const x_264 = tempTextureRead;
float const x_273 = (*tint_module_vars.x_269).textureInfoName;
- rgb = (float3(x_264[0u], x_264[1u], x_264[2u]) * x_273);
+ rgb = (float3(x_264.x, x_264.y, x_264.z) * x_273);
float3 const x_279 = float3((*tint_module_vars.x_269).u_cameraPosition);
float4 const x_282 = (*tint_module_vars.v_output1);
- output5 = normalize((x_279 - float3(x_282[0u], x_282[1u], x_282[2u])));
+ output5 = normalize((x_279 - float3(x_282.x, x_282.y, x_282.z)));
output4 = float4(0.0f);
uvOffset = float2(0.0f);
float const x_292 = (*tint_module_vars.x_269).u_bumpStrength;
@@ -295,9 +295,9 @@
TBNUV = x_307;
float4 const x_310 = (*tint_module_vars.v_output2);
float const x_312 = normalScale;
- param_3 = (float3(x_310[0u], x_310[1u], x_310[2u]) * x_312);
+ param_3 = (float3(x_310.x, x_310.y, x_310.z) * x_312);
float4 const x_317 = (*tint_module_vars.v_output1);
- param_4 = float3(x_317[0u], x_317[1u], x_317[2u]);
+ param_4 = float3(x_317.x, x_317.y, x_317.z);
float2 const x_320 = TBNUV;
param_5 = x_320;
float2 const x_324 = (*tint_module_vars.x_269).tangentSpaceParameter0;
@@ -313,14 +313,14 @@
float3 const x_334 = (x_331 * -(x_332));
float3x3 const x_337 = invTBN;
float3 const x_338 = output5;
- parallaxLimit = (length(float2(x_334[0u], x_334[1u])) / (x_337 * -(x_338))[2u]);
+ parallaxLimit = (length(float2(x_334.x, x_334.y)) / (x_337 * -(x_338)).z);
float const x_345 = (*tint_module_vars.x_269).u_parallaxScale;
float const x_346 = parallaxLimit;
parallaxLimit = (x_346 * x_345);
float3x3 const x_349 = invTBN;
float3 const x_350 = output5;
float3 const x_352 = (x_349 * -(x_350));
- vOffsetDir = normalize(float2(x_352[0u], x_352[1u]));
+ vOffsetDir = normalize(float2(x_352.x, x_352.y));
float2 const x_356 = vOffsetDir;
float const x_357 = parallaxLimit;
vMaxOffset = (x_356 * x_357);
@@ -328,7 +328,7 @@
float3 const x_362 = output5;
float3x3 const x_365 = invTBN;
float4 const x_366 = (*tint_module_vars.v_output2);
- numSamples = (15.0f + (dot((x_361 * -(x_362)), (x_365 * float3(x_366[0u], x_366[1u], x_366[2u]))) * -11.0f));
+ numSamples = (15.0f + (dot((x_361 * -(x_362)), (x_365 * float3(x_366.x, x_366.y, x_366.z))) * -11.0f));
float const x_374 = numSamples;
stepSize = (1.0f / x_374);
currRayHeight = 1.0f;
@@ -348,7 +348,7 @@
float2 const x_394 = (*tint_module_vars.v_uv);
float2 const x_395 = vCurrOffset;
float4 const x_397 = float4(0.0f);
- currSampledHeight = x_397[3u];
+ currSampledHeight = x_397.w;
float const x_400 = currSampledHeight;
float const x_401 = currRayHeight;
if ((x_400 > x_401)) {
@@ -399,11 +399,11 @@
float const x_454 = (*tint_module_vars.x_269).u_bumpStrength;
float3x3 const x_457 = TBN;
param_8 = x_457;
- param_9 = float3(x_452[0u], x_452[1u], x_452[2u]);
+ param_9 = float3(x_452.x, x_452.y, x_452.z);
param_10 = (1.0f / x_454);
float3 const x_461 = perturbNormal_mf33_vf3_f1_((¶m_8), (¶m_9), (¶m_10));
float4 const x_462 = output4;
- output4 = float4(x_461[0u], x_461[1u], x_461[2u], x_462[3u]);
+ output4 = float4(x_461.x, x_461.y, x_461.z, x_462.w);
float2 const x_465 = (*tint_module_vars.v_uv);
float2 const x_466 = uvOffset;
output6 = (x_465 + x_466);
@@ -411,17 +411,17 @@
float4 const x_475 = tint_module_vars.TextureSampler1Texture.sample(tint_module_vars.TextureSampler1Sampler, x_474);
tempTextureRead1 = x_475;
float4 const x_477 = tempTextureRead1;
- rgb1 = float3(x_477[0u], x_477[1u], x_477[2u]);
+ rgb1 = float3(x_477.x, x_477.y, x_477.z);
float3 const x_481 = float3((*tint_module_vars.x_269).u_cameraPosition);
float4 const x_482 = (*tint_module_vars.v_output1);
- viewDirectionW_1 = normalize((x_481 - float3(x_482[0u], x_482[1u], x_482[2u])));
+ viewDirectionW_1 = normalize((x_481 - float3(x_482.x, x_482.y, x_482.z)));
shadow = 1.0f;
float const x_488 = (*tint_module_vars.u_Float);
glossiness_1 = (1.0f * x_488);
diffuseBase = float3(0.0f);
specularBase = float3(0.0f);
float4 const x_494 = output4;
- normalW = float3(x_494[0u], x_494[1u], x_494[2u]);
+ normalW = float3(x_494.x, x_494.y, x_494.z);
float3 const x_501 = viewDirectionW_1;
param_11 = x_501;
float3 const x_503 = normalW;
@@ -429,9 +429,9 @@
float4 const x_507 = (*tint_module_vars.light0).vLightData;
param_13 = x_507;
float4 const x_510 = (*tint_module_vars.light0).vLightDiffuse;
- param_14 = float3(x_510[0u], x_510[1u], x_510[2u]);
+ param_14 = float3(x_510.x, x_510.y, x_510.z);
float4 const x_514 = (*tint_module_vars.light0).vLightSpecular;
- param_15 = float3(x_514[0u], x_514[1u], x_514[2u]);
+ param_15 = float3(x_514.x, x_514.y, x_514.z);
float3 const x_518 = float3((*tint_module_vars.light0).vLightGround);
param_16 = x_518;
float const x_520 = glossiness_1;
@@ -457,7 +457,7 @@
float3 const x_544 = specularOutput;
output3 = (x_543 + x_544);
float3 const x_548 = output3;
- (*tint_module_vars.glFragColor) = float4(x_548[0u], x_548[1u], x_548[2u], 1.0f);
+ (*tint_module_vars.glFragColor) = float4(x_548.x, x_548.y, x_548.z, 1.0f);
}
main_out tint_symbol_inner(float2 vMainuv_param, float4 v_output1_param, bool gl_FrontFacing_param, float2 v_uv_param, float4 v_output2_param, tint_module_vars_struct tint_module_vars) {
diff --git a/test/tint/bug/tint/977.spvasm.expected.ir.msl b/test/tint/bug/tint/977.spvasm.expected.ir.msl
index d1b7e5e..9295956 100644
--- a/test/tint/bug/tint/977.spvasm.expected.ir.msl
+++ b/test/tint/bug/tint/977.spvasm.expected.ir.msl
@@ -60,13 +60,13 @@
int a_1 = 0;
float param = 0.0f;
float param_1 = 0.0f;
- index = as_type<int>((*tint_module_vars.gl_GlobalInvocationID)[0u]);
+ index = as_type<int>((*tint_module_vars.gl_GlobalInvocationID).x);
a_1 = -10;
int const x_63 = index;
param = -4.0f;
param_1 = -3.0f;
float const x_68 = binaryOperation_f1_f1_((¶m), (¶m_1));
- uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u);
+ uint const v = ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u);
(*tint_module_vars.resultMatrix).numbers[min(uint(x_63), v)] = x_68;
}
diff --git a/test/tint/builtins/arrayLength/complex_via_let.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/complex_via_let.wgsl.expected.ir.msl
index ea758f3..29c3493 100644
--- a/test/tint/builtins/arrayLength/complex_via_let.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/complex_via_let.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
const device S* const p = tint_module_vars.G;
const device tint_array<int, 1>* const p2 = (&(*p).a);
- uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
}
diff --git a/test/tint/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.ir.msl
index 5860e84..3b0cab7 100644
--- a/test/tint/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/complex_via_let_no_struct.wgsl.expected.ir.msl
@@ -22,5 +22,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
const device tint_array<int, 1>* const p = tint_module_vars.G;
const device tint_array<int, 1>* const p2 = p;
- uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
diff --git a/test/tint/builtins/arrayLength/deprecated.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/deprecated.wgsl.expected.ir.msl
index 5e0fa7b..33273a0 100644
--- a/test/tint/builtins/arrayLength/deprecated.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/deprecated.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
kernel void tint_symbol(const device S* G [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
const device tint_array<int, 1>* const p = (&(*tint_module_vars.G).a);
- uint const l2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l2 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
}
diff --git a/test/tint/builtins/arrayLength/simple.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/simple.wgsl.expected.ir.msl
index 66f2b71..d3fd52e 100644
--- a/test/tint/builtins/arrayLength/simple.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/simple.wgsl.expected.ir.msl
@@ -24,5 +24,5 @@
kernel void tint_symbol(const device S* G [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
}
diff --git a/test/tint/builtins/arrayLength/simple_no_struct.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/simple_no_struct.wgsl.expected.ir.msl
index 446c15a..f41c500 100644
--- a/test/tint/builtins/arrayLength/simple_no_struct.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/simple_no_struct.wgsl.expected.ir.msl
@@ -20,5 +20,5 @@
kernel void tint_symbol(const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
diff --git a/test/tint/builtins/arrayLength/via_let.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/via_let.wgsl.expected.ir.msl
index 5137c87..cab3b62 100644
--- a/test/tint/builtins/arrayLength/via_let.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/via_let.wgsl.expected.ir.msl
@@ -26,5 +26,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
const device tint_array<int, 1>* const p = (&(*tint_module_vars.G).a);
const device tint_array<int, 1>* const p2 = p;
- uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
}
diff --git a/test/tint/builtins/arrayLength/via_let_complex.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/via_let_complex.wgsl.expected.ir.msl
index 1c61388..7601493 100644
--- a/test/tint/builtins/arrayLength/via_let_complex.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/via_let_complex.wgsl.expected.ir.msl
@@ -27,5 +27,5 @@
const device S* const p = tint_module_vars.G;
const device S* const p2 = p;
const device tint_array<int, 1>* const p3 = (&(*p).a);
- uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint const l1 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
}
diff --git a/test/tint/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.ir.msl
index 6098605..05ae1d6 100644
--- a/test/tint/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/via_let_complex_no_struct.wgsl.expected.ir.msl
@@ -23,5 +23,5 @@
const device tint_array<int, 1>* const p = tint_module_vars.G;
const device tint_array<int, 1>* const p2 = p;
const device tint_array<int, 1>* const p3 = p;
- uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
diff --git a/test/tint/builtins/arrayLength/via_let_no_struct.wgsl.expected.ir.msl b/test/tint/builtins/arrayLength/via_let_no_struct.wgsl.expected.ir.msl
index 5860e84..3b0cab7 100644
--- a/test/tint/builtins/arrayLength/via_let_no_struct.wgsl.expected.ir.msl
+++ b/test/tint/builtins/arrayLength/via_let_no_struct.wgsl.expected.ir.msl
@@ -22,5 +22,5 @@
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.G=G, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
const device tint_array<int, 1>* const p = tint_module_vars.G;
const device tint_array<int, 1>* const p2 = p;
- uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u);
+ uint const l1 = ((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u);
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl
index 1d64bbe..c681762 100644
--- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl
index a9cdd42..b27ee18 100644
--- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl
index 88f1e13..df58bc8 100644
--- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 2u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl
index 089b8fb..3c0e013 100644
--- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl
index 33d63cd..f6973d0 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 2u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl
index 6d61850..a61fbdb 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl
index 23014ce..84d56ea 100644
--- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl
index d1c4e96..c99fd617 100644
--- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/literal/subgroupBallot/1a8251.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/subgroupBallot/1a8251.wgsl.expected.ir.msl
index fbf9f26..7550ddc 100644
--- a/test/tint/builtins/gen/literal/subgroupBallot/1a8251.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/subgroupBallot/1a8251.wgsl.expected.ir.msl
@@ -19,15 +19,15 @@
fragment void fragment_main(uint tint_subgroup_size [[threads_per_simdgroup]], device uint4* prevent_dce [[buffer(0)]]) {
thread uint2 tint_subgroup_size_mask = 0u;
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .tint_subgroup_size_mask=(&tint_subgroup_size_mask)};
- (*tint_module_vars.tint_subgroup_size_mask)[0u] = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
- (*tint_module_vars.tint_subgroup_size_mask)[1u] = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).x = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).y = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
(*tint_module_vars.prevent_dce) = subgroupBallot_1a8251(tint_module_vars);
}
kernel void compute_main(uint tint_subgroup_size [[threads_per_simdgroup]], device uint4* prevent_dce [[buffer(0)]]) {
thread uint2 tint_subgroup_size_mask = 0u;
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .tint_subgroup_size_mask=(&tint_subgroup_size_mask)};
- (*tint_module_vars.tint_subgroup_size_mask)[0u] = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
- (*tint_module_vars.tint_subgroup_size_mask)[1u] = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).x = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).y = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
(*tint_module_vars.prevent_dce) = subgroupBallot_1a8251(tint_module_vars);
}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl
index f6bac6c..225d1a5 100644
--- a/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureLoad/1bfdfb.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl
index 07f19d9..a91c18f 100644
--- a/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureLoad/8acf41.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
index 3877eb1..f175c7f 100644
--- a/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_5 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f));
v_3 = v_5.xyz;
- v_4 = v_5[3u];
+ v_4 = v_5.w;
} else {
- float const v_6 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f))[0u];
+ float const v_6 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f)).x;
v_3 = (float4(v_6, plane_1.sample(tint_sampler, clamp(v_2, params.samplePlane1RectMin, params.samplePlane1RectMax), level(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_4 = 1.0f;
}
diff --git a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl
index d007b74..1107374 100644
--- a/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/06794e.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_06794e() {
half3x3 res = half3x3(half3(1.0h), half3(1.0h), half3(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl
index bc1e64e..8a70318 100644
--- a/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/2585cd.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_2585cd() {
float3x4 res = float3x4(float4(1.0f), float4(1.0f), float4(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl
index d74aabc..be66e2b 100644
--- a/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/31d679.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_31d679() {
float2x2 res = float2x2(float2(1.0f), float2(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl
index 335a0cb..1335ec5 100644
--- a/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/31e37e.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_31e37e() {
float2x4 res = float2x4(float4(1.0f), float4(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl
index 10df460..c9bb4de 100644
--- a/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/4ce359.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_4ce359() {
float4x2 res = float4x2(float2(1.0f), float2(1.0f), float2(1.0f), float2(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl
index ac4b4a9..5146738 100644
--- a/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/4dc9a1.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_4dc9a1() {
float3x2 res = float3x2(float2(1.0f), float2(1.0f), float2(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl
index 8b33a3d..3be7608 100644
--- a/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/5edd96.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_5edd96() {
half2x4 res = half2x4(half4(1.0h), half4(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl
index 1f0b9f7..d443e4a 100644
--- a/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/5f36bf.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_5f36bf() {
half3x4 res = half3x4(half4(1.0h), half4(1.0h), half4(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl
index 0d3e629..819bbe1 100644
--- a/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/7be8b2.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_7be8b2() {
half2x2 res = half2x2(half2(1.0h), half2(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl
index d635cb82..cd92f12 100644
--- a/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/844869.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_844869() {
half4x4 res = half4x4(half4(1.0h), half4(1.0h), half4(1.0h), half4(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl
index ca8e06f..d1e4904 100644
--- a/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/854336.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_854336() {
float3x3 res = float3x3(float3(1.0f), float3(1.0f), float3(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl
index ff7c718..6c9a0c7 100644
--- a/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/8c06ce.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_8c06ce() {
half4x3 res = half4x3(half3(1.0h), half3(1.0h), half3(1.0h), half3(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl
index 6ff0048..a71f3f7 100644
--- a/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/b9ad1f.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_b9ad1f() {
half2x3 res = half2x3(half3(1.0h), half3(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl
index 9eb6173..d3f3e70 100644
--- a/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/c1b600.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_c1b600() {
float4x4 res = float4x4(float4(1.0f), float4(1.0f), float4(1.0f), float4(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl
index a7c3dde..31b1131 100644
--- a/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/d6faec.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_d6faec() {
half3x2 res = half3x2(half2(1.0h), half2(1.0h), half2(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl
index 72ae9e9..8982032 100644
--- a/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/d8f8ba.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_d8f8ba() {
float4x3 res = float4x3(float3(1.0f), float3(1.0f), float3(1.0f), float3(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl
index 56d05c3..7e2f140 100644
--- a/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/ed4bdc.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_ed4bdc() {
float2x3 res = float2x3(float3(1.0f), float3(1.0f));
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl
index 1de57cb..08e6c14 100644
--- a/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/transpose/faeb05.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
int transpose_faeb05() {
half4x2 res = half4x2(half2(1.0h), half2(1.0h), half2(1.0h), half2(1.0h));
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl
index 1d64bbe..c681762 100644
--- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl
index a9cdd42..b27ee18 100644
--- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl
index 88f1e13..df58bc8 100644
--- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 2u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl
index 089b8fb..3c0e013 100644
--- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl
index 33d63cd..f6973d0 100644
--- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 2u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl
index 6d61850..a61fbdb 100644
--- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl
index 23014ce..84d56ea 100644
--- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl
@@ -34,7 +34,7 @@
};
uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl
index d1c4e96..c99fd617 100644
--- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) {
- uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u);
+ uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u);
return res;
}
diff --git a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.msl
index 0ee3d3e..112c738 100644
--- a/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/7548a0.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint3 lhs, uint3 rhs) {
- return (((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]);
+ return (((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z);
}
uint dot_7548a0() {
diff --git a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.msl
index 04b5f3c..538155c 100644
--- a/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/97c7ee.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint2 lhs, uint2 rhs) {
- return ((lhs * rhs)[0u] + (lhs * rhs)[1u]);
+ return ((lhs * rhs).x + (lhs * rhs).y);
}
uint dot_97c7ee() {
diff --git a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.msl
index 6f051f8..4f27020 100644
--- a/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/e994c7.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint dot_e994c7() {
diff --git a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.msl
index ab6e20b..d17d0a1 100644
--- a/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/ef6b1d.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
int tint_dot(int4 lhs, int4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
int dot_ef6b1d() {
diff --git a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.msl
index 72d061a..b65535c 100644
--- a/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/f1312c.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
int tint_dot(int3 lhs, int3 rhs) {
- return (((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]);
+ return (((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z);
}
int dot_f1312c() {
diff --git a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.msl
index a239cdb..8ac8e8a 100644
--- a/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot/fc5f7c.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
int tint_dot(int2 lhs, int2 rhs) {
- return ((lhs * rhs)[0u] + (lhs * rhs)[1u]);
+ return ((lhs * rhs).x + (lhs * rhs).y);
}
int dot_fc5f7c() {
diff --git a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.msl
index 36225a6..49d68a4 100644
--- a/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot4I8Packed/881e62.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
int tint_dot(int4 lhs, int4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
int dot4I8Packed_881e62() {
diff --git a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.msl
index 37d41fc..408512a 100644
--- a/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/dot4U8Packed/fbed7b.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint dot4U8Packed_fbed7b() {
diff --git a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.msl
index 56d7e20..f349510 100644
--- a/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/pack4xI8/bfce01.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint pack4xI8_bfce01() {
diff --git a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.msl
index 4895630..ae99ebb 100644
--- a/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/pack4xI8Clamp/e42b2a.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint pack4xI8Clamp_e42b2a() {
diff --git a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.msl
index dfa536e..0a3bc34 100644
--- a/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/pack4xU8/b70b53.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint pack4xU8_b70b53() {
diff --git a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.msl
index c33db73..6144430 100644
--- a/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/pack4xU8Clamp/6b8c1b.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
};
uint tint_dot(uint4 lhs, uint4 rhs) {
- return ((((lhs * rhs)[0u] + (lhs * rhs)[1u]) + (lhs * rhs)[2u]) + (lhs * rhs)[3u]);
+ return ((((lhs * rhs).x + (lhs * rhs).y) + (lhs * rhs).z) + (lhs * rhs).w);
}
uint pack4xU8Clamp_6b8c1b() {
diff --git a/test/tint/builtins/gen/var/subgroupBallot/1a8251.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/subgroupBallot/1a8251.wgsl.expected.ir.msl
index 54a7908..590cbda 100644
--- a/test/tint/builtins/gen/var/subgroupBallot/1a8251.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/subgroupBallot/1a8251.wgsl.expected.ir.msl
@@ -20,15 +20,15 @@
fragment void fragment_main(uint tint_subgroup_size [[threads_per_simdgroup]], device uint4* prevent_dce [[buffer(0)]]) {
thread uint2 tint_subgroup_size_mask = 0u;
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .tint_subgroup_size_mask=(&tint_subgroup_size_mask)};
- (*tint_module_vars.tint_subgroup_size_mask)[0u] = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
- (*tint_module_vars.tint_subgroup_size_mask)[1u] = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).x = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).y = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
(*tint_module_vars.prevent_dce) = subgroupBallot_1a8251(tint_module_vars);
}
kernel void compute_main(uint tint_subgroup_size [[threads_per_simdgroup]], device uint4* prevent_dce [[buffer(0)]]) {
thread uint2 tint_subgroup_size_mask = 0u;
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .tint_subgroup_size_mask=(&tint_subgroup_size_mask)};
- (*tint_module_vars.tint_subgroup_size_mask)[0u] = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
- (*tint_module_vars.tint_subgroup_size_mask)[1u] = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).x = select((4294967295u >> (32u - tint_subgroup_size)), 4294967295u, (tint_subgroup_size > 32u));
+ (*tint_module_vars.tint_subgroup_size_mask).y = select(0u, (4294967295u >> (64u - tint_subgroup_size)), (tint_subgroup_size > 32u));
(*tint_module_vars.prevent_dce) = subgroupBallot_1a8251(tint_module_vars);
}
diff --git a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.msl
index b71c2b0..c2f2a40 100644
--- a/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureLoad/1bfdfb.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.msl
index 2af413e..c99aadf 100644
--- a/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureLoad/8acf41.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
index 13ffee7..eed0647 100644
--- a/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureSampleBaseClampToEdge/7c04e6.wgsl.expected.ir.msl
@@ -94,9 +94,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_5 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f));
v_3 = v_5.xyz;
- v_4 = v_5[3u];
+ v_4 = v_5.w;
} else {
- float const v_6 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f))[0u];
+ float const v_6 = plane_0.sample(tint_sampler, clamp(v_2, params.samplePlane0RectMin, params.samplePlane0RectMax), level(0.0f)).x;
v_3 = (float4(v_6, plane_1.sample(tint_sampler, clamp(v_2, params.samplePlane1RectMin, params.samplePlane1RectMax), level(0.0f)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_4 = 1.0f;
}
diff --git a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.msl
index 935704c..3173ac4 100644
--- a/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/06794e.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_06794e() {
half3x3 arg_0 = half3x3(half3(1.0h), half3(1.0h), half3(1.0h));
half3x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.msl
index e694077..2e358b2 100644
--- a/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/2585cd.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_2585cd() {
float4x3 arg_0 = float4x3(float3(1.0f), float3(1.0f), float3(1.0f), float3(1.0f));
float3x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.msl
index 42bf101..186e8a6 100644
--- a/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/31d679.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_31d679() {
float2x2 arg_0 = float2x2(float2(1.0f), float2(1.0f));
float2x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.msl
index 7ddfddc..76c6cb6 100644
--- a/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/31e37e.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_31e37e() {
float4x2 arg_0 = float4x2(float2(1.0f), float2(1.0f), float2(1.0f), float2(1.0f));
float2x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.msl
index cc06cec..8e18ff0 100644
--- a/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/4ce359.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_4ce359() {
float2x4 arg_0 = float2x4(float4(1.0f), float4(1.0f));
float4x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.msl
index 6f4e86f..e151a32 100644
--- a/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/4dc9a1.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_4dc9a1() {
float2x3 arg_0 = float2x3(float3(1.0f), float3(1.0f));
float3x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.msl
index 5b1a827..47af687 100644
--- a/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/5edd96.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_5edd96() {
half4x2 arg_0 = half4x2(half2(1.0h), half2(1.0h), half2(1.0h), half2(1.0h));
half2x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.msl
index bd30f54..6145caf 100644
--- a/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/5f36bf.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_5f36bf() {
half4x3 arg_0 = half4x3(half3(1.0h), half3(1.0h), half3(1.0h), half3(1.0h));
half3x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.msl
index fbf6548..4c0c201 100644
--- a/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/7be8b2.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_7be8b2() {
half2x2 arg_0 = half2x2(half2(1.0h), half2(1.0h));
half2x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.msl
index 20ce28c..d70c846 100644
--- a/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/844869.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_844869() {
half4x4 arg_0 = half4x4(half4(1.0h), half4(1.0h), half4(1.0h), half4(1.0h));
half4x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.msl
index ce15126..049f830 100644
--- a/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/854336.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_854336() {
float3x3 arg_0 = float3x3(float3(1.0f), float3(1.0f), float3(1.0f));
float3x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.msl
index b2c5e50..2f66fbd 100644
--- a/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/8c06ce.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_8c06ce() {
half3x4 arg_0 = half3x4(half4(1.0h), half4(1.0h), half4(1.0h));
half4x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.msl
index 1d9c569..c08755f 100644
--- a/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/b9ad1f.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_b9ad1f() {
half3x2 arg_0 = half3x2(half2(1.0h), half2(1.0h), half2(1.0h));
half2x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.msl
index d90b1e2..3013f6d 100644
--- a/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/c1b600.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_c1b600() {
float4x4 arg_0 = float4x4(float4(1.0f), float4(1.0f), float4(1.0f), float4(1.0f));
float4x4 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.msl
index c9c2686..add8470 100644
--- a/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/d6faec.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_d6faec() {
half2x3 arg_0 = half2x3(half3(1.0h), half3(1.0h));
half3x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.msl
index a69df64..0fafa9c 100644
--- a/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/d8f8ba.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_d8f8ba() {
float3x4 arg_0 = float3x4(float4(1.0f), float4(1.0f), float4(1.0f));
float4x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.msl
index 85e10de..7b02413 100644
--- a/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/ed4bdc.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_ed4bdc() {
float3x2 arg_0 = float3x2(float2(1.0f), float2(1.0f), float2(1.0f));
float2x3 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0f));
+ return select(0, 1, (res[0u].x == 0.0f));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.msl
index 714c392..c170fcb 100644
--- a/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/transpose/faeb05.wgsl.expected.ir.msl
@@ -18,7 +18,7 @@
int transpose_faeb05() {
half2x4 arg_0 = half2x4(half4(1.0h), half4(1.0h));
half4x2 res = transpose(arg_0);
- return select(0, 1, (res[0u][0u] == 0.0h));
+ return select(0, 1, (res[0u].x == 0.0h));
}
fragment void fragment_main(device int* prevent_dce [[buffer(0)]]) {
diff --git a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.msl b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.msl
index 399346e..d674498 100644
--- a/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.msl
+++ b/test/tint/builtins/textureLoad/depth_ms.spvasm.expected.ir.msl
@@ -17,7 +17,7 @@
void textureLoad_6273b1(tint_module_vars_struct tint_module_vars) {
float res = 0.0f;
uint2 const v = (uint2(tint_module_vars.arg_0.get_width(), tint_module_vars.arg_0.get_height()) - uint2(1u));
- res = float4(tint_module_vars.arg_0.read(min(uint2(int2(0)), v), 1), 0.0f, 0.0f, 0.0f)[0u];
+ res = float4(tint_module_vars.arg_0.read(min(uint2(int2(0)), v), 1), 0.0f, 0.0f, 0.0f).x;
}
void tint_symbol_2(float4 tint_symbol, tint_module_vars_struct tint_module_vars) {
diff --git a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.msl b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.msl
index 910a92c..4852aff 100644
--- a/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.msl
+++ b/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.ir.msl
@@ -87,9 +87,9 @@
if ((params.numPlanes == 1u)) {
float4 const v_6 = plane_0.read(v_3, 0u);
v_4 = v_6.xyz;
- v_5 = v_6[3u];
+ v_5 = v_6.w;
} else {
- float const v_7 = plane_0.read(v_3, 0u)[0u];
+ float const v_7 = plane_0.read(v_3, 0u).x;
v_4 = (float4(v_7, plane_1.read(uint2((v_2 * params.plane1CoordFactor)), 0u).xy, 1.0f) * params.yuvToRgbConversionMatrix);
v_5 = 1.0f;
}
diff --git a/test/tint/diagnostic_filtering/for_loop_attribute.wgsl.expected.ir.msl b/test/tint/diagnostic_filtering/for_loop_attribute.wgsl.expected.ir.msl
index 49b79da..7161fb2 100644
--- a/test/tint/diagnostic_filtering/for_loop_attribute.wgsl.expected.ir.msl
+++ b/test/tint/diagnostic_filtering/for_loop_attribute.wgsl.expected.ir.msl
@@ -26,7 +26,7 @@
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
bool v_1 = false;
- if ((x > v[0u])) {
+ if ((x > v.x)) {
v_1 = (dfdx(1.0f) > 0.0f);
} else {
v_1 = false;
diff --git a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.msl b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.msl
index 7d349b6..7108bed 100644
--- a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.msl
+++ b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.msl
@@ -30,7 +30,7 @@
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
- if ((x > v[0u])) {
+ if ((x > v.x)) {
} else {
break;
}
diff --git a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.msl b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.msl
index 93cc724..41b1284 100644
--- a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.msl
+++ b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.msl
@@ -30,7 +30,7 @@
{
while(true) {
TINT_ISOLATE_UB(tint_volatile_false)
- if ((x > v[0u])) {
+ if ((x > v.x)) {
} else {
break;
}
diff --git a/test/tint/expressions/index/let/literal/vector.wgsl.expected.ir.msl b/test/tint/expressions/index/let/literal/vector.wgsl.expected.ir.msl
index 244477b..f1c8e32 100644
--- a/test/tint/expressions/index/let/literal/vector.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/let/literal/vector.wgsl.expected.ir.msl
@@ -3,5 +3,5 @@
float f() {
float3 const v = float3(1.0f, 2.0f, 3.0f);
- return v[1u];
+ return v.y;
}
diff --git a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.msl b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.msl
index 06a5784..65eb501 100644
--- a/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/let/struct_with_matrix.wgsl.expected.ir.msl
@@ -8,5 +8,5 @@
float f() {
S const a = S{};
- return a.n[2u][1u];
+ return a.n[2u].y;
}
diff --git a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.msl b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.msl
index ccc5e24..f289760 100644
--- a/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/let/struct_with_vector.wgsl.expected.ir.msl
@@ -8,5 +8,5 @@
uint f() {
S const a = S{};
- return a.n[2u];
+ return a.n.z;
}
diff --git a/test/tint/expressions/index/var/literal/vector.wgsl.expected.ir.msl b/test/tint/expressions/index/var/literal/vector.wgsl.expected.ir.msl
index e37e801..d2d93ab 100644
--- a/test/tint/expressions/index/var/literal/vector.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/var/literal/vector.wgsl.expected.ir.msl
@@ -3,5 +3,5 @@
float f() {
float3 v = float3(1.0f, 2.0f, 3.0f);
- return v[1u];
+ return v.y;
}
diff --git a/test/tint/expressions/index/var/struct_with_matrix.wgsl.expected.ir.msl b/test/tint/expressions/index/var/struct_with_matrix.wgsl.expected.ir.msl
index 0a2f120..0f36ce4 100644
--- a/test/tint/expressions/index/var/struct_with_matrix.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/var/struct_with_matrix.wgsl.expected.ir.msl
@@ -8,5 +8,5 @@
float f() {
S a = S{};
- return a.n[2u][1u];
+ return a.n[2u].y;
}
diff --git a/test/tint/expressions/index/var/struct_with_vector.wgsl.expected.ir.msl b/test/tint/expressions/index/var/struct_with_vector.wgsl.expected.ir.msl
index 831fd6b..8ff062e 100644
--- a/test/tint/expressions/index/var/struct_with_vector.wgsl.expected.ir.msl
+++ b/test/tint/expressions/index/var/struct_with_vector.wgsl.expected.ir.msl
@@ -8,5 +8,5 @@
uint f() {
S a = S{};
- return a.n[2u];
+ return a.n.z;
}
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.ir.msl
index 2b92025..5cb470e 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/f16.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
half3 v = half3((*tint_module_vars.U).v);
- half x = (*tint_module_vars.U).v[0u];
- half y = (*tint_module_vars.U).v[1u];
- half z = (*tint_module_vars.U).v[2u];
+ half x = (*tint_module_vars.U).v.x;
+ half y = (*tint_module_vars.U).v.y;
+ half z = (*tint_module_vars.U).v.z;
half2 xx = half3((*tint_module_vars.U).v).xx;
half2 xy = half3((*tint_module_vars.U).v).xy;
half2 xz = half3((*tint_module_vars.U).v).xz;
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.msl
index 594fce7..4221c55 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
float3 v = float3((*tint_module_vars.U).v);
- float x = (*tint_module_vars.U).v[0u];
- float y = (*tint_module_vars.U).v[1u];
- float z = (*tint_module_vars.U).v[2u];
+ float x = (*tint_module_vars.U).v.x;
+ float y = (*tint_module_vars.U).v.y;
+ float z = (*tint_module_vars.U).v.z;
float2 xx = float3((*tint_module_vars.U).v).xx;
float2 xy = float3((*tint_module_vars.U).v).xy;
float2 xz = float3((*tint_module_vars.U).v).xz;
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.msl
index f545097..18efe63 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
int3 v = int3((*tint_module_vars.U).v);
- int x = (*tint_module_vars.U).v[0u];
- int y = (*tint_module_vars.U).v[1u];
- int z = (*tint_module_vars.U).v[2u];
+ int x = (*tint_module_vars.U).v.x;
+ int y = (*tint_module_vars.U).v.y;
+ int z = (*tint_module_vars.U).v.z;
int2 xx = int3((*tint_module_vars.U).v).xx;
int2 xy = int3((*tint_module_vars.U).v).xy;
int2 xz = int3((*tint_module_vars.U).v).xz;
diff --git a/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.msl
index 39731c5..de145cc 100644
--- a/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
uint3 v = uint3((*tint_module_vars.U).v);
- uint x = (*tint_module_vars.U).v[0u];
- uint y = (*tint_module_vars.U).v[1u];
- uint z = (*tint_module_vars.U).v[2u];
+ uint x = (*tint_module_vars.U).v.x;
+ uint y = (*tint_module_vars.U).v.y;
+ uint z = (*tint_module_vars.U).v.z;
uint2 xx = uint3((*tint_module_vars.U).v).xx;
uint2 xy = uint3((*tint_module_vars.U).v).xy;
uint2 xz = uint3((*tint_module_vars.U).v).xz;
diff --git a/test/tint/expressions/swizzle/read/swizzle.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/swizzle.wgsl.expected.ir.msl
index 73d3c17..4d91859 100644
--- a/test/tint/expressions/swizzle/read/swizzle.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/swizzle.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
void a() {
int4 a_1 = int4(0);
- int const b = a_1[0u];
+ int const b = a_1.x;
int4 const c = a_1.zzyy;
S d = S{};
float3 const e = d.val[2u].yzx;
diff --git a/test/tint/expressions/swizzle/read/vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/vec3/f16.wgsl.expected.ir.msl
index 0697fe4..09d0039 100644
--- a/test/tint/expressions/swizzle/read/vec3/f16.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/vec3/f16.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
half3 v = (*tint_module_vars.P).v;
- half x = (*tint_module_vars.P).v[0u];
- half y = (*tint_module_vars.P).v[1u];
- half z = (*tint_module_vars.P).v[2u];
+ half x = (*tint_module_vars.P).v.x;
+ half y = (*tint_module_vars.P).v.y;
+ half z = (*tint_module_vars.P).v.z;
half2 xx = (*tint_module_vars.P).v.xx;
half2 xy = (*tint_module_vars.P).v.xy;
half2 xz = (*tint_module_vars.P).v.xz;
diff --git a/test/tint/expressions/swizzle/read/vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/vec3/f32.wgsl.expected.ir.msl
index 8faf68b..2f6641c 100644
--- a/test/tint/expressions/swizzle/read/vec3/f32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/vec3/f32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
float3 v = (*tint_module_vars.P).v;
- float x = (*tint_module_vars.P).v[0u];
- float y = (*tint_module_vars.P).v[1u];
- float z = (*tint_module_vars.P).v[2u];
+ float x = (*tint_module_vars.P).v.x;
+ float y = (*tint_module_vars.P).v.y;
+ float z = (*tint_module_vars.P).v.z;
float2 xx = (*tint_module_vars.P).v.xx;
float2 xy = (*tint_module_vars.P).v.xy;
float2 xz = (*tint_module_vars.P).v.xz;
diff --git a/test/tint/expressions/swizzle/read/vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/vec3/i32.wgsl.expected.ir.msl
index bf225cf..a355034 100644
--- a/test/tint/expressions/swizzle/read/vec3/i32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/vec3/i32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
int3 v = (*tint_module_vars.P).v;
- int x = (*tint_module_vars.P).v[0u];
- int y = (*tint_module_vars.P).v[1u];
- int z = (*tint_module_vars.P).v[2u];
+ int x = (*tint_module_vars.P).v.x;
+ int y = (*tint_module_vars.P).v.y;
+ int z = (*tint_module_vars.P).v.z;
int2 xx = (*tint_module_vars.P).v.xx;
int2 xy = (*tint_module_vars.P).v.xy;
int2 xz = (*tint_module_vars.P).v.xz;
diff --git a/test/tint/expressions/swizzle/read/vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/read/vec3/u32.wgsl.expected.ir.msl
index 3e2aec2..4eb027f 100644
--- a/test/tint/expressions/swizzle/read/vec3/u32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/read/vec3/u32.wgsl.expected.ir.msl
@@ -11,9 +11,9 @@
void f(tint_module_vars_struct tint_module_vars) {
uint3 v = (*tint_module_vars.P).v;
- uint x = (*tint_module_vars.P).v[0u];
- uint y = (*tint_module_vars.P).v[1u];
- uint z = (*tint_module_vars.P).v[2u];
+ uint x = (*tint_module_vars.P).v.x;
+ uint y = (*tint_module_vars.P).v.y;
+ uint z = (*tint_module_vars.P).v.z;
uint2 xx = (*tint_module_vars.P).v.xx;
uint2 xy = (*tint_module_vars.P).v.xy;
uint2 xz = (*tint_module_vars.P).v.xz;
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl.expected.ir.msl
index 6f06f0a..4deda3e 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/f16.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.U).v = packed_half3(half3(1.0h, 2.0h, 3.0h));
- (*tint_module_vars.U).v[0u] = 1.0h;
- (*tint_module_vars.U).v[1u] = 2.0h;
- (*tint_module_vars.U).v[2u] = 3.0h;
+ (*tint_module_vars.U).v.x = 1.0h;
+ (*tint_module_vars.U).v.y = 2.0h;
+ (*tint_module_vars.U).v.z = 3.0h;
}
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.msl
index 974c392..75f66ac 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.U).v = packed_float3(float3(1.0f, 2.0f, 3.0f));
- (*tint_module_vars.U).v[0u] = 1.0f;
- (*tint_module_vars.U).v[1u] = 2.0f;
- (*tint_module_vars.U).v[2u] = 3.0f;
+ (*tint_module_vars.U).v.x = 1.0f;
+ (*tint_module_vars.U).v.y = 2.0f;
+ (*tint_module_vars.U).v.z = 3.0f;
}
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.msl
index 15c5617..18a1a03 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.U).v = packed_int3(int3(1, 2, 3));
- (*tint_module_vars.U).v[0u] = 1;
- (*tint_module_vars.U).v[1u] = 2;
- (*tint_module_vars.U).v[2u] = 3;
+ (*tint_module_vars.U).v.x = 1;
+ (*tint_module_vars.U).v.y = 2;
+ (*tint_module_vars.U).v.z = 3;
}
diff --git a/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.msl
index 94bd832..dae6e35 100644
--- a/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.U).v = packed_uint3(uint3(1u, 2u, 3u));
- (*tint_module_vars.U).v[0u] = 1u;
- (*tint_module_vars.U).v[1u] = 2u;
- (*tint_module_vars.U).v[2u] = 3u;
+ (*tint_module_vars.U).v.x = 1u;
+ (*tint_module_vars.U).v.y = 2u;
+ (*tint_module_vars.U).v.z = 3u;
}
diff --git a/test/tint/expressions/swizzle/write/swizzle.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/swizzle.wgsl.expected.ir.msl
index 34a15ac..00689e2 100644
--- a/test/tint/expressions/swizzle/write/swizzle.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/swizzle.wgsl.expected.ir.msl
@@ -19,8 +19,8 @@
void a() {
int4 a_1 = int4(0);
- a_1[0u] = 1;
- a_1[2u] = 2;
+ a_1.x = 1;
+ a_1.z = 2;
S d = S{};
- d.val[2u][1u] = 3.0f;
+ d.val[2u].y = 3.0f;
}
diff --git a/test/tint/expressions/swizzle/write/vec3/f16.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/vec3/f16.wgsl.expected.ir.msl
index 779907c..1bfa82a 100644
--- a/test/tint/expressions/swizzle/write/vec3/f16.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/vec3/f16.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.P).v = half3(1.0h, 2.0h, 3.0h);
- (*tint_module_vars.P).v[0u] = 1.0h;
- (*tint_module_vars.P).v[1u] = 2.0h;
- (*tint_module_vars.P).v[2u] = 3.0h;
+ (*tint_module_vars.P).v.x = 1.0h;
+ (*tint_module_vars.P).v.y = 2.0h;
+ (*tint_module_vars.P).v.z = 3.0h;
}
diff --git a/test/tint/expressions/swizzle/write/vec3/f32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/vec3/f32.wgsl.expected.ir.msl
index ef6d39d..0ca1b3a 100644
--- a/test/tint/expressions/swizzle/write/vec3/f32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/vec3/f32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.P).v = float3(1.0f, 2.0f, 3.0f);
- (*tint_module_vars.P).v[0u] = 1.0f;
- (*tint_module_vars.P).v[1u] = 2.0f;
- (*tint_module_vars.P).v[2u] = 3.0f;
+ (*tint_module_vars.P).v.x = 1.0f;
+ (*tint_module_vars.P).v.y = 2.0f;
+ (*tint_module_vars.P).v.z = 3.0f;
}
diff --git a/test/tint/expressions/swizzle/write/vec3/i32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/vec3/i32.wgsl.expected.ir.msl
index e271b04..a0beb6c 100644
--- a/test/tint/expressions/swizzle/write/vec3/i32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/vec3/i32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.P).v = int3(1, 2, 3);
- (*tint_module_vars.P).v[0u] = 1;
- (*tint_module_vars.P).v[1u] = 2;
- (*tint_module_vars.P).v[2u] = 3;
+ (*tint_module_vars.P).v.x = 1;
+ (*tint_module_vars.P).v.y = 2;
+ (*tint_module_vars.P).v.z = 3;
}
diff --git a/test/tint/expressions/swizzle/write/vec3/u32.wgsl.expected.ir.msl b/test/tint/expressions/swizzle/write/vec3/u32.wgsl.expected.ir.msl
index 1030aa0..97b6c6e 100644
--- a/test/tint/expressions/swizzle/write/vec3/u32.wgsl.expected.ir.msl
+++ b/test/tint/expressions/swizzle/write/vec3/u32.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
void f(tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.P).v = uint3(1u, 2u, 3u);
- (*tint_module_vars.P).v[0u] = 1u;
- (*tint_module_vars.P).v[1u] = 2u;
- (*tint_module_vars.P).v[2u] = 3u;
+ (*tint_module_vars.P).v.x = 1u;
+ (*tint_module_vars.P).v.y = 2u;
+ (*tint_module_vars.P).v.z = 3u;
}
diff --git a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.msl
index e9948ba..3c791d2 100644
--- a/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/a.wgsl.expected.ir.msl
@@ -14,7 +14,7 @@
}
void f_inner(float4 pos, float4 fbf, In in) {
- g(pos[0u], fbf[0u], in.uv[0u]);
+ g(pos.x, fbf.x, in.uv.x);
}
fragment void f(float4 pos [[position]], f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.msl
index ec4f7df..5be5142 100644
--- a/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/b.wgsl.expected.ir.msl
@@ -10,7 +10,7 @@
}
void f_inner(float4 pos, float4 uv, float4 fbf) {
- g(pos[0u], uv[0u], fbf[0u]);
+ g(pos.x, uv.x, fbf.x);
}
fragment void f(float4 pos [[position]], f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.msl
index 41d6c4a..c266cc2 100644
--- a/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/c.wgsl.expected.ir.msl
@@ -16,7 +16,7 @@
}
void f_inner(In in) {
- g(in.pos[0u], in.uv[0u], in.fbf[1u]);
+ g(in.pos.x, in.uv.x, in.fbf.y);
}
fragment void f(float4 In_pos [[position]], f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.msl
index 3522649..092a2fe 100644
--- a/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/d.wgsl.expected.ir.msl
@@ -15,7 +15,7 @@
}
void f_inner(int4 fbf_2, In in, float4 uv, uint4 fbf_0) {
- g(fbf_2[2u], in.pos[0u], uv[0u], fbf_0[1u]);
+ g(fbf_2.z, in.pos.x, uv.x, fbf_0.y);
}
fragment void f(f_inputs inputs [[stage_in]], float4 In_pos [[position]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.msl
index b93cb32..859e6ca 100644
--- a/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/e.wgsl.expected.ir.msl
@@ -14,7 +14,7 @@
}
void f_inner(In in) {
- g(in.fbf[3u], in.pos[0u]);
+ g(in.fbf.w, in.pos.x);
}
fragment void f(f_inputs inputs [[stage_in]], float4 In_pos [[position]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.msl
index 89a8791..208afdb 100644
--- a/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/f.wgsl.expected.ir.msl
@@ -13,7 +13,7 @@
}
void f_inner(In in, float4 fbf) {
- g(in.pos[0u], fbf[1u]);
+ g(in.pos.x, fbf.y);
}
fragment void f(float4 In_pos [[position]], f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.msl
index ebeb721..e212a9a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/g.wgsl.expected.ir.msl
@@ -9,7 +9,7 @@
}
void f_inner(float4 fbf, float4 pos) {
- g(fbf[3u], pos[0u]);
+ g(fbf.w, pos.x);
}
fragment void f(f_inputs inputs [[stage_in]], float4 pos [[position]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.msl
index c9d1663..dd140d7 100644
--- a/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/h.wgsl.expected.ir.msl
@@ -15,7 +15,7 @@
}
void f_inner(float4 pos, FBF fbf) {
- g(fbf.c1[0u], pos[1u], fbf.c3[2u]);
+ g(fbf.c1.x, pos.y, fbf.c3.z);
}
fragment void f(float4 pos [[position]], f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.msl
index d4dbf7a..2c434f4 100644
--- a/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/i.wgsl.expected.ir.msl
@@ -17,7 +17,7 @@
}
void f_inner(In in) {
- g(in.a[0u], in.b[1u], in.fbf[0u]);
+ g(in.a.x, in.b.y, in.fbf.x);
}
fragment void f(f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.msl
index 9554a0d..6c43d9a 100644
--- a/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/additional_params/j.wgsl.expected.ir.msl
@@ -11,7 +11,7 @@
}
void f_inner(float4 a, float4 b, float4 fbf) {
- g(a[0u], b[1u], fbf[0u]);
+ g(a.x, b.y, fbf.x);
}
fragment void f(f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.msl
index 312c5cd..83bd023 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/multiple_inputs.wgsl.expected.ir.msl
@@ -10,7 +10,7 @@
}
void f_inner(float4 fbf_1, float4 fbf_3) {
- g(fbf_1[0u], fbf_3[1u]);
+ g(fbf_1.x, fbf_3.y);
}
fragment void f(f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.msl b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.msl
index 490ca7a..19c6129 100644
--- a/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.msl
+++ b/test/tint/extensions/texel_fetch/zero_outputs/single_input.wgsl.expected.ir.msl
@@ -9,7 +9,7 @@
}
void f_inner(float4 fbf) {
- g(fbf[1u]);
+ g(fbf.y);
}
fragment void f(f_inputs inputs [[stage_in]]) {
diff --git a/test/tint/ptr_sugar/compound_assign_index.wgsl.expected.ir.msl b/test/tint/ptr_sugar/compound_assign_index.wgsl.expected.ir.msl
index 1bb5827..c871de8 100644
--- a/test/tint/ptr_sugar/compound_assign_index.wgsl.expected.ir.msl
+++ b/test/tint/ptr_sugar/compound_assign_index.wgsl.expected.ir.msl
@@ -4,25 +4,25 @@
void deref() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(42)));
}
void no_deref() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(42)));
}
void deref_inc() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(1)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(1)));
}
void no_deref_inc() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(1)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(1)));
}
kernel void tint_symbol() {
diff --git a/test/tint/ptr_sugar/compound_assign_member.wgsl.expected.ir.msl b/test/tint/ptr_sugar/compound_assign_member.wgsl.expected.ir.msl
index ae0d826..5d05476 100644
--- a/test/tint/ptr_sugar/compound_assign_member.wgsl.expected.ir.msl
+++ b/test/tint/ptr_sugar/compound_assign_member.wgsl.expected.ir.msl
@@ -4,13 +4,13 @@
void deref() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(42)));
}
void no_deref() {
int3 a = 0;
thread int3* const p = (&a);
- (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
+ (*p).x = as_type<int>((as_type<uint>((*p).x) + as_type<uint>(42)));
}
kernel void tint_symbol() {
diff --git a/test/tint/ptr_sugar/vector_index.wgsl.expected.ir.msl b/test/tint/ptr_sugar/vector_index.wgsl.expected.ir.msl
index 60e7ab6..6ab9c13 100644
--- a/test/tint/ptr_sugar/vector_index.wgsl.expected.ir.msl
+++ b/test/tint/ptr_sugar/vector_index.wgsl.expected.ir.msl
@@ -4,15 +4,15 @@
void deref_const() {
int3 a = 0;
thread int3* const p = (&a);
- int b = (*p)[0u];
- (*p)[0u] = 42;
+ int b = (*p).x;
+ (*p).x = 42;
}
void no_deref_const() {
int3 a = 0;
thread int3* const p = (&a);
- int b = (*p)[0u];
- (*p)[0u] = 42;
+ int b = (*p).x;
+ (*p).x = 42;
}
void deref_let() {
@@ -20,7 +20,7 @@
thread int3* const p = (&a);
int const i = 0;
int b = (*p)[min(uint(i), 2u)];
- (*p)[0u] = 42;
+ (*p).x = 42;
}
void no_deref_let() {
@@ -28,7 +28,7 @@
thread int3* const p = (&a);
int const i = 0;
int b = (*p)[min(uint(i), 2u)];
- (*p)[0u] = 42;
+ (*p).x = 42;
}
void deref_var() {
@@ -36,7 +36,7 @@
thread int3* const p = (&a);
int i = 0;
int b = (*p)[min(uint(i), 2u)];
- (*p)[0u] = 42;
+ (*p).x = 42;
}
void no_deref_var() {
@@ -44,7 +44,7 @@
thread int3* const p = (&a);
int const i = 0;
int b = (*p)[min(uint(i), 2u)];
- (*p)[0u] = 42;
+ (*p).x = 42;
}
kernel void tint_symbol() {
diff --git a/test/tint/ptr_sugar/vector_member.wgsl.expected.ir.msl b/test/tint/ptr_sugar/vector_member.wgsl.expected.ir.msl
index c29e85c..ec0616f 100644
--- a/test/tint/ptr_sugar/vector_member.wgsl.expected.ir.msl
+++ b/test/tint/ptr_sugar/vector_member.wgsl.expected.ir.msl
@@ -4,15 +4,15 @@
void deref() {
int3 a = 0;
thread int3* const p = (&a);
- int b = (*p)[0u];
- (*p)[0u] = 42;
+ int b = (*p).x;
+ (*p).x = 42;
}
void no_deref() {
int3 a = 0;
thread int3* const p = (&a);
- int b = (*p)[0u];
- (*p)[0u] = 42;
+ int b = (*p).x;
+ (*p).x = 42;
}
kernel void tint_symbol() {
diff --git a/test/tint/samples/compute_boids.wgsl.expected.ir.msl b/test/tint/samples/compute_boids.wgsl.expected.ir.msl
index e2e915a..297bf35 100644
--- a/test/tint/samples/compute_boids.wgsl.expected.ir.msl
+++ b/test/tint/samples/compute_boids.wgsl.expected.ir.msl
@@ -53,8 +53,8 @@
};
float4 vert_main_inner(float2 a_particlePos, float2 a_particleVel, float2 a_pos) {
- float angle = -(atan2(a_particleVel[0u], a_particleVel[1u]));
- float2 pos = float2(((a_pos[0u] * cos(angle)) - (a_pos[1u] * sin(angle))), ((a_pos[0u] * sin(angle)) + (a_pos[1u] * cos(angle))));
+ float angle = -(atan2(a_particleVel.x, a_particleVel.y));
+ float2 pos = float2(((a_pos.x * cos(angle)) - (a_pos.y * sin(angle))), ((a_pos.x * sin(angle)) + (a_pos.y * cos(angle))));
return float4((pos + a_particlePos), 0.0f, 1.0f);
}
@@ -63,7 +63,7 @@
}
void comp_main_inner(uint3 gl_GlobalInvocationID, tint_module_vars_struct tint_module_vars) {
- uint index = gl_GlobalInvocationID[0u];
+ uint index = gl_GlobalInvocationID.x;
if ((index >= 5u)) {
return;
}
@@ -122,17 +122,17 @@
vVel = (((vVel + (cMass * (*tint_module_vars.params).rule1Scale)) + (colVel * (*tint_module_vars.params).rule2Scale)) + (cVel * (*tint_module_vars.params).rule3Scale));
vVel = (normalize(vVel) * clamp(length(vVel), 0.0f, 0.10000000149011611938f));
vPos = (vPos + (vVel * (*tint_module_vars.params).deltaT));
- if ((vPos[0u] < -1.0f)) {
- vPos[0u] = 1.0f;
+ if ((vPos.x < -1.0f)) {
+ vPos.x = 1.0f;
}
- if ((vPos[0u] > 1.0f)) {
- vPos[0u] = -1.0f;
+ if ((vPos.x > 1.0f)) {
+ vPos.x = -1.0f;
}
- if ((vPos[1u] < -1.0f)) {
- vPos[1u] = 1.0f;
+ if ((vPos.y < -1.0f)) {
+ vPos.y = 1.0f;
}
- if ((vPos[1u] > 1.0f)) {
- vPos[1u] = -1.0f;
+ if ((vPos.y > 1.0f)) {
+ vPos.y = -1.0f;
}
(*tint_module_vars.particlesB).particles[min(index, 4u)].pos = vPos;
(*tint_module_vars.particlesB).particles[min(index, 4u)].vel = vVel;
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.ir.msl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.ir.msl
index 295d3c3..fc287c2 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.ir.msl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array.wgsl.expected.ir.msl
@@ -34,5 +34,5 @@
kernel void tint_symbol(const constant Uniforms* uniforms [[buffer(0)]], device OuterS* s1 [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.uniforms=uniforms, .s1=s1, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
InnerS v = {};
- (*tint_module_vars.s1).a1[min((*tint_module_vars.uniforms).i, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 4u) - 1u))] = v;
+ (*tint_module_vars.s1).a1[min((*tint_module_vars.uniforms).i, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u) - 1u))] = v;
}
diff --git a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.ir.msl b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.ir.msl
index 12a5b37..411387e 100644
--- a/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.ir.msl
+++ b/test/tint/statements/assign/indexed_assign_to_array_in_struct/struct_dynamic_array_struct_array.wgsl.expected.ir.msl
@@ -39,5 +39,5 @@
kernel void tint_symbol(const constant Uniforms* uniforms [[buffer(0)]], device OuterS* s [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.uniforms=uniforms, .s=s, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
InnerS v = {};
- (*tint_module_vars.s).a1[min((*tint_module_vars.uniforms).i, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] - 0u) / 32u) - 1u))].a2[min((*tint_module_vars.uniforms).j, 7u)] = v;
+ (*tint_module_vars.s).a1[min((*tint_module_vars.uniforms).i, ((((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 32u) - 1u))].a2[min((*tint_module_vars.uniforms).j, 7u)] = v;
}
diff --git a/test/tint/statements/decrement/array_element.wgsl.expected.ir.msl b/test/tint/statements/decrement/array_element.wgsl.expected.ir.msl
index c5e9d04..8042e3b 100644
--- a/test/tint/statements/decrement/array_element.wgsl.expected.ir.msl
+++ b/test/tint/statements/decrement/array_element.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
};
void tint_symbol(tint_module_vars_struct tint_module_vars) {
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
device uint* const v_1 = (&(*tint_module_vars.a)[min(uint(1), v)]);
(*v_1) = ((*v_1) - 1u);
}
diff --git a/test/tint/statements/decrement/complex.wgsl.expected.ir.msl b/test/tint/statements/decrement/complex.wgsl.expected.ir.msl
index 91040d4..12e3e83 100644
--- a/test/tint/statements/decrement/complex.wgsl.expected.ir.msl
+++ b/test/tint/statements/decrement/complex.wgsl.expected.ir.msl
@@ -60,7 +60,7 @@
{
int const v_1 = idx1(tint_module_vars);
int const v_2 = idx2(tint_module_vars);
- uint const v_3 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 64u) - 1u);
+ uint const v_3 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 64u) - 1u);
uint const v_4 = min(uint(v_1), v_3);
device int4* const v_5 = (&(*tint_module_vars.tint_symbol)[v_4].a[min(uint(v_2), 3u)]);
int const v_6 = idx3(tint_module_vars);
@@ -75,7 +75,7 @@
{
int const v_8 = idx4(tint_module_vars);
int const v_9 = idx5(tint_module_vars);
- uint const v_10 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 64u) - 1u);
+ uint const v_10 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 64u) - 1u);
uint const v_11 = min(uint(v_8), v_10);
device int4* const v_12 = (&(*tint_module_vars.tint_symbol)[v_11].a[min(uint(v_9), 3u)]);
int const v_13 = idx6(tint_module_vars);
diff --git a/test/tint/statements/decrement/vector_component.wgsl.expected.ir.msl b/test/tint/statements/decrement/vector_component.wgsl.expected.ir.msl
index 10c8ce4..587baf3 100644
--- a/test/tint/statements/decrement/vector_component.wgsl.expected.ir.msl
+++ b/test/tint/statements/decrement/vector_component.wgsl.expected.ir.msl
@@ -6,6 +6,6 @@
};
void tint_symbol(tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.a)[1u] = ((*tint_module_vars.a)[1u] - 1u);
- (*tint_module_vars.a)[2u] = ((*tint_module_vars.a)[2u] - 1u);
+ (*tint_module_vars.a).y = ((*tint_module_vars.a).y - 1u);
+ (*tint_module_vars.a).z = ((*tint_module_vars.a).z - 1u);
}
diff --git a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.msl b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.msl
index 7e4bc07..76a56a7 100644
--- a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.msl
+++ b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.msl
@@ -28,7 +28,7 @@
if ((in == 0.0f)) {
(*tint_module_vars.continue_execution) = false;
}
- int result = tint_f32_to_i32(tint_module_vars.t.sample(tint_module_vars.s, coord)[0u]);
+ int result = tint_f32_to_i32(tint_module_vars.t.sample(tint_module_vars.s, coord).x);
{
int i = 0;
while(true) {
diff --git a/test/tint/statements/increment/array_element.wgsl.expected.ir.msl b/test/tint/statements/increment/array_element.wgsl.expected.ir.msl
index 098ddfa..98aa379 100644
--- a/test/tint/statements/increment/array_element.wgsl.expected.ir.msl
+++ b/test/tint/statements/increment/array_element.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
};
void tint_symbol(tint_module_vars_struct tint_module_vars) {
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
device uint* const v_1 = (&(*tint_module_vars.a)[min(uint(1), v)]);
(*v_1) = ((*v_1) + 1u);
}
diff --git a/test/tint/statements/increment/complex.wgsl.expected.ir.msl b/test/tint/statements/increment/complex.wgsl.expected.ir.msl
index a525efd..ef40ff4 100644
--- a/test/tint/statements/increment/complex.wgsl.expected.ir.msl
+++ b/test/tint/statements/increment/complex.wgsl.expected.ir.msl
@@ -60,7 +60,7 @@
{
int const v_1 = idx1(tint_module_vars);
int const v_2 = idx2(tint_module_vars);
- uint const v_3 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 64u) - 1u);
+ uint const v_3 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 64u) - 1u);
uint const v_4 = min(uint(v_1), v_3);
device int4* const v_5 = (&(*tint_module_vars.tint_symbol)[v_4].a[min(uint(v_2), 3u)]);
int const v_6 = idx3(tint_module_vars);
@@ -75,7 +75,7 @@
{
int const v_8 = idx4(tint_module_vars);
int const v_9 = idx5(tint_module_vars);
- uint const v_10 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 64u) - 1u);
+ uint const v_10 = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 64u) - 1u);
uint const v_11 = min(uint(v_8), v_10);
device int4* const v_12 = (&(*tint_module_vars.tint_symbol)[v_11].a[min(uint(v_9), 3u)]);
int const v_13 = idx6(tint_module_vars);
diff --git a/test/tint/statements/increment/vector_component.wgsl.expected.ir.msl b/test/tint/statements/increment/vector_component.wgsl.expected.ir.msl
index 8065294..5f2c4aa 100644
--- a/test/tint/statements/increment/vector_component.wgsl.expected.ir.msl
+++ b/test/tint/statements/increment/vector_component.wgsl.expected.ir.msl
@@ -6,6 +6,6 @@
};
void tint_symbol(tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.a)[1u] = ((*tint_module_vars.a)[1u] + 1u);
- (*tint_module_vars.a)[2u] = ((*tint_module_vars.a)[2u] + 1u);
+ (*tint_module_vars.a).y = ((*tint_module_vars.a).y + 1u);
+ (*tint_module_vars.a).z = ((*tint_module_vars.a).z + 1u);
}
diff --git a/test/tint/types/buffers/storage.wgsl.expected.ir.msl b/test/tint/types/buffers/storage.wgsl.expected.ir.msl
index 51f6589..4a1d4ea 100644
--- a/test/tint/types/buffers/storage.wgsl.expected.ir.msl
+++ b/test/tint/types/buffers/storage.wgsl.expected.ir.msl
@@ -20,6 +20,6 @@
fragment void tint_symbol(const device tint_array<float, 1>* weights [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.weights=weights, .tint_storage_buffer_sizes=tint_storage_buffer_sizes};
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
float a = (*tint_module_vars.weights)[min(uint(0), v)];
}
diff --git a/test/tint/types/buffers/uniform.wgsl.expected.ir.msl b/test/tint/types/buffers/uniform.wgsl.expected.ir.msl
index f97e1f8..bfcb8ed 100644
--- a/test/tint/types/buffers/uniform.wgsl.expected.ir.msl
+++ b/test/tint/types/buffers/uniform.wgsl.expected.ir.msl
@@ -7,5 +7,5 @@
fragment void tint_symbol(const constant float2* weights [[buffer(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.weights=weights};
- float a = (*tint_module_vars.weights)[0u];
+ float a = (*tint_module_vars.weights).x;
}
diff --git a/test/tint/types/functions/shader_io/compute_input_builtins.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/compute_input_builtins.wgsl.expected.ir.msl
index 21aa909..e9d9635 100644
--- a/test/tint/types/functions/shader_io/compute_input_builtins.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/compute_input_builtins.wgsl.expected.ir.msl
@@ -2,7 +2,7 @@
using namespace metal;
void tint_symbol_inner(uint3 local_invocation_id, uint local_invocation_index, uint3 global_invocation_id, uint3 workgroup_id, uint3 num_workgroups) {
- uint const foo = ((((local_invocation_id[0u] + local_invocation_index) + global_invocation_id[0u]) + workgroup_id[0u]) + num_workgroups[0u]);
+ uint const foo = ((((local_invocation_id.x + local_invocation_index) + global_invocation_id.x) + workgroup_id.x) + num_workgroups.x);
}
kernel void tint_symbol(uint3 local_invocation_id [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], uint3 workgroup_id [[threadgroup_position_in_grid]], uint3 num_workgroups [[threadgroups_per_grid]]) {
diff --git a/test/tint/types/functions/shader_io/compute_input_builtins_struct.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/compute_input_builtins_struct.wgsl.expected.ir.msl
index b80d82a..d6278d8 100644
--- a/test/tint/types/functions/shader_io/compute_input_builtins_struct.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/compute_input_builtins_struct.wgsl.expected.ir.msl
@@ -10,7 +10,7 @@
};
void tint_symbol_inner(ComputeInputs inputs) {
- uint const foo = ((((inputs.local_invocation_id[0u] + inputs.local_invocation_index) + inputs.global_invocation_id[0u]) + inputs.workgroup_id[0u]) + inputs.num_workgroups[0u]);
+ uint const foo = ((((inputs.local_invocation_id.x + inputs.local_invocation_index) + inputs.global_invocation_id.x) + inputs.workgroup_id.x) + inputs.num_workgroups.x);
}
kernel void tint_symbol(uint3 ComputeInputs_local_invocation_id [[thread_position_in_threadgroup]], uint ComputeInputs_local_invocation_index [[thread_index_in_threadgroup]], uint3 ComputeInputs_global_invocation_id [[thread_position_in_grid]], uint3 ComputeInputs_workgroup_id [[threadgroup_position_in_grid]], uint3 ComputeInputs_num_workgroups [[threadgroups_per_grid]]) {
diff --git a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.msl
index 0412019..0c5adaf 100644
--- a/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/compute_input_mixed.wgsl.expected.ir.msl
@@ -10,7 +10,7 @@
};
void tint_symbol_inner(ComputeInputs0 inputs0, uint local_invocation_index, uint3 global_invocation_id, ComputeInputs1 inputs1) {
- uint const foo = (((inputs0.local_invocation_id[0u] + local_invocation_index) + global_invocation_id[0u]) + inputs1.workgroup_id[0u]);
+ uint const foo = (((inputs0.local_invocation_id.x + local_invocation_index) + global_invocation_id.x) + inputs1.workgroup_id.x);
}
kernel void tint_symbol(uint3 ComputeInputs0_local_invocation_id [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], uint3 ComputeInputs1_workgroup_id [[threadgroup_position_in_grid]]) {
diff --git a/test/tint/types/functions/shader_io/compute_subgroup_builtins.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/compute_subgroup_builtins.wgsl.expected.ir.msl
index 48018c6..f313ca4 100644
--- a/test/tint/types/functions/shader_io/compute_subgroup_builtins.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/compute_subgroup_builtins.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
};
void tint_symbol_inner(uint subgroup_invocation_id, uint subgroup_size, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.output)[min(subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u))] = subgroup_size;
+ (*tint_module_vars.output)[min(subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u))] = subgroup_size;
}
kernel void tint_symbol(uint subgroup_invocation_id [[thread_index_in_simdgroup]], uint subgroup_size [[threads_per_simdgroup]], device tint_array<uint, 1>* output [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/types/functions/shader_io/compute_subgroup_builtins_struct.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/compute_subgroup_builtins_struct.wgsl.expected.ir.msl
index 153c52f..fb90a3f 100644
--- a/test/tint/types/functions/shader_io/compute_subgroup_builtins_struct.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/compute_subgroup_builtins_struct.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
void tint_symbol_inner(ComputeInputs inputs, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.output)[min(inputs.subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u))] = inputs.subgroup_size;
+ (*tint_module_vars.output)[min(inputs.subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u))] = inputs.subgroup_size;
}
kernel void tint_symbol(uint ComputeInputs_subgroup_invocation_id [[thread_index_in_simdgroup]], uint ComputeInputs_subgroup_size [[threads_per_simdgroup]], device tint_array<uint, 1>* output [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/types/functions/shader_io/fragment_subgroup_builtins.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/fragment_subgroup_builtins.wgsl.expected.ir.msl
index 818bf7d..773a08f 100644
--- a/test/tint/types/functions/shader_io/fragment_subgroup_builtins.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/fragment_subgroup_builtins.wgsl.expected.ir.msl
@@ -19,7 +19,7 @@
};
void tint_symbol_inner(uint subgroup_invocation_id, uint subgroup_size, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.output)[min(subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u))] = subgroup_size;
+ (*tint_module_vars.output)[min(subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u))] = subgroup_size;
}
fragment void tint_symbol(uint subgroup_invocation_id [[thread_index_in_simdgroup]], uint subgroup_size [[threads_per_simdgroup]], device tint_array<uint, 1>* output [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/types/functions/shader_io/fragment_subgroup_builtins_struct.wgsl.expected.ir.msl b/test/tint/types/functions/shader_io/fragment_subgroup_builtins_struct.wgsl.expected.ir.msl
index 474e048..d64b910 100644
--- a/test/tint/types/functions/shader_io/fragment_subgroup_builtins_struct.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/shader_io/fragment_subgroup_builtins_struct.wgsl.expected.ir.msl
@@ -24,7 +24,7 @@
};
void tint_symbol_inner(FragmentInputs inputs, tint_module_vars_struct tint_module_vars) {
- (*tint_module_vars.output)[min(inputs.subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u))] = inputs.subgroup_size;
+ (*tint_module_vars.output)[min(inputs.subgroup_invocation_id, (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u))] = inputs.subgroup_size;
}
fragment void tint_symbol(uint FragmentInputs_subgroup_invocation_id [[thread_index_in_simdgroup]], uint FragmentInputs_subgroup_size [[threads_per_simdgroup]], device tint_array<uint, 1>* output [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) {
diff --git a/test/tint/types/module_scope_used_in_functions.wgsl.expected.ir.msl b/test/tint/types/module_scope_used_in_functions.wgsl.expected.ir.msl
index b153f23..b540338 100644
--- a/test/tint/types/module_scope_used_in_functions.wgsl.expected.ir.msl
+++ b/test/tint/types/module_scope_used_in_functions.wgsl.expected.ir.msl
@@ -35,9 +35,9 @@
void bar(float a, float b, tint_module_vars_struct tint_module_vars) {
(*tint_module_vars.p) = a;
(*tint_module_vars.w) = b;
- uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u][0u] / 4u) - 1u);
+ uint const v = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x / 4u) - 1u);
device float* const v_1 = (&(*tint_module_vars.storages)[min(uint(0), v)]);
- (*v_1) = (*tint_module_vars.uniforms)[0u];
+ (*v_1) = (*tint_module_vars.uniforms).x;
zoo(tint_module_vars);
}
diff --git a/test/tint/var/uses/many_workgroup_vars.wgsl.expected.ir.msl b/test/tint/var/uses/many_workgroup_vars.wgsl.expected.ir.msl
index 0f6f0a0..31677c0 100644
--- a/test/tint/var/uses/many_workgroup_vars.wgsl.expected.ir.msl
+++ b/test/tint/var/uses/many_workgroup_vars.wgsl.expected.ir.msl
@@ -311,106 +311,106 @@
(*tint_module_vars.m99) = float2x2(float2(0.0f), float2(0.0f));
}
threadgroup_barrier(mem_flags::mem_threadgroup);
- (*tint_module_vars.m00)[0u][0u] = 1.0f;
- (*tint_module_vars.m01)[0u][0u] = 1.0f;
- (*tint_module_vars.m02)[0u][0u] = 1.0f;
- (*tint_module_vars.m03)[0u][0u] = 1.0f;
- (*tint_module_vars.m04)[0u][0u] = 1.0f;
- (*tint_module_vars.m05)[0u][0u] = 1.0f;
- (*tint_module_vars.m06)[0u][0u] = 1.0f;
- (*tint_module_vars.m07)[0u][0u] = 1.0f;
- (*tint_module_vars.m08)[0u][0u] = 1.0f;
- (*tint_module_vars.m09)[0u][0u] = 1.0f;
- (*tint_module_vars.m10)[0u][0u] = 1.0f;
- (*tint_module_vars.m11)[0u][0u] = 1.0f;
- (*tint_module_vars.m12)[0u][0u] = 1.0f;
- (*tint_module_vars.m13)[0u][0u] = 1.0f;
- (*tint_module_vars.m14)[0u][0u] = 1.0f;
- (*tint_module_vars.m15)[0u][0u] = 1.0f;
- (*tint_module_vars.m16)[0u][0u] = 1.0f;
- (*tint_module_vars.m17)[0u][0u] = 1.0f;
- (*tint_module_vars.m18)[0u][0u] = 1.0f;
- (*tint_module_vars.m19)[0u][0u] = 1.0f;
- (*tint_module_vars.m20)[0u][0u] = 1.0f;
- (*tint_module_vars.m21)[0u][0u] = 1.0f;
- (*tint_module_vars.m22)[0u][0u] = 1.0f;
- (*tint_module_vars.m23)[0u][0u] = 1.0f;
- (*tint_module_vars.m24)[0u][0u] = 1.0f;
- (*tint_module_vars.m25)[0u][0u] = 1.0f;
- (*tint_module_vars.m26)[0u][0u] = 1.0f;
- (*tint_module_vars.m27)[0u][0u] = 1.0f;
- (*tint_module_vars.m28)[0u][0u] = 1.0f;
- (*tint_module_vars.m29)[0u][0u] = 1.0f;
- (*tint_module_vars.m30)[0u][0u] = 1.0f;
- (*tint_module_vars.m31)[0u][0u] = 1.0f;
- (*tint_module_vars.m32)[0u][0u] = 1.0f;
- (*tint_module_vars.m33)[0u][0u] = 1.0f;
- (*tint_module_vars.m34)[0u][0u] = 1.0f;
- (*tint_module_vars.m35)[0u][0u] = 1.0f;
- (*tint_module_vars.m36)[0u][0u] = 1.0f;
- (*tint_module_vars.m37)[0u][0u] = 1.0f;
- (*tint_module_vars.m38)[0u][0u] = 1.0f;
- (*tint_module_vars.m39)[0u][0u] = 1.0f;
- (*tint_module_vars.m40)[0u][0u] = 1.0f;
- (*tint_module_vars.m41)[0u][0u] = 1.0f;
- (*tint_module_vars.m42)[0u][0u] = 1.0f;
- (*tint_module_vars.m43)[0u][0u] = 1.0f;
- (*tint_module_vars.m44)[0u][0u] = 1.0f;
- (*tint_module_vars.m45)[0u][0u] = 1.0f;
- (*tint_module_vars.m46)[0u][0u] = 1.0f;
- (*tint_module_vars.m47)[0u][0u] = 1.0f;
- (*tint_module_vars.m48)[0u][0u] = 1.0f;
- (*tint_module_vars.m49)[0u][0u] = 1.0f;
- (*tint_module_vars.m50)[0u][0u] = 1.0f;
- (*tint_module_vars.m51)[0u][0u] = 1.0f;
- (*tint_module_vars.m52)[0u][0u] = 1.0f;
- (*tint_module_vars.m53)[0u][0u] = 1.0f;
- (*tint_module_vars.m54)[0u][0u] = 1.0f;
- (*tint_module_vars.m55)[0u][0u] = 1.0f;
- (*tint_module_vars.m56)[0u][0u] = 1.0f;
- (*tint_module_vars.m57)[0u][0u] = 1.0f;
- (*tint_module_vars.m58)[0u][0u] = 1.0f;
- (*tint_module_vars.m59)[0u][0u] = 1.0f;
- (*tint_module_vars.m60)[0u][0u] = 1.0f;
- (*tint_module_vars.m61)[0u][0u] = 1.0f;
- (*tint_module_vars.m62)[0u][0u] = 1.0f;
- (*tint_module_vars.m63)[0u][0u] = 1.0f;
- (*tint_module_vars.m64)[0u][0u] = 1.0f;
- (*tint_module_vars.m65)[0u][0u] = 1.0f;
- (*tint_module_vars.m66)[0u][0u] = 1.0f;
- (*tint_module_vars.m67)[0u][0u] = 1.0f;
- (*tint_module_vars.m68)[0u][0u] = 1.0f;
- (*tint_module_vars.m69)[0u][0u] = 1.0f;
- (*tint_module_vars.m70)[0u][0u] = 1.0f;
- (*tint_module_vars.m71)[0u][0u] = 1.0f;
- (*tint_module_vars.m72)[0u][0u] = 1.0f;
- (*tint_module_vars.m73)[0u][0u] = 1.0f;
- (*tint_module_vars.m74)[0u][0u] = 1.0f;
- (*tint_module_vars.m75)[0u][0u] = 1.0f;
- (*tint_module_vars.m76)[0u][0u] = 1.0f;
- (*tint_module_vars.m77)[0u][0u] = 1.0f;
- (*tint_module_vars.m78)[0u][0u] = 1.0f;
- (*tint_module_vars.m79)[0u][0u] = 1.0f;
- (*tint_module_vars.m80)[0u][0u] = 1.0f;
- (*tint_module_vars.m81)[0u][0u] = 1.0f;
- (*tint_module_vars.m82)[0u][0u] = 1.0f;
- (*tint_module_vars.m83)[0u][0u] = 1.0f;
- (*tint_module_vars.m84)[0u][0u] = 1.0f;
- (*tint_module_vars.m85)[0u][0u] = 1.0f;
- (*tint_module_vars.m86)[0u][0u] = 1.0f;
- (*tint_module_vars.m87)[0u][0u] = 1.0f;
- (*tint_module_vars.m88)[0u][0u] = 1.0f;
- (*tint_module_vars.m89)[0u][0u] = 1.0f;
- (*tint_module_vars.m90)[0u][0u] = 1.0f;
- (*tint_module_vars.m91)[0u][0u] = 1.0f;
- (*tint_module_vars.m92)[0u][0u] = 1.0f;
- (*tint_module_vars.m93)[0u][0u] = 1.0f;
- (*tint_module_vars.m94)[0u][0u] = 1.0f;
- (*tint_module_vars.m95)[0u][0u] = 1.0f;
- (*tint_module_vars.m96)[0u][0u] = 1.0f;
- (*tint_module_vars.m97)[0u][0u] = 1.0f;
- (*tint_module_vars.m98)[0u][0u] = 1.0f;
- (*tint_module_vars.m99)[0u][0u] = 1.0f;
+ (*tint_module_vars.m00)[0u].x = 1.0f;
+ (*tint_module_vars.m01)[0u].x = 1.0f;
+ (*tint_module_vars.m02)[0u].x = 1.0f;
+ (*tint_module_vars.m03)[0u].x = 1.0f;
+ (*tint_module_vars.m04)[0u].x = 1.0f;
+ (*tint_module_vars.m05)[0u].x = 1.0f;
+ (*tint_module_vars.m06)[0u].x = 1.0f;
+ (*tint_module_vars.m07)[0u].x = 1.0f;
+ (*tint_module_vars.m08)[0u].x = 1.0f;
+ (*tint_module_vars.m09)[0u].x = 1.0f;
+ (*tint_module_vars.m10)[0u].x = 1.0f;
+ (*tint_module_vars.m11)[0u].x = 1.0f;
+ (*tint_module_vars.m12)[0u].x = 1.0f;
+ (*tint_module_vars.m13)[0u].x = 1.0f;
+ (*tint_module_vars.m14)[0u].x = 1.0f;
+ (*tint_module_vars.m15)[0u].x = 1.0f;
+ (*tint_module_vars.m16)[0u].x = 1.0f;
+ (*tint_module_vars.m17)[0u].x = 1.0f;
+ (*tint_module_vars.m18)[0u].x = 1.0f;
+ (*tint_module_vars.m19)[0u].x = 1.0f;
+ (*tint_module_vars.m20)[0u].x = 1.0f;
+ (*tint_module_vars.m21)[0u].x = 1.0f;
+ (*tint_module_vars.m22)[0u].x = 1.0f;
+ (*tint_module_vars.m23)[0u].x = 1.0f;
+ (*tint_module_vars.m24)[0u].x = 1.0f;
+ (*tint_module_vars.m25)[0u].x = 1.0f;
+ (*tint_module_vars.m26)[0u].x = 1.0f;
+ (*tint_module_vars.m27)[0u].x = 1.0f;
+ (*tint_module_vars.m28)[0u].x = 1.0f;
+ (*tint_module_vars.m29)[0u].x = 1.0f;
+ (*tint_module_vars.m30)[0u].x = 1.0f;
+ (*tint_module_vars.m31)[0u].x = 1.0f;
+ (*tint_module_vars.m32)[0u].x = 1.0f;
+ (*tint_module_vars.m33)[0u].x = 1.0f;
+ (*tint_module_vars.m34)[0u].x = 1.0f;
+ (*tint_module_vars.m35)[0u].x = 1.0f;
+ (*tint_module_vars.m36)[0u].x = 1.0f;
+ (*tint_module_vars.m37)[0u].x = 1.0f;
+ (*tint_module_vars.m38)[0u].x = 1.0f;
+ (*tint_module_vars.m39)[0u].x = 1.0f;
+ (*tint_module_vars.m40)[0u].x = 1.0f;
+ (*tint_module_vars.m41)[0u].x = 1.0f;
+ (*tint_module_vars.m42)[0u].x = 1.0f;
+ (*tint_module_vars.m43)[0u].x = 1.0f;
+ (*tint_module_vars.m44)[0u].x = 1.0f;
+ (*tint_module_vars.m45)[0u].x = 1.0f;
+ (*tint_module_vars.m46)[0u].x = 1.0f;
+ (*tint_module_vars.m47)[0u].x = 1.0f;
+ (*tint_module_vars.m48)[0u].x = 1.0f;
+ (*tint_module_vars.m49)[0u].x = 1.0f;
+ (*tint_module_vars.m50)[0u].x = 1.0f;
+ (*tint_module_vars.m51)[0u].x = 1.0f;
+ (*tint_module_vars.m52)[0u].x = 1.0f;
+ (*tint_module_vars.m53)[0u].x = 1.0f;
+ (*tint_module_vars.m54)[0u].x = 1.0f;
+ (*tint_module_vars.m55)[0u].x = 1.0f;
+ (*tint_module_vars.m56)[0u].x = 1.0f;
+ (*tint_module_vars.m57)[0u].x = 1.0f;
+ (*tint_module_vars.m58)[0u].x = 1.0f;
+ (*tint_module_vars.m59)[0u].x = 1.0f;
+ (*tint_module_vars.m60)[0u].x = 1.0f;
+ (*tint_module_vars.m61)[0u].x = 1.0f;
+ (*tint_module_vars.m62)[0u].x = 1.0f;
+ (*tint_module_vars.m63)[0u].x = 1.0f;
+ (*tint_module_vars.m64)[0u].x = 1.0f;
+ (*tint_module_vars.m65)[0u].x = 1.0f;
+ (*tint_module_vars.m66)[0u].x = 1.0f;
+ (*tint_module_vars.m67)[0u].x = 1.0f;
+ (*tint_module_vars.m68)[0u].x = 1.0f;
+ (*tint_module_vars.m69)[0u].x = 1.0f;
+ (*tint_module_vars.m70)[0u].x = 1.0f;
+ (*tint_module_vars.m71)[0u].x = 1.0f;
+ (*tint_module_vars.m72)[0u].x = 1.0f;
+ (*tint_module_vars.m73)[0u].x = 1.0f;
+ (*tint_module_vars.m74)[0u].x = 1.0f;
+ (*tint_module_vars.m75)[0u].x = 1.0f;
+ (*tint_module_vars.m76)[0u].x = 1.0f;
+ (*tint_module_vars.m77)[0u].x = 1.0f;
+ (*tint_module_vars.m78)[0u].x = 1.0f;
+ (*tint_module_vars.m79)[0u].x = 1.0f;
+ (*tint_module_vars.m80)[0u].x = 1.0f;
+ (*tint_module_vars.m81)[0u].x = 1.0f;
+ (*tint_module_vars.m82)[0u].x = 1.0f;
+ (*tint_module_vars.m83)[0u].x = 1.0f;
+ (*tint_module_vars.m84)[0u].x = 1.0f;
+ (*tint_module_vars.m85)[0u].x = 1.0f;
+ (*tint_module_vars.m86)[0u].x = 1.0f;
+ (*tint_module_vars.m87)[0u].x = 1.0f;
+ (*tint_module_vars.m88)[0u].x = 1.0f;
+ (*tint_module_vars.m89)[0u].x = 1.0f;
+ (*tint_module_vars.m90)[0u].x = 1.0f;
+ (*tint_module_vars.m91)[0u].x = 1.0f;
+ (*tint_module_vars.m92)[0u].x = 1.0f;
+ (*tint_module_vars.m93)[0u].x = 1.0f;
+ (*tint_module_vars.m94)[0u].x = 1.0f;
+ (*tint_module_vars.m95)[0u].x = 1.0f;
+ (*tint_module_vars.m96)[0u].x = 1.0f;
+ (*tint_module_vars.m97)[0u].x = 1.0f;
+ (*tint_module_vars.m98)[0u].x = 1.0f;
+ (*tint_module_vars.m99)[0u].x = 1.0f;
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], threadgroup tint_symbol_101* v [[threadgroup(0)]]) {