test: Remove many expected files

For these tests, we only really care that we can successfully consume
them and generate valid output for each backend. Having the expected
files in the tree generates significant churn for any change to how we
generate backend code, which makes it hard to inspect diffs.

Change-Id: Ic98c248081144c0fb1791f1303eaf6d459548e3d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/62720
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
This commit is contained in:
James Price
2021-08-24 22:49:42 +00:00
committed by Tint LUCI CQ
parent 568136dd10
commit 87cce20f67
8526 changed files with 12 additions and 613699 deletions

View File

@@ -1,214 +0,0 @@
cbuffer cbuffer_x_6 : register(b0, space0) {
uint4 x_6[7];
};
cbuffer cbuffer_x_8 : register(b1, space0) {
uint4 x_8[3];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float sums[2] = (float[2])0;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int j = 0;
bool x_215 = false;
bool x_216_phi = false;
const int x_20 = asint(x_6[1].x);
const uint scalar_offset = ((16u * uint(0))) / 4;
const float x_110 = asfloat(x_8[scalar_offset / 4][scalar_offset % 4]);
sums[x_20] = x_110;
const int x_22 = asint(x_6[2].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4;
const float x_114 = asfloat(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]);
sums[x_22] = x_114;
const int x_23 = asint(x_6[1].x);
a = x_23;
while (true) {
const int x_24 = a;
const uint scalar_offset_2 = ((16u * uint(0))) / 4;
const int x_25 = asint(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_24 < x_25)) {
} else {
break;
}
const int x_26 = asint(x_6[5].x);
b = x_26;
while (true) {
const int x_27 = b;
const int x_28 = asint(x_6[3].x);
if ((x_27 < x_28)) {
} else {
break;
}
const int x_29 = asint(x_6[6].x);
c = x_29;
while (true) {
const int x_30 = c;
const int x_31 = asint(x_6[4].x);
if ((x_30 <= x_31)) {
} else {
break;
}
const int x_32 = asint(x_6[1].x);
d = x_32;
while (true) {
const int x_33 = d;
const int x_34 = asint(x_6[6].x);
if ((x_33 < x_34)) {
} else {
break;
}
const uint scalar_offset_3 = ((16u * uint(0))) / 4;
const int x_35 = asint(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]);
e = x_35;
while (true) {
const int x_36 = e;
const int x_37 = asint(x_6[4].x);
if ((x_36 <= x_37)) {
} else {
break;
}
const int x_38 = asint(x_6[1].x);
f = x_38;
while (true) {
const int x_39 = f;
const uint scalar_offset_4 = ((16u * uint(0))) / 4;
const int x_40 = asint(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_39 < x_40)) {
} else {
break;
}
const int x_41 = asint(x_6[1].x);
g = x_41;
while (true) {
const int x_42 = g;
const int x_43 = asint(x_6[6].x);
if ((x_42 < x_43)) {
} else {
break;
}
const int x_44 = asint(x_6[1].x);
h = x_44;
while (true) {
const int x_45 = h;
const uint scalar_offset_5 = ((16u * uint(0))) / 4;
const int x_46 = asint(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_45 < x_46)) {
} else {
break;
}
const int x_47 = asint(x_6[1].x);
i = x_47;
while (true) {
const int x_48 = i;
const int x_49 = asint(x_6[4].x);
if ((x_48 < x_49)) {
} else {
break;
}
const uint scalar_offset_6 = ((16u * uint(0))) / 4;
const int x_50 = asint(x_6[scalar_offset_6 / 4][scalar_offset_6 % 4]);
j = x_50;
while (true) {
const int x_51 = j;
const int x_52 = asint(x_6[1].x);
if ((x_51 > x_52)) {
} else {
break;
}
const int x_53 = a;
const float x_197 = asfloat(x_8[2].x);
const float x_199 = sums[x_53];
sums[x_53] = (x_199 + x_197);
{
j = (j - 1);
}
}
{
i = (i + 1);
}
}
{
h = (h + 1);
}
}
{
g = (g + 1);
}
}
{
f = (f + 1);
}
}
{
e = (e + 1);
}
}
{
d = (d + 1);
}
}
{
c = (c + 1);
}
}
{
b = (b + 1);
}
}
{
a = (a + 1);
}
}
const int x_74 = asint(x_6[1].x);
const float x_204 = sums[x_74];
const float x_206 = asfloat(x_8[1].x);
const bool x_207 = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
const int x_75 = asint(x_6[2].x);
const float x_212 = sums[x_75];
const float x_214 = asfloat(x_8[1].x);
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
if (x_216_phi) {
const int x_76 = asint(x_6[2].x);
const int x_77 = asint(x_6[1].x);
const int x_78 = asint(x_6[1].x);
const int x_79 = asint(x_6[2].x);
x_GLF_color = float4(float(x_76), float(x_77), float(x_78), float(x_79));
} else {
const int x_80 = asint(x_6[1].x);
const float x_230 = float(x_80);
x_GLF_color = float4(x_230, x_230, x_230, x_230);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_3 = {x_GLF_color};
return tint_symbol_3;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,238 +0,0 @@
#include <metal_stdlib>
using namespace metal;
struct tint_padded_array_element {
/* 0x0000 */ int el;
/* 0x0004 */ int8_t tint_pad[12];
};
struct tint_array_wrapper {
/* 0x0000 */ tint_padded_array_element arr[7];
};
struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_int_values;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ float el;
/* 0x0004 */ int8_t tint_pad_1[12];
};
struct tint_array_wrapper_1 {
/* 0x0000 */ tint_padded_array_element_1 arr[3];
};
struct buf1 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct tint_array_wrapper_2 {
float arr[2];
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_3) {
tint_array_wrapper_2 sums = {};
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int j = 0;
bool x_215 = false;
bool x_216_phi = false;
int const x_20 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_110 = x_8.x_GLF_uniform_float_values.arr[0].el;
sums.arr[x_20] = x_110;
int const x_22 = x_6.x_GLF_uniform_int_values.arr[2].el;
float const x_114 = x_8.x_GLF_uniform_float_values.arr[0].el;
sums.arr[x_22] = x_114;
int const x_23 = x_6.x_GLF_uniform_int_values.arr[1].el;
a = x_23;
while (true) {
int const x_24 = a;
int const x_25 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_24 < x_25)) {
} else {
break;
}
int const x_26 = x_6.x_GLF_uniform_int_values.arr[5].el;
b = x_26;
while (true) {
int const x_27 = b;
int const x_28 = x_6.x_GLF_uniform_int_values.arr[3].el;
if ((x_27 < x_28)) {
} else {
break;
}
int const x_29 = x_6.x_GLF_uniform_int_values.arr[6].el;
c = x_29;
while (true) {
int const x_30 = c;
int const x_31 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_30 <= x_31)) {
} else {
break;
}
int const x_32 = x_6.x_GLF_uniform_int_values.arr[1].el;
d = x_32;
while (true) {
int const x_33 = d;
int const x_34 = x_6.x_GLF_uniform_int_values.arr[6].el;
if ((x_33 < x_34)) {
} else {
break;
}
int const x_35 = x_6.x_GLF_uniform_int_values.arr[0].el;
e = x_35;
while (true) {
int const x_36 = e;
int const x_37 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_36 <= x_37)) {
} else {
break;
}
int const x_38 = x_6.x_GLF_uniform_int_values.arr[1].el;
f = x_38;
while (true) {
int const x_39 = f;
int const x_40 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_39 < x_40)) {
} else {
break;
}
int const x_41 = x_6.x_GLF_uniform_int_values.arr[1].el;
g = x_41;
while (true) {
int const x_42 = g;
int const x_43 = x_6.x_GLF_uniform_int_values.arr[6].el;
if ((x_42 < x_43)) {
} else {
break;
}
int const x_44 = x_6.x_GLF_uniform_int_values.arr[1].el;
h = x_44;
while (true) {
int const x_45 = h;
int const x_46 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_45 < x_46)) {
} else {
break;
}
int const x_47 = x_6.x_GLF_uniform_int_values.arr[1].el;
i = x_47;
while (true) {
int const x_48 = i;
int const x_49 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_48 < x_49)) {
} else {
break;
}
int const x_50 = x_6.x_GLF_uniform_int_values.arr[0].el;
j = x_50;
while (true) {
int const x_51 = j;
int const x_52 = x_6.x_GLF_uniform_int_values.arr[1].el;
if ((x_51 > x_52)) {
} else {
break;
}
int const x_53 = a;
float const x_197 = x_8.x_GLF_uniform_float_values.arr[2].el;
float const x_199 = sums.arr[x_53];
sums.arr[x_53] = (x_199 + x_197);
{
int const x_54 = j;
j = as_type<int>((as_type<uint>(x_54) - as_type<uint>(1)));
}
}
{
int const x_56 = i;
i = as_type<int>((as_type<uint>(x_56) + as_type<uint>(1)));
}
}
{
int const x_58 = h;
h = as_type<int>((as_type<uint>(x_58) + as_type<uint>(1)));
}
}
{
int const x_60 = g;
g = as_type<int>((as_type<uint>(x_60) + as_type<uint>(1)));
}
}
{
int const x_62 = f;
f = as_type<int>((as_type<uint>(x_62) + as_type<uint>(1)));
}
}
{
int const x_64 = e;
e = as_type<int>((as_type<uint>(x_64) + as_type<uint>(1)));
}
}
{
int const x_66 = d;
d = as_type<int>((as_type<uint>(x_66) + as_type<uint>(1)));
}
}
{
int const x_68 = c;
c = as_type<int>((as_type<uint>(x_68) + as_type<uint>(1)));
}
}
{
int const x_70 = b;
b = as_type<int>((as_type<uint>(x_70) + as_type<uint>(1)));
}
}
{
int const x_72 = a;
a = as_type<int>((as_type<uint>(x_72) + as_type<uint>(1)));
}
}
int const x_74 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_204 = sums.arr[x_74];
float const x_206 = x_8.x_GLF_uniform_float_values.arr[1].el;
bool const x_207 = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
int const x_75 = x_6.x_GLF_uniform_int_values.arr[2].el;
float const x_212 = sums.arr[x_75];
float const x_214 = x_8.x_GLF_uniform_float_values.arr[1].el;
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
bool const x_216 = x_216_phi;
if (x_216) {
int const x_76 = x_6.x_GLF_uniform_int_values.arr[2].el;
int const x_77 = x_6.x_GLF_uniform_int_values.arr[1].el;
int const x_78 = x_6.x_GLF_uniform_int_values.arr[1].el;
int const x_79 = x_6.x_GLF_uniform_int_values.arr[2].el;
*(tint_symbol_3) = float4(float(x_76), float(x_77), float(x_78), float(x_79));
} else {
int const x_80 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_230 = float(x_80);
*(tint_symbol_3) = float4(x_230, x_230, x_230, x_230);
}
return;
}
main_out tint_symbol_inner(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_4) {
main_1(x_6, x_8, tint_symbol_4);
main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]], constant buf1& x_8 [[buffer(1)]]) {
thread float4 tint_symbol_5 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_6, x_8, &(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,454 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 273
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "x_GLF_uniform_int_values"
OpName %x_6 "x_6"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "x_GLF_uniform_float_values"
OpName %x_8 "x_8"
OpName %x_GLF_color "x_GLF_color"
OpName %main_1 "main_1"
OpName %sums "sums"
OpName %a "a"
OpName %b "b"
OpName %c "c"
OpName %d "d"
OpName %e "e"
OpName %f "f"
OpName %g "g"
OpName %h "h"
OpName %i "i"
OpName %j "j"
OpName %x_215 "x_215"
OpName %x_216_phi "x_216_phi"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %main_inner "main_inner"
OpName %main "main"
OpDecorate %x_GLF_color_1_1 Location 0
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %_arr_int_uint_7 ArrayStride 16
OpDecorate %x_6 NonWritable
OpDecorate %x_6 DescriptorSet 0
OpDecorate %x_6 Binding 0
OpDecorate %buf1 Block
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %_arr_float_uint_3 ArrayStride 16
OpDecorate %x_8 NonWritable
OpDecorate %x_8 DescriptorSet 0
OpDecorate %x_8 Binding 1
OpDecorate %_arr_float_uint_2 ArrayStride 4
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_7 = OpConstant %uint 7
%_arr_int_uint_7 = OpTypeArray %int %uint_7
%buf0 = OpTypeStruct %_arr_int_uint_7
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%uint_3 = OpConstant %uint 3
%_arr_float_uint_3 = OpTypeArray %float %uint_3
%buf1 = OpTypeStruct %_arr_float_uint_3
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%x_8 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
%void = OpTypeVoid
%20 = OpTypeFunction %void
%uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%_ptr_Function__arr_float_uint_2 = OpTypePointer Function %_arr_float_uint_2
%28 = OpConstantNull %_arr_float_uint_2
%_ptr_Function_int = OpTypePointer Function %int
%31 = OpConstantNull %int
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%44 = OpConstantNull %bool
%uint_0 = OpConstant %uint 0
%int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Function_float = OpTypePointer Function %float
%int_2 = OpConstant %int 2
%int_5 = OpConstant %int 5
%int_3 = OpConstant %int 3
%int_6 = OpConstant %int 6
%int_4 = OpConstant %int 4
%main_out = OpTypeStruct %v4float
%262 = OpTypeFunction %main_out
%main_1 = OpFunction %void None %20
%23 = OpLabel
%sums = OpVariable %_ptr_Function__arr_float_uint_2 Function %28
%a = OpVariable %_ptr_Function_int Function %31
%b = OpVariable %_ptr_Function_int Function %31
%c = OpVariable %_ptr_Function_int Function %31
%d = OpVariable %_ptr_Function_int Function %31
%e = OpVariable %_ptr_Function_int Function %31
%f = OpVariable %_ptr_Function_int Function %31
%g = OpVariable %_ptr_Function_int Function %31
%h = OpVariable %_ptr_Function_int Function %31
%i = OpVariable %_ptr_Function_int Function %31
%j = OpVariable %_ptr_Function_int Function %31
%x_215 = OpVariable %_ptr_Function_bool Function %44
%x_216_phi = OpVariable %_ptr_Function_bool Function %44
%49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%50 = OpLoad %int %49
%53 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%54 = OpLoad %float %53
%56 = OpAccessChain %_ptr_Function_float %sums %50
OpStore %56 %54
%58 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%59 = OpLoad %int %58
%60 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%61 = OpLoad %float %60
%62 = OpAccessChain %_ptr_Function_float %sums %59
OpStore %62 %61
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%64 = OpLoad %int %63
OpStore %a %64
OpBranch %65
%65 = OpLabel
OpLoopMerge %66 %67 None
OpBranch %68
%68 = OpLabel
%69 = OpLoad %int %a
%70 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%71 = OpLoad %int %70
%72 = OpSLessThan %bool %69 %71
OpSelectionMerge %73 None
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %66
%73 = OpLabel
%77 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%78 = OpLoad %int %77
OpStore %b %78
OpBranch %79
%79 = OpLabel
OpLoopMerge %80 %81 None
OpBranch %82
%82 = OpLabel
%83 = OpLoad %int %b
%85 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%86 = OpLoad %int %85
%87 = OpSLessThan %bool %83 %86
OpSelectionMerge %88 None
OpBranchConditional %87 %89 %90
%89 = OpLabel
OpBranch %88
%90 = OpLabel
OpBranch %80
%88 = OpLabel
%92 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%93 = OpLoad %int %92
OpStore %c %93
OpBranch %94
%94 = OpLabel
OpLoopMerge %95 %96 None
OpBranch %97
%97 = OpLabel
%98 = OpLoad %int %c
%100 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%101 = OpLoad %int %100
%102 = OpSLessThanEqual %bool %98 %101
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %105
%104 = OpLabel
OpBranch %103
%105 = OpLabel
OpBranch %95
%103 = OpLabel
%106 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%107 = OpLoad %int %106
OpStore %d %107
OpBranch %108
%108 = OpLabel
OpLoopMerge %109 %110 None
OpBranch %111
%111 = OpLabel
%112 = OpLoad %int %d
%113 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%114 = OpLoad %int %113
%115 = OpSLessThan %bool %112 %114
OpSelectionMerge %116 None
OpBranchConditional %115 %117 %118
%117 = OpLabel
OpBranch %116
%118 = OpLabel
OpBranch %109
%116 = OpLabel
%119 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%120 = OpLoad %int %119
OpStore %e %120
OpBranch %121
%121 = OpLabel
OpLoopMerge %122 %123 None
OpBranch %124
%124 = OpLabel
%125 = OpLoad %int %e
%126 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%127 = OpLoad %int %126
%128 = OpSLessThanEqual %bool %125 %127
OpSelectionMerge %129 None
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %122
%129 = OpLabel
%132 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%133 = OpLoad %int %132
OpStore %f %133
OpBranch %134
%134 = OpLabel
OpLoopMerge %135 %136 None
OpBranch %137
%137 = OpLabel
%138 = OpLoad %int %f
%139 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%140 = OpLoad %int %139
%141 = OpSLessThan %bool %138 %140
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %135
%142 = OpLabel
%145 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%146 = OpLoad %int %145
OpStore %g %146
OpBranch %147
%147 = OpLabel
OpLoopMerge %148 %149 None
OpBranch %150
%150 = OpLabel
%151 = OpLoad %int %g
%152 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%153 = OpLoad %int %152
%154 = OpSLessThan %bool %151 %153
OpSelectionMerge %155 None
OpBranchConditional %154 %156 %157
%156 = OpLabel
OpBranch %155
%157 = OpLabel
OpBranch %148
%155 = OpLabel
%158 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%159 = OpLoad %int %158
OpStore %h %159
OpBranch %160
%160 = OpLabel
OpLoopMerge %161 %162 None
OpBranch %163
%163 = OpLabel
%164 = OpLoad %int %h
%165 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%166 = OpLoad %int %165
%167 = OpSLessThan %bool %164 %166
OpSelectionMerge %168 None
OpBranchConditional %167 %169 %170
%169 = OpLabel
OpBranch %168
%170 = OpLabel
OpBranch %161
%168 = OpLabel
%171 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%172 = OpLoad %int %171
OpStore %i %172
OpBranch %173
%173 = OpLabel
OpLoopMerge %174 %175 None
OpBranch %176
%176 = OpLabel
%177 = OpLoad %int %i
%178 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%179 = OpLoad %int %178
%180 = OpSLessThan %bool %177 %179
OpSelectionMerge %181 None
OpBranchConditional %180 %182 %183
%182 = OpLabel
OpBranch %181
%183 = OpLabel
OpBranch %174
%181 = OpLabel
%184 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%185 = OpLoad %int %184
OpStore %j %185
OpBranch %186
%186 = OpLabel
OpLoopMerge %187 %188 None
OpBranch %189
%189 = OpLabel
%190 = OpLoad %int %j
%191 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%192 = OpLoad %int %191
%193 = OpSGreaterThan %bool %190 %192
OpSelectionMerge %194 None
OpBranchConditional %193 %195 %196
%195 = OpLabel
OpBranch %194
%196 = OpLabel
OpBranch %187
%194 = OpLabel
%197 = OpLoad %int %a
%198 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%199 = OpLoad %float %198
%200 = OpAccessChain %_ptr_Function_float %sums %197
%201 = OpLoad %float %200
%202 = OpAccessChain %_ptr_Function_float %sums %197
%203 = OpFAdd %float %201 %199
OpStore %202 %203
OpBranch %188
%188 = OpLabel
%204 = OpLoad %int %j
%205 = OpISub %int %204 %int_1
OpStore %j %205
OpBranch %186
%187 = OpLabel
OpBranch %175
%175 = OpLabel
%206 = OpLoad %int %i
%207 = OpIAdd %int %206 %int_1
OpStore %i %207
OpBranch %173
%174 = OpLabel
OpBranch %162
%162 = OpLabel
%208 = OpLoad %int %h
%209 = OpIAdd %int %208 %int_1
OpStore %h %209
OpBranch %160
%161 = OpLabel
OpBranch %149
%149 = OpLabel
%210 = OpLoad %int %g
%211 = OpIAdd %int %210 %int_1
OpStore %g %211
OpBranch %147
%148 = OpLabel
OpBranch %136
%136 = OpLabel
%212 = OpLoad %int %f
%213 = OpIAdd %int %212 %int_1
OpStore %f %213
OpBranch %134
%135 = OpLabel
OpBranch %123
%123 = OpLabel
%214 = OpLoad %int %e
%215 = OpIAdd %int %214 %int_1
OpStore %e %215
OpBranch %121
%122 = OpLabel
OpBranch %110
%110 = OpLabel
%216 = OpLoad %int %d
%217 = OpIAdd %int %216 %int_1
OpStore %d %217
OpBranch %108
%109 = OpLabel
OpBranch %96
%96 = OpLabel
%218 = OpLoad %int %c
%219 = OpIAdd %int %218 %int_1
OpStore %c %219
OpBranch %94
%95 = OpLabel
OpBranch %81
%81 = OpLabel
%220 = OpLoad %int %b
%221 = OpIAdd %int %220 %int_1
OpStore %b %221
OpBranch %79
%80 = OpLabel
OpBranch %67
%67 = OpLabel
%222 = OpLoad %int %a
%223 = OpIAdd %int %222 %int_1
OpStore %a %223
OpBranch %65
%66 = OpLabel
%224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%225 = OpLoad %int %224
%226 = OpAccessChain %_ptr_Function_float %sums %225
%227 = OpLoad %float %226
%228 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%229 = OpLoad %float %228
%230 = OpFOrdEqual %bool %227 %229
OpStore %x_216_phi %230
OpSelectionMerge %231 None
OpBranchConditional %230 %232 %231
%232 = OpLabel
%233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%234 = OpLoad %int %233
%235 = OpAccessChain %_ptr_Function_float %sums %234
%236 = OpLoad %float %235
%237 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%238 = OpLoad %float %237
%239 = OpFOrdEqual %bool %236 %238
OpStore %x_215 %239
%240 = OpLoad %bool %x_215
OpStore %x_216_phi %240
OpBranch %231
%231 = OpLabel
%241 = OpLoad %bool %x_216_phi
OpSelectionMerge %242 None
OpBranchConditional %241 %243 %244
%243 = OpLabel
%245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%246 = OpLoad %int %245
%247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%248 = OpLoad %int %247
%249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%250 = OpLoad %int %249
%251 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%252 = OpLoad %int %251
%253 = OpConvertSToF %float %246
%254 = OpConvertSToF %float %248
%255 = OpConvertSToF %float %250
%256 = OpConvertSToF %float %252
%257 = OpCompositeConstruct %v4float %253 %254 %255 %256
OpStore %x_GLF_color %257
OpBranch %242
%244 = OpLabel
%258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%259 = OpLoad %int %258
%260 = OpConvertSToF %float %259
%261 = OpCompositeConstruct %v4float %260 %260 %260 %260
OpStore %x_GLF_color %261
OpBranch %242
%242 = OpLabel
OpReturn
OpFunctionEnd
%main_inner = OpFunction %main_out None %262
%265 = OpLabel
%266 = OpFunctionCall %void %main_1
%267 = OpLoad %v4float %x_GLF_color
%268 = OpCompositeConstruct %main_out %267
OpReturnValue %268
OpFunctionEnd
%main = OpFunction %void None %20
%270 = OpLabel
%271 = OpFunctionCall %main_out %main_inner
%272 = OpCompositeExtract %v4float %271 0
OpStore %x_GLF_color_1_1 %272
OpReturn
OpFunctionEnd

View File

@@ -1,231 +0,0 @@
type Arr = [[stride(16)]] array<i32, 7>;
[[block]]
struct buf0 {
x_GLF_uniform_int_values : Arr;
};
type Arr_1 = [[stride(16)]] array<f32, 3>;
[[block]]
struct buf1 {
x_GLF_uniform_float_values : Arr_1;
};
[[group(0), binding(0)]] var<uniform> x_6 : buf0;
[[group(0), binding(1)]] var<uniform> x_8 : buf1;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var sums : array<f32, 2>;
var a : i32;
var b : i32;
var c : i32;
var d : i32;
var e : i32;
var f : i32;
var g : i32;
var h : i32;
var i : i32;
var j : i32;
var x_215 : bool;
var x_216_phi : bool;
let x_20 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_110 : f32 = x_8.x_GLF_uniform_float_values[0];
sums[x_20] = x_110;
let x_22 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_114 : f32 = x_8.x_GLF_uniform_float_values[0];
sums[x_22] = x_114;
let x_23 : i32 = x_6.x_GLF_uniform_int_values[1];
a = x_23;
loop {
let x_24 : i32 = a;
let x_25 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_24 < x_25)) {
} else {
break;
}
let x_26 : i32 = x_6.x_GLF_uniform_int_values[5];
b = x_26;
loop {
let x_27 : i32 = b;
let x_28 : i32 = x_6.x_GLF_uniform_int_values[3];
if ((x_27 < x_28)) {
} else {
break;
}
let x_29 : i32 = x_6.x_GLF_uniform_int_values[6];
c = x_29;
loop {
let x_30 : i32 = c;
let x_31 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_30 <= x_31)) {
} else {
break;
}
let x_32 : i32 = x_6.x_GLF_uniform_int_values[1];
d = x_32;
loop {
let x_33 : i32 = d;
let x_34 : i32 = x_6.x_GLF_uniform_int_values[6];
if ((x_33 < x_34)) {
} else {
break;
}
let x_35 : i32 = x_6.x_GLF_uniform_int_values[0];
e = x_35;
loop {
let x_36 : i32 = e;
let x_37 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_36 <= x_37)) {
} else {
break;
}
let x_38 : i32 = x_6.x_GLF_uniform_int_values[1];
f = x_38;
loop {
let x_39 : i32 = f;
let x_40 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_39 < x_40)) {
} else {
break;
}
let x_41 : i32 = x_6.x_GLF_uniform_int_values[1];
g = x_41;
loop {
let x_42 : i32 = g;
let x_43 : i32 = x_6.x_GLF_uniform_int_values[6];
if ((x_42 < x_43)) {
} else {
break;
}
let x_44 : i32 = x_6.x_GLF_uniform_int_values[1];
h = x_44;
loop {
let x_45 : i32 = h;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_45 < x_46)) {
} else {
break;
}
let x_47 : i32 = x_6.x_GLF_uniform_int_values[1];
i = x_47;
loop {
let x_48 : i32 = i;
let x_49 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_48 < x_49)) {
} else {
break;
}
let x_50 : i32 = x_6.x_GLF_uniform_int_values[0];
j = x_50;
loop {
let x_51 : i32 = j;
let x_52 : i32 = x_6.x_GLF_uniform_int_values[1];
if ((x_51 > x_52)) {
} else {
break;
}
let x_53 : i32 = a;
let x_197 : f32 = x_8.x_GLF_uniform_float_values[2];
let x_199 : f32 = sums[x_53];
sums[x_53] = (x_199 + x_197);
continuing {
let x_54 : i32 = j;
j = (x_54 - 1);
}
}
continuing {
let x_56 : i32 = i;
i = (x_56 + 1);
}
}
continuing {
let x_58 : i32 = h;
h = (x_58 + 1);
}
}
continuing {
let x_60 : i32 = g;
g = (x_60 + 1);
}
}
continuing {
let x_62 : i32 = f;
f = (x_62 + 1);
}
}
continuing {
let x_64 : i32 = e;
e = (x_64 + 1);
}
}
continuing {
let x_66 : i32 = d;
d = (x_66 + 1);
}
}
continuing {
let x_68 : i32 = c;
c = (x_68 + 1);
}
}
continuing {
let x_70 : i32 = b;
b = (x_70 + 1);
}
}
continuing {
let x_72 : i32 = a;
a = (x_72 + 1);
}
}
let x_74 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_204 : f32 = sums[x_74];
let x_206 : f32 = x_8.x_GLF_uniform_float_values[1];
let x_207 : bool = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
let x_75 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_212 : f32 = sums[x_75];
let x_214 : f32 = x_8.x_GLF_uniform_float_values[1];
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
let x_216 : bool = x_216_phi;
if (x_216) {
let x_76 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_77 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_78 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_79 : i32 = x_6.x_GLF_uniform_int_values[2];
x_GLF_color = vec4<f32>(f32(x_76), f32(x_77), f32(x_78), f32(x_79));
} else {
let x_80 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_230 : f32 = f32(x_80);
x_GLF_color = vec4<f32>(x_230, x_230, x_230, x_230);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}

View File

@@ -1,214 +0,0 @@
cbuffer cbuffer_x_6 : register(b0, space0) {
uint4 x_6[7];
};
cbuffer cbuffer_x_8 : register(b1, space0) {
uint4 x_8[3];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float sums[2] = (float[2])0;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int j = 0;
bool x_215 = false;
bool x_216_phi = false;
const int x_20 = asint(x_6[1].x);
const uint scalar_offset = ((16u * uint(0))) / 4;
const float x_110 = asfloat(x_8[scalar_offset / 4][scalar_offset % 4]);
sums[x_20] = x_110;
const int x_22 = asint(x_6[2].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4;
const float x_114 = asfloat(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]);
sums[x_22] = x_114;
const int x_23 = asint(x_6[1].x);
a = x_23;
while (true) {
const int x_24 = a;
const uint scalar_offset_2 = ((16u * uint(0))) / 4;
const int x_25 = asint(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_24 < x_25)) {
} else {
break;
}
const int x_26 = asint(x_6[5].x);
b = x_26;
while (true) {
const int x_27 = b;
const int x_28 = asint(x_6[3].x);
if ((x_27 < x_28)) {
} else {
break;
}
const int x_29 = asint(x_6[6].x);
c = x_29;
while (true) {
const int x_30 = c;
const int x_31 = asint(x_6[4].x);
if ((x_30 <= x_31)) {
} else {
break;
}
const int x_32 = asint(x_6[1].x);
d = x_32;
while (true) {
const int x_33 = d;
const int x_34 = asint(x_6[6].x);
if ((x_33 < x_34)) {
} else {
break;
}
const uint scalar_offset_3 = ((16u * uint(0))) / 4;
const int x_35 = asint(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]);
e = x_35;
while (true) {
const int x_36 = e;
const int x_37 = asint(x_6[4].x);
if ((x_36 <= x_37)) {
} else {
break;
}
const int x_38 = asint(x_6[1].x);
f = x_38;
while (true) {
const int x_39 = f;
const uint scalar_offset_4 = ((16u * uint(0))) / 4;
const int x_40 = asint(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_39 < x_40)) {
} else {
break;
}
const int x_41 = asint(x_6[1].x);
g = x_41;
while (true) {
const int x_42 = g;
const int x_43 = asint(x_6[6].x);
if ((x_42 < x_43)) {
} else {
break;
}
const int x_44 = asint(x_6[1].x);
h = x_44;
while (true) {
const int x_45 = h;
const uint scalar_offset_5 = ((16u * uint(0))) / 4;
const int x_46 = asint(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_45 < x_46)) {
} else {
break;
}
const int x_47 = asint(x_6[1].x);
i = x_47;
while (true) {
const int x_48 = i;
const int x_49 = asint(x_6[4].x);
if ((x_48 < x_49)) {
} else {
break;
}
const uint scalar_offset_6 = ((16u * uint(0))) / 4;
const int x_50 = asint(x_6[scalar_offset_6 / 4][scalar_offset_6 % 4]);
j = x_50;
while (true) {
const int x_51 = j;
const int x_52 = asint(x_6[1].x);
if ((x_51 > x_52)) {
} else {
break;
}
const int x_53 = a;
const float x_197 = asfloat(x_8[2].x);
const float x_199 = sums[x_53];
sums[x_53] = (x_199 + x_197);
{
j = (j - 1);
}
}
{
i = (i + 1);
}
}
{
h = (h + 1);
}
}
{
g = (g + 1);
}
}
{
f = (f + 1);
}
}
{
e = (e + 1);
}
}
{
d = (d + 1);
}
}
{
c = (c + 1);
}
}
{
b = (b + 1);
}
}
{
a = (a + 1);
}
}
const int x_74 = asint(x_6[1].x);
const float x_204 = sums[x_74];
const float x_206 = asfloat(x_8[1].x);
const bool x_207 = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
const int x_75 = asint(x_6[2].x);
const float x_212 = sums[x_75];
const float x_214 = asfloat(x_8[1].x);
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
if (x_216_phi) {
const int x_76 = asint(x_6[2].x);
const int x_77 = asint(x_6[1].x);
const int x_78 = asint(x_6[1].x);
const int x_79 = asint(x_6[2].x);
x_GLF_color = float4(float(x_76), float(x_77), float(x_78), float(x_79));
} else {
const int x_80 = asint(x_6[1].x);
const float x_230 = float(x_80);
x_GLF_color = float4(x_230, x_230, x_230, x_230);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_3 = {x_GLF_color};
return tint_symbol_3;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,238 +0,0 @@
#include <metal_stdlib>
using namespace metal;
struct tint_padded_array_element {
/* 0x0000 */ int el;
/* 0x0004 */ int8_t tint_pad[12];
};
struct tint_array_wrapper {
/* 0x0000 */ tint_padded_array_element arr[7];
};
struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_int_values;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ float el;
/* 0x0004 */ int8_t tint_pad_1[12];
};
struct tint_array_wrapper_1 {
/* 0x0000 */ tint_padded_array_element_1 arr[3];
};
struct buf1 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct tint_array_wrapper_2 {
float arr[2];
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_3) {
tint_array_wrapper_2 sums = {};
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int j = 0;
bool x_215 = false;
bool x_216_phi = false;
int const x_20 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_110 = x_8.x_GLF_uniform_float_values.arr[0].el;
sums.arr[x_20] = x_110;
int const x_22 = x_6.x_GLF_uniform_int_values.arr[2].el;
float const x_114 = x_8.x_GLF_uniform_float_values.arr[0].el;
sums.arr[x_22] = x_114;
int const x_23 = x_6.x_GLF_uniform_int_values.arr[1].el;
a = x_23;
while (true) {
int const x_24 = a;
int const x_25 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_24 < x_25)) {
} else {
break;
}
int const x_26 = x_6.x_GLF_uniform_int_values.arr[5].el;
b = x_26;
while (true) {
int const x_27 = b;
int const x_28 = x_6.x_GLF_uniform_int_values.arr[3].el;
if ((x_27 < x_28)) {
} else {
break;
}
int const x_29 = x_6.x_GLF_uniform_int_values.arr[6].el;
c = x_29;
while (true) {
int const x_30 = c;
int const x_31 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_30 <= x_31)) {
} else {
break;
}
int const x_32 = x_6.x_GLF_uniform_int_values.arr[1].el;
d = x_32;
while (true) {
int const x_33 = d;
int const x_34 = x_6.x_GLF_uniform_int_values.arr[6].el;
if ((x_33 < x_34)) {
} else {
break;
}
int const x_35 = x_6.x_GLF_uniform_int_values.arr[0].el;
e = x_35;
while (true) {
int const x_36 = e;
int const x_37 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_36 <= x_37)) {
} else {
break;
}
int const x_38 = x_6.x_GLF_uniform_int_values.arr[1].el;
f = x_38;
while (true) {
int const x_39 = f;
int const x_40 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_39 < x_40)) {
} else {
break;
}
int const x_41 = x_6.x_GLF_uniform_int_values.arr[1].el;
g = x_41;
while (true) {
int const x_42 = g;
int const x_43 = x_6.x_GLF_uniform_int_values.arr[6].el;
if ((x_42 < x_43)) {
} else {
break;
}
int const x_44 = x_6.x_GLF_uniform_int_values.arr[1].el;
h = x_44;
while (true) {
int const x_45 = h;
int const x_46 = x_6.x_GLF_uniform_int_values.arr[0].el;
if ((x_45 < x_46)) {
} else {
break;
}
int const x_47 = x_6.x_GLF_uniform_int_values.arr[1].el;
i = x_47;
while (true) {
int const x_48 = i;
int const x_49 = x_6.x_GLF_uniform_int_values.arr[4].el;
if ((x_48 < x_49)) {
} else {
break;
}
int const x_50 = x_6.x_GLF_uniform_int_values.arr[0].el;
j = x_50;
while (true) {
int const x_51 = j;
int const x_52 = x_6.x_GLF_uniform_int_values.arr[1].el;
if ((x_51 > x_52)) {
} else {
break;
}
int const x_53 = a;
float const x_197 = x_8.x_GLF_uniform_float_values.arr[2].el;
float const x_199 = sums.arr[x_53];
sums.arr[x_53] = (x_199 + x_197);
{
int const x_54 = j;
j = as_type<int>((as_type<uint>(x_54) - as_type<uint>(1)));
}
}
{
int const x_56 = i;
i = as_type<int>((as_type<uint>(x_56) + as_type<uint>(1)));
}
}
{
int const x_58 = h;
h = as_type<int>((as_type<uint>(x_58) + as_type<uint>(1)));
}
}
{
int const x_60 = g;
g = as_type<int>((as_type<uint>(x_60) + as_type<uint>(1)));
}
}
{
int const x_62 = f;
f = as_type<int>((as_type<uint>(x_62) + as_type<uint>(1)));
}
}
{
int const x_64 = e;
e = as_type<int>((as_type<uint>(x_64) + as_type<uint>(1)));
}
}
{
int const x_66 = d;
d = as_type<int>((as_type<uint>(x_66) + as_type<uint>(1)));
}
}
{
int const x_68 = c;
c = as_type<int>((as_type<uint>(x_68) + as_type<uint>(1)));
}
}
{
int const x_70 = b;
b = as_type<int>((as_type<uint>(x_70) + as_type<uint>(1)));
}
}
{
int const x_72 = a;
a = as_type<int>((as_type<uint>(x_72) + as_type<uint>(1)));
}
}
int const x_74 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_204 = sums.arr[x_74];
float const x_206 = x_8.x_GLF_uniform_float_values.arr[1].el;
bool const x_207 = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
int const x_75 = x_6.x_GLF_uniform_int_values.arr[2].el;
float const x_212 = sums.arr[x_75];
float const x_214 = x_8.x_GLF_uniform_float_values.arr[1].el;
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
bool const x_216 = x_216_phi;
if (x_216) {
int const x_76 = x_6.x_GLF_uniform_int_values.arr[2].el;
int const x_77 = x_6.x_GLF_uniform_int_values.arr[1].el;
int const x_78 = x_6.x_GLF_uniform_int_values.arr[1].el;
int const x_79 = x_6.x_GLF_uniform_int_values.arr[2].el;
*(tint_symbol_3) = float4(float(x_76), float(x_77), float(x_78), float(x_79));
} else {
int const x_80 = x_6.x_GLF_uniform_int_values.arr[1].el;
float const x_230 = float(x_80);
*(tint_symbol_3) = float4(x_230, x_230, x_230, x_230);
}
return;
}
main_out tint_symbol_inner(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_4) {
main_1(x_6, x_8, tint_symbol_4);
main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]], constant buf1& x_8 [[buffer(1)]]) {
thread float4 tint_symbol_5 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_6, x_8, &(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,454 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 273
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "x_GLF_uniform_int_values"
OpName %x_6 "x_6"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "x_GLF_uniform_float_values"
OpName %x_8 "x_8"
OpName %x_GLF_color "x_GLF_color"
OpName %main_1 "main_1"
OpName %sums "sums"
OpName %a "a"
OpName %b "b"
OpName %c "c"
OpName %d "d"
OpName %e "e"
OpName %f "f"
OpName %g "g"
OpName %h "h"
OpName %i "i"
OpName %j "j"
OpName %x_215 "x_215"
OpName %x_216_phi "x_216_phi"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %main_inner "main_inner"
OpName %main "main"
OpDecorate %x_GLF_color_1_1 Location 0
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %_arr_int_uint_7 ArrayStride 16
OpDecorate %x_6 NonWritable
OpDecorate %x_6 DescriptorSet 0
OpDecorate %x_6 Binding 0
OpDecorate %buf1 Block
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %_arr_float_uint_3 ArrayStride 16
OpDecorate %x_8 NonWritable
OpDecorate %x_8 DescriptorSet 0
OpDecorate %x_8 Binding 1
OpDecorate %_arr_float_uint_2 ArrayStride 4
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_7 = OpConstant %uint 7
%_arr_int_uint_7 = OpTypeArray %int %uint_7
%buf0 = OpTypeStruct %_arr_int_uint_7
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%uint_3 = OpConstant %uint 3
%_arr_float_uint_3 = OpTypeArray %float %uint_3
%buf1 = OpTypeStruct %_arr_float_uint_3
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%x_8 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
%void = OpTypeVoid
%20 = OpTypeFunction %void
%uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%_ptr_Function__arr_float_uint_2 = OpTypePointer Function %_arr_float_uint_2
%28 = OpConstantNull %_arr_float_uint_2
%_ptr_Function_int = OpTypePointer Function %int
%31 = OpConstantNull %int
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%44 = OpConstantNull %bool
%uint_0 = OpConstant %uint 0
%int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Function_float = OpTypePointer Function %float
%int_2 = OpConstant %int 2
%int_5 = OpConstant %int 5
%int_3 = OpConstant %int 3
%int_6 = OpConstant %int 6
%int_4 = OpConstant %int 4
%main_out = OpTypeStruct %v4float
%262 = OpTypeFunction %main_out
%main_1 = OpFunction %void None %20
%23 = OpLabel
%sums = OpVariable %_ptr_Function__arr_float_uint_2 Function %28
%a = OpVariable %_ptr_Function_int Function %31
%b = OpVariable %_ptr_Function_int Function %31
%c = OpVariable %_ptr_Function_int Function %31
%d = OpVariable %_ptr_Function_int Function %31
%e = OpVariable %_ptr_Function_int Function %31
%f = OpVariable %_ptr_Function_int Function %31
%g = OpVariable %_ptr_Function_int Function %31
%h = OpVariable %_ptr_Function_int Function %31
%i = OpVariable %_ptr_Function_int Function %31
%j = OpVariable %_ptr_Function_int Function %31
%x_215 = OpVariable %_ptr_Function_bool Function %44
%x_216_phi = OpVariable %_ptr_Function_bool Function %44
%49 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%50 = OpLoad %int %49
%53 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%54 = OpLoad %float %53
%56 = OpAccessChain %_ptr_Function_float %sums %50
OpStore %56 %54
%58 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%59 = OpLoad %int %58
%60 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
%61 = OpLoad %float %60
%62 = OpAccessChain %_ptr_Function_float %sums %59
OpStore %62 %61
%63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%64 = OpLoad %int %63
OpStore %a %64
OpBranch %65
%65 = OpLabel
OpLoopMerge %66 %67 None
OpBranch %68
%68 = OpLabel
%69 = OpLoad %int %a
%70 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%71 = OpLoad %int %70
%72 = OpSLessThan %bool %69 %71
OpSelectionMerge %73 None
OpBranchConditional %72 %74 %75
%74 = OpLabel
OpBranch %73
%75 = OpLabel
OpBranch %66
%73 = OpLabel
%77 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_5
%78 = OpLoad %int %77
OpStore %b %78
OpBranch %79
%79 = OpLabel
OpLoopMerge %80 %81 None
OpBranch %82
%82 = OpLabel
%83 = OpLoad %int %b
%85 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
%86 = OpLoad %int %85
%87 = OpSLessThan %bool %83 %86
OpSelectionMerge %88 None
OpBranchConditional %87 %89 %90
%89 = OpLabel
OpBranch %88
%90 = OpLabel
OpBranch %80
%88 = OpLabel
%92 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%93 = OpLoad %int %92
OpStore %c %93
OpBranch %94
%94 = OpLabel
OpLoopMerge %95 %96 None
OpBranch %97
%97 = OpLabel
%98 = OpLoad %int %c
%100 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%101 = OpLoad %int %100
%102 = OpSLessThanEqual %bool %98 %101
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %105
%104 = OpLabel
OpBranch %103
%105 = OpLabel
OpBranch %95
%103 = OpLabel
%106 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%107 = OpLoad %int %106
OpStore %d %107
OpBranch %108
%108 = OpLabel
OpLoopMerge %109 %110 None
OpBranch %111
%111 = OpLabel
%112 = OpLoad %int %d
%113 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%114 = OpLoad %int %113
%115 = OpSLessThan %bool %112 %114
OpSelectionMerge %116 None
OpBranchConditional %115 %117 %118
%117 = OpLabel
OpBranch %116
%118 = OpLabel
OpBranch %109
%116 = OpLabel
%119 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%120 = OpLoad %int %119
OpStore %e %120
OpBranch %121
%121 = OpLabel
OpLoopMerge %122 %123 None
OpBranch %124
%124 = OpLabel
%125 = OpLoad %int %e
%126 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%127 = OpLoad %int %126
%128 = OpSLessThanEqual %bool %125 %127
OpSelectionMerge %129 None
OpBranchConditional %128 %130 %131
%130 = OpLabel
OpBranch %129
%131 = OpLabel
OpBranch %122
%129 = OpLabel
%132 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%133 = OpLoad %int %132
OpStore %f %133
OpBranch %134
%134 = OpLabel
OpLoopMerge %135 %136 None
OpBranch %137
%137 = OpLabel
%138 = OpLoad %int %f
%139 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%140 = OpLoad %int %139
%141 = OpSLessThan %bool %138 %140
OpSelectionMerge %142 None
OpBranchConditional %141 %143 %144
%143 = OpLabel
OpBranch %142
%144 = OpLabel
OpBranch %135
%142 = OpLabel
%145 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%146 = OpLoad %int %145
OpStore %g %146
OpBranch %147
%147 = OpLabel
OpLoopMerge %148 %149 None
OpBranch %150
%150 = OpLabel
%151 = OpLoad %int %g
%152 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_6
%153 = OpLoad %int %152
%154 = OpSLessThan %bool %151 %153
OpSelectionMerge %155 None
OpBranchConditional %154 %156 %157
%156 = OpLabel
OpBranch %155
%157 = OpLabel
OpBranch %148
%155 = OpLabel
%158 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%159 = OpLoad %int %158
OpStore %h %159
OpBranch %160
%160 = OpLabel
OpLoopMerge %161 %162 None
OpBranch %163
%163 = OpLabel
%164 = OpLoad %int %h
%165 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%166 = OpLoad %int %165
%167 = OpSLessThan %bool %164 %166
OpSelectionMerge %168 None
OpBranchConditional %167 %169 %170
%169 = OpLabel
OpBranch %168
%170 = OpLabel
OpBranch %161
%168 = OpLabel
%171 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%172 = OpLoad %int %171
OpStore %i %172
OpBranch %173
%173 = OpLabel
OpLoopMerge %174 %175 None
OpBranch %176
%176 = OpLabel
%177 = OpLoad %int %i
%178 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
%179 = OpLoad %int %178
%180 = OpSLessThan %bool %177 %179
OpSelectionMerge %181 None
OpBranchConditional %180 %182 %183
%182 = OpLabel
OpBranch %181
%183 = OpLabel
OpBranch %174
%181 = OpLabel
%184 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
%185 = OpLoad %int %184
OpStore %j %185
OpBranch %186
%186 = OpLabel
OpLoopMerge %187 %188 None
OpBranch %189
%189 = OpLabel
%190 = OpLoad %int %j
%191 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%192 = OpLoad %int %191
%193 = OpSGreaterThan %bool %190 %192
OpSelectionMerge %194 None
OpBranchConditional %193 %195 %196
%195 = OpLabel
OpBranch %194
%196 = OpLabel
OpBranch %187
%194 = OpLabel
%197 = OpLoad %int %a
%198 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_2
%199 = OpLoad %float %198
%200 = OpAccessChain %_ptr_Function_float %sums %197
%201 = OpLoad %float %200
%202 = OpAccessChain %_ptr_Function_float %sums %197
%203 = OpFAdd %float %201 %199
OpStore %202 %203
OpBranch %188
%188 = OpLabel
%204 = OpLoad %int %j
%205 = OpISub %int %204 %int_1
OpStore %j %205
OpBranch %186
%187 = OpLabel
OpBranch %175
%175 = OpLabel
%206 = OpLoad %int %i
%207 = OpIAdd %int %206 %int_1
OpStore %i %207
OpBranch %173
%174 = OpLabel
OpBranch %162
%162 = OpLabel
%208 = OpLoad %int %h
%209 = OpIAdd %int %208 %int_1
OpStore %h %209
OpBranch %160
%161 = OpLabel
OpBranch %149
%149 = OpLabel
%210 = OpLoad %int %g
%211 = OpIAdd %int %210 %int_1
OpStore %g %211
OpBranch %147
%148 = OpLabel
OpBranch %136
%136 = OpLabel
%212 = OpLoad %int %f
%213 = OpIAdd %int %212 %int_1
OpStore %f %213
OpBranch %134
%135 = OpLabel
OpBranch %123
%123 = OpLabel
%214 = OpLoad %int %e
%215 = OpIAdd %int %214 %int_1
OpStore %e %215
OpBranch %121
%122 = OpLabel
OpBranch %110
%110 = OpLabel
%216 = OpLoad %int %d
%217 = OpIAdd %int %216 %int_1
OpStore %d %217
OpBranch %108
%109 = OpLabel
OpBranch %96
%96 = OpLabel
%218 = OpLoad %int %c
%219 = OpIAdd %int %218 %int_1
OpStore %c %219
OpBranch %94
%95 = OpLabel
OpBranch %81
%81 = OpLabel
%220 = OpLoad %int %b
%221 = OpIAdd %int %220 %int_1
OpStore %b %221
OpBranch %79
%80 = OpLabel
OpBranch %67
%67 = OpLabel
%222 = OpLoad %int %a
%223 = OpIAdd %int %222 %int_1
OpStore %a %223
OpBranch %65
%66 = OpLabel
%224 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%225 = OpLoad %int %224
%226 = OpAccessChain %_ptr_Function_float %sums %225
%227 = OpLoad %float %226
%228 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%229 = OpLoad %float %228
%230 = OpFOrdEqual %bool %227 %229
OpStore %x_216_phi %230
OpSelectionMerge %231 None
OpBranchConditional %230 %232 %231
%232 = OpLabel
%233 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%234 = OpLoad %int %233
%235 = OpAccessChain %_ptr_Function_float %sums %234
%236 = OpLoad %float %235
%237 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
%238 = OpLoad %float %237
%239 = OpFOrdEqual %bool %236 %238
OpStore %x_215 %239
%240 = OpLoad %bool %x_215
OpStore %x_216_phi %240
OpBranch %231
%231 = OpLabel
%241 = OpLoad %bool %x_216_phi
OpSelectionMerge %242 None
OpBranchConditional %241 %243 %244
%243 = OpLabel
%245 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%246 = OpLoad %int %245
%247 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%248 = OpLoad %int %247
%249 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%250 = OpLoad %int %249
%251 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
%252 = OpLoad %int %251
%253 = OpConvertSToF %float %246
%254 = OpConvertSToF %float %248
%255 = OpConvertSToF %float %250
%256 = OpConvertSToF %float %252
%257 = OpCompositeConstruct %v4float %253 %254 %255 %256
OpStore %x_GLF_color %257
OpBranch %242
%244 = OpLabel
%258 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
%259 = OpLoad %int %258
%260 = OpConvertSToF %float %259
%261 = OpCompositeConstruct %v4float %260 %260 %260 %260
OpStore %x_GLF_color %261
OpBranch %242
%242 = OpLabel
OpReturn
OpFunctionEnd
%main_inner = OpFunction %main_out None %262
%265 = OpLabel
%266 = OpFunctionCall %void %main_1
%267 = OpLoad %v4float %x_GLF_color
%268 = OpCompositeConstruct %main_out %267
OpReturnValue %268
OpFunctionEnd
%main = OpFunction %void None %20
%270 = OpLabel
%271 = OpFunctionCall %main_out %main_inner
%272 = OpCompositeExtract %v4float %271 0
OpStore %x_GLF_color_1_1 %272
OpReturn
OpFunctionEnd

View File

@@ -1,231 +0,0 @@
type Arr = [[stride(16)]] array<i32, 7>;
[[block]]
struct buf0 {
x_GLF_uniform_int_values : Arr;
};
type Arr_1 = [[stride(16)]] array<f32, 3>;
[[block]]
struct buf1 {
x_GLF_uniform_float_values : Arr_1;
};
[[group(0), binding(0)]] var<uniform> x_6 : buf0;
[[group(0), binding(1)]] var<uniform> x_8 : buf1;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var sums : array<f32, 2>;
var a : i32;
var b : i32;
var c : i32;
var d : i32;
var e : i32;
var f : i32;
var g : i32;
var h : i32;
var i : i32;
var j : i32;
var x_215 : bool;
var x_216_phi : bool;
let x_20 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_110 : f32 = x_8.x_GLF_uniform_float_values[0];
sums[x_20] = x_110;
let x_22 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_114 : f32 = x_8.x_GLF_uniform_float_values[0];
sums[x_22] = x_114;
let x_23 : i32 = x_6.x_GLF_uniform_int_values[1];
a = x_23;
loop {
let x_24 : i32 = a;
let x_25 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_24 < x_25)) {
} else {
break;
}
let x_26 : i32 = x_6.x_GLF_uniform_int_values[5];
b = x_26;
loop {
let x_27 : i32 = b;
let x_28 : i32 = x_6.x_GLF_uniform_int_values[3];
if ((x_27 < x_28)) {
} else {
break;
}
let x_29 : i32 = x_6.x_GLF_uniform_int_values[6];
c = x_29;
loop {
let x_30 : i32 = c;
let x_31 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_30 <= x_31)) {
} else {
break;
}
let x_32 : i32 = x_6.x_GLF_uniform_int_values[1];
d = x_32;
loop {
let x_33 : i32 = d;
let x_34 : i32 = x_6.x_GLF_uniform_int_values[6];
if ((x_33 < x_34)) {
} else {
break;
}
let x_35 : i32 = x_6.x_GLF_uniform_int_values[0];
e = x_35;
loop {
let x_36 : i32 = e;
let x_37 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_36 <= x_37)) {
} else {
break;
}
let x_38 : i32 = x_6.x_GLF_uniform_int_values[1];
f = x_38;
loop {
let x_39 : i32 = f;
let x_40 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_39 < x_40)) {
} else {
break;
}
let x_41 : i32 = x_6.x_GLF_uniform_int_values[1];
g = x_41;
loop {
let x_42 : i32 = g;
let x_43 : i32 = x_6.x_GLF_uniform_int_values[6];
if ((x_42 < x_43)) {
} else {
break;
}
let x_44 : i32 = x_6.x_GLF_uniform_int_values[1];
h = x_44;
loop {
let x_45 : i32 = h;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[0];
if ((x_45 < x_46)) {
} else {
break;
}
let x_47 : i32 = x_6.x_GLF_uniform_int_values[1];
i = x_47;
loop {
let x_48 : i32 = i;
let x_49 : i32 = x_6.x_GLF_uniform_int_values[4];
if ((x_48 < x_49)) {
} else {
break;
}
let x_50 : i32 = x_6.x_GLF_uniform_int_values[0];
j = x_50;
loop {
let x_51 : i32 = j;
let x_52 : i32 = x_6.x_GLF_uniform_int_values[1];
if ((x_51 > x_52)) {
} else {
break;
}
let x_53 : i32 = a;
let x_197 : f32 = x_8.x_GLF_uniform_float_values[2];
let x_199 : f32 = sums[x_53];
sums[x_53] = (x_199 + x_197);
continuing {
let x_54 : i32 = j;
j = (x_54 - 1);
}
}
continuing {
let x_56 : i32 = i;
i = (x_56 + 1);
}
}
continuing {
let x_58 : i32 = h;
h = (x_58 + 1);
}
}
continuing {
let x_60 : i32 = g;
g = (x_60 + 1);
}
}
continuing {
let x_62 : i32 = f;
f = (x_62 + 1);
}
}
continuing {
let x_64 : i32 = e;
e = (x_64 + 1);
}
}
continuing {
let x_66 : i32 = d;
d = (x_66 + 1);
}
}
continuing {
let x_68 : i32 = c;
c = (x_68 + 1);
}
}
continuing {
let x_70 : i32 = b;
b = (x_70 + 1);
}
}
continuing {
let x_72 : i32 = a;
a = (x_72 + 1);
}
}
let x_74 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_204 : f32 = sums[x_74];
let x_206 : f32 = x_8.x_GLF_uniform_float_values[1];
let x_207 : bool = (x_204 == x_206);
x_216_phi = x_207;
if (x_207) {
let x_75 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_212 : f32 = sums[x_75];
let x_214 : f32 = x_8.x_GLF_uniform_float_values[1];
x_215 = (x_212 == x_214);
x_216_phi = x_215;
}
let x_216 : bool = x_216_phi;
if (x_216) {
let x_76 : i32 = x_6.x_GLF_uniform_int_values[2];
let x_77 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_78 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_79 : i32 = x_6.x_GLF_uniform_int_values[2];
x_GLF_color = vec4<f32>(f32(x_76), f32(x_77), f32(x_78), f32(x_79));
} else {
let x_80 : i32 = x_6.x_GLF_uniform_int_values[1];
let x_230 : f32 = f32(x_80);
x_GLF_color = vec4<f32>(x_230, x_230, x_230, x_230);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}