tint/msl: Fix emission of private variables

In order to avoid declaring too many function parameters, we
previously modified this transform to redeclare private variables that
are only used inside a single function as function-scope
variables. This was broken as it meant that their values did not
persist across multiple calls to the same function.

Instead, wrap all private variables in a structure and pass it around
as a pointer.

Fixed: tint:1875
Change-Id: I83f5eb1071d57b9c6af56d6cf21b3a32c6e94260
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124800
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
This commit is contained in:
James Price
2023-03-20 21:46:01 +00:00
committed by Dawn LUCI CQ
parent 2a7005f416
commit 0e22bdbae7
788 changed files with 9507 additions and 6127 deletions

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<float2x2, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<float2x2, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float2x2, 4> const l_a = *(tint_symbol_3);
float2x2 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
float2 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<float2x2, 4> const l_a = *(tint_symbol_2);
float2x2 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
float2 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<float2x2, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float2x2, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].yx;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<float2x2, 4> p;
};
kernel void f(const constant tint_array<float2x2, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].yx;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
int counter;
};
struct tint_packed_vec3_f16_array_element {
/* 0x0000 */ packed_half3 elements;
/* 0x0006 */ tint_array<int8_t, 2> tint_pad;
@@ -35,20 +39,21 @@ tint_array<half2x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<tin
return result;
}
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 2>, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 2>, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<half2x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_3));
half2x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_3))[p_a_i_save]);
half3 const l_a_i_i = half3((*(tint_symbol_3))[p_a_i_save][p_a_i_i_save].elements);
tint_array<half2x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_2));
half2x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_2))[p_a_i_save]);
half3 const l_a_i_i = half3((*(tint_symbol_2))[p_a_i_save][p_a_i_i_save].elements);
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
tint_array<half2x3, 4> p;
};
struct tint_packed_vec3_f16_array_element {
/* 0x0000 */ packed_half3 elements;
/* 0x0006 */ tint_array<int8_t, 2> tint_pad;
@@ -35,12 +39,12 @@ tint_array<half2x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<tin
return result;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 2>, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<half2x3, 4> tint_symbol = {};
tint_symbol = tint_unpack_vec3_in_composite_1(*(tint_symbol_1));
tint_symbol[1] = tint_unpack_vec3_in_composite((*(tint_symbol_1))[2]);
tint_symbol[1][0] = half3((*(tint_symbol_1))[0][1].elements).zxy;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1].elements[0];
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 2>, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = tint_unpack_vec3_in_composite_1(*(tint_symbol));
tint_private_vars.p[1] = tint_unpack_vec3_in_composite((*(tint_symbol))[2]);
tint_private_vars.p[1][0] = half3((*(tint_symbol))[0][1].elements).zxy;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1].elements[0];
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
int counter;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,20 +39,21 @@ tint_array<float2x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 2>, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 2>, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float2x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_3));
float2x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_3))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_3))[p_a_i_save][p_a_i_i_save].elements);
tint_array<float2x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_2));
float2x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_2))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_2))[p_a_i_save][p_a_i_i_save].elements);
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
tint_array<float2x3, 4> p;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,12 +39,12 @@ tint_array<float2x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 2>, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float2x3, 4> tint_symbol = {};
tint_symbol = tint_unpack_vec3_in_composite_1(*(tint_symbol_1));
tint_symbol[1] = tint_unpack_vec3_in_composite((*(tint_symbol_1))[2]);
tint_symbol[1][0] = float3((*(tint_symbol_1))[0][1].elements).zxy;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1].elements[0];
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 2>, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = tint_unpack_vec3_in_composite_1(*(tint_symbol));
tint_private_vars.p[1] = tint_unpack_vec3_in_composite((*(tint_symbol))[2]);
tint_private_vars.p[1][0] = float3((*(tint_symbol))[0][1].elements).zxy;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1].elements[0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<half2x4, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<half2x4, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<half2x4, 4> const l_a = *(tint_symbol_3);
half2x4 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
half4 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<half2x4, 4> const l_a = *(tint_symbol_2);
half2x4 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
half4 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<half2x4, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<half2x4, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].ywxz;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<half2x4, 4> p;
};
kernel void f(const constant tint_array<half2x4, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].ywxz;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<float2x4, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<float2x4, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float2x4, 4> const l_a = *(tint_symbol_3);
float2x4 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<float2x4, 4> const l_a = *(tint_symbol_2);
float2x4 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<float2x4, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float2x4, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].ywxz;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<float2x4, 4> p;
};
kernel void f(const constant tint_array<float2x4, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].ywxz;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
int counter;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,20 +39,21 @@ tint_array<float3x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 3>, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 3>, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float3x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_3));
float3x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_3))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_3))[p_a_i_save][p_a_i_i_save].elements);
tint_array<float3x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_2));
float3x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_2))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_2))[p_a_i_save][p_a_i_i_save].elements);
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
tint_array<float3x3, 4> p;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,12 +39,12 @@ tint_array<float3x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 3>, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float3x3, 4> tint_symbol = {};
tint_symbol = tint_unpack_vec3_in_composite_1(*(tint_symbol_1));
tint_symbol[1] = tint_unpack_vec3_in_composite((*(tint_symbol_1))[2]);
tint_symbol[1][0] = float3((*(tint_symbol_1))[0][1].elements).zxy;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1].elements[0];
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 3>, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = tint_unpack_vec3_in_composite_1(*(tint_symbol));
tint_private_vars.p[1] = tint_unpack_vec3_in_composite((*(tint_symbol))[2]);
tint_private_vars.p[1][0] = float3((*(tint_symbol))[0][1].elements).zxy;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1].elements[0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<float3x4, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<float3x4, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float3x4, 4> const l_a = *(tint_symbol_3);
float3x4 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<float3x4, 4> const l_a = *(tint_symbol_2);
float3x4 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<float3x4, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float3x4, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].ywxz;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<float3x4, 4> p;
};
kernel void f(const constant tint_array<float3x4, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].ywxz;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<half4x2, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<half4x2, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<half4x2, 4> const l_a = *(tint_symbol_3);
half4x2 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
half2 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<half4x2, 4> const l_a = *(tint_symbol_2);
half4x2 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
half2 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<half4x2, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<half4x2, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].yx;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<half4x2, 4> p;
};
kernel void f(const constant tint_array<half4x2, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].yx;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<float4x2, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<float4x2, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float4x2, 4> const l_a = *(tint_symbol_3);
float4x2 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
float2 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<float4x2, 4> const l_a = *(tint_symbol_2);
float4x2 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
float2 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<float4x2, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float4x2, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].yx;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<float4x2, 4> p;
};
kernel void f(const constant tint_array<float4x2, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].yx;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
int counter;
};
struct tint_packed_vec3_f16_array_element {
/* 0x0000 */ packed_half3 elements;
/* 0x0006 */ tint_array<int8_t, 2> tint_pad;
@@ -35,20 +39,21 @@ tint_array<half4x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<tin
return result;
}
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 4>, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 4>, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<half4x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_3));
half4x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_3))[p_a_i_save]);
half3 const l_a_i_i = half3((*(tint_symbol_3))[p_a_i_save][p_a_i_i_save].elements);
tint_array<half4x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_2));
half4x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_2))[p_a_i_save]);
half3 const l_a_i_i = half3((*(tint_symbol_2))[p_a_i_save][p_a_i_i_save].elements);
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
tint_array<half4x3, 4> p;
};
struct tint_packed_vec3_f16_array_element {
/* 0x0000 */ packed_half3 elements;
/* 0x0006 */ tint_array<int8_t, 2> tint_pad;
@@ -35,12 +39,12 @@ tint_array<half4x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<tin
return result;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 4>, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<half4x3, 4> tint_symbol = {};
tint_symbol = tint_unpack_vec3_in_composite_1(*(tint_symbol_1));
tint_symbol[1] = tint_unpack_vec3_in_composite((*(tint_symbol_1))[2]);
tint_symbol[1][0] = half3((*(tint_symbol_1))[0][1].elements).zxy;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1].elements[0];
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f16_array_element, 4>, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = tint_unpack_vec3_in_composite_1(*(tint_symbol));
tint_private_vars.p[1] = tint_unpack_vec3_in_composite((*(tint_symbol))[2]);
tint_private_vars.p[1][0] = half3((*(tint_symbol))[0][1].elements).zxy;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1].elements[0];
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
int counter;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,20 +39,21 @@ tint_array<float4x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 4>, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 4>, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float4x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_3));
float4x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_3))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_3))[p_a_i_save][p_a_i_i_save].elements);
tint_array<float4x3, 4> const l_a = tint_unpack_vec3_in_composite_1(*(tint_symbol_2));
float4x3 const l_a_i = tint_unpack_vec3_in_composite((*(tint_symbol_2))[p_a_i_save]);
float3 const l_a_i_i = float3((*(tint_symbol_2))[p_a_i_save][p_a_i_i_save].elements);
return;
}

View File

@@ -14,6 +14,10 @@ struct tint_array {
T elements[N];
};
struct tint_private_vars_struct {
tint_array<float4x3, 4> p;
};
struct tint_packed_vec3_f32_array_element {
/* 0x0000 */ packed_float3 elements;
/* 0x000c */ tint_array<int8_t, 4> tint_pad;
@@ -35,12 +39,12 @@ tint_array<float4x3, 4> tint_unpack_vec3_in_composite_1(tint_array<tint_array<ti
return result;
}
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 4>, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float4x3, 4> tint_symbol = {};
tint_symbol = tint_unpack_vec3_in_composite_1(*(tint_symbol_1));
tint_symbol[1] = tint_unpack_vec3_in_composite((*(tint_symbol_1))[2]);
tint_symbol[1][0] = float3((*(tint_symbol_1))[0][1].elements).zxy;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1].elements[0];
kernel void f(const constant tint_array<tint_array<tint_packed_vec3_f32_array_element, 4>, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = tint_unpack_vec3_in_composite_1(*(tint_symbol));
tint_private_vars.p[1] = tint_unpack_vec3_in_composite((*(tint_symbol))[2]);
tint_private_vars.p[1][0] = float3((*(tint_symbol))[0][1].elements).zxy;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1].elements[0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<half4x4, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<half4x4, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<half4x4, 4> const l_a = *(tint_symbol_3);
half4x4 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
half4 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<half4x4, 4> const l_a = *(tint_symbol_2);
half4x4 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
half4 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<half4x4, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<half4x4, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].ywxz;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<half4x4, 4> p;
};
kernel void f(const constant tint_array<half4x4, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].ywxz;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}

View File

@@ -14,20 +14,25 @@ struct tint_array {
T elements[N];
};
int i() {
thread int tint_symbol_2 = 0;
tint_symbol_2 = as_type<int>((as_type<uint>(tint_symbol_2) + as_type<uint>(1)));
return tint_symbol_2;
struct tint_private_vars_struct {
int counter;
};
int i(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).counter = as_type<int>((as_type<uint>((*(tint_private_vars)).counter) + as_type<uint>(1)));
return (*(tint_private_vars)).counter;
}
kernel void f(const constant tint_array<float4x4, 4>* tint_symbol_3 [[buffer(0)]]) {
int const tint_symbol = i();
kernel void f(const constant tint_array<float4x4, 4>* tint_symbol_2 [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.counter = 0;
int const tint_symbol = i(&(tint_private_vars));
int const p_a_i_save = tint_symbol;
int const tint_symbol_1 = i();
int const tint_symbol_1 = i(&(tint_private_vars));
int const p_a_i_i_save = tint_symbol_1;
tint_array<float4x4, 4> const l_a = *(tint_symbol_3);
float4x4 const l_a_i = (*(tint_symbol_3))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_3))[p_a_i_save][p_a_i_i_save];
tint_array<float4x4, 4> const l_a = *(tint_symbol_2);
float4x4 const l_a_i = (*(tint_symbol_2))[p_a_i_save];
float4 const l_a_i_i = (*(tint_symbol_2))[p_a_i_save][p_a_i_i_save];
return;
}

View File

@@ -14,12 +14,16 @@ struct tint_array {
T elements[N];
};
kernel void f(const constant tint_array<float4x4, 4>* tint_symbol_1 [[buffer(0)]]) {
thread tint_array<float4x4, 4> tint_symbol = {};
tint_symbol = *(tint_symbol_1);
tint_symbol[1] = (*(tint_symbol_1))[2];
tint_symbol[1][0] = (*(tint_symbol_1))[0][1].ywxz;
tint_symbol[1][0][0] = (*(tint_symbol_1))[0][1][0];
struct tint_private_vars_struct {
tint_array<float4x4, 4> p;
};
kernel void f(const constant tint_array<float4x4, 4>* tint_symbol [[buffer(0)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.p = *(tint_symbol);
tint_private_vars.p[1] = (*(tint_symbol))[2];
tint_private_vars.p[1][0] = (*(tint_symbol))[0][1].ywxz;
tint_private_vars.p[1][0][0] = (*(tint_symbol))[0][1][0];
return;
}