| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct buf0 { |
| /* 0x0000 */ int injected; |
| }; |
| struct tint_array_wrapper { |
| float arr[9]; |
| }; |
| 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_9, thread float4* const tint_symbol_4) { |
| int idx = 0; |
| float4x3 m43 = float4x3(0.0f); |
| int ll_1 = 0; |
| int GLF_live6rows = 0; |
| int z = 0; |
| int ll_2 = 0; |
| int ctr = 0; |
| float4x3 tempm43 = float4x3(0.0f); |
| int ll_3 = 0; |
| int c = 0; |
| int d = 0; |
| tint_array_wrapper GLF_live6sums = {}; |
| idx = 0; |
| m43 = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), float3(0.0f, 0.0f, 0.0f)); |
| ll_1 = 0; |
| GLF_live6rows = 2; |
| while (true) { |
| int const x_18 = ll_1; |
| int const x_19 = x_9.injected; |
| if ((x_18 >= x_19)) { |
| *(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f); |
| break; |
| } |
| int const x_20 = ll_1; |
| ll_1 = as_type<int>((as_type<uint>(x_20) + as_type<uint>(1))); |
| int const x_22 = x_9.injected; |
| z = x_22; |
| ll_2 = 0; |
| ctr = 0; |
| while (true) { |
| int const x_23 = ctr; |
| if ((x_23 < 1)) { |
| } else { |
| break; |
| } |
| int const x_24 = ll_2; |
| int const x_25 = x_9.injected; |
| if ((x_24 >= x_25)) { |
| break; |
| } |
| int const x_26 = ll_2; |
| ll_2 = as_type<int>((as_type<uint>(x_26) + as_type<uint>(1))); |
| float4x3 const x_98 = m43; |
| tempm43 = x_98; |
| ll_3 = 0; |
| c = 0; |
| while (true) { |
| int const x_28 = z; |
| if ((1 < x_28)) { |
| } else { |
| break; |
| } |
| d = 0; |
| int const x_29 = c; |
| int const x_30 = c; |
| int const x_31 = c; |
| int const x_32 = d; |
| int const x_33 = d; |
| int const x_34 = d; |
| tempm43[select(0, x_31, ((x_29 >= 0) && (x_30 < 4)))][select(0, x_34, ((x_32 >= 0) && (x_33 < 3)))] = 1.0f; |
| { |
| int const x_35 = c; |
| c = as_type<int>((as_type<uint>(x_35) + as_type<uint>(1))); |
| } |
| } |
| int const x_37 = idx; |
| int const x_38 = idx; |
| int const x_39 = idx; |
| int const x_117 = select(0, x_39, ((x_37 >= 0) && (x_38 < 9))); |
| int const x_40 = ctr; |
| float const x_119 = m43[x_40].y; |
| float const x_121 = GLF_live6sums.arr[x_117]; |
| GLF_live6sums.arr[x_117] = (x_121 + x_119); |
| { |
| int const x_41 = ctr; |
| ctr = as_type<int>((as_type<uint>(x_41) + as_type<uint>(1))); |
| } |
| } |
| int const x_43 = idx; |
| idx = as_type<int>((as_type<uint>(x_43) + as_type<uint>(1))); |
| } |
| return; |
| } |
| |
| fragment tint_symbol_1 tint_symbol(constant buf0& x_9 [[buffer(0)]]) { |
| thread float4 tint_symbol_5 = 0.0f; |
| main_1(x_9, &(tint_symbol_5)); |
| main_out const tint_symbol_2 = {.x_GLF_color_1=tint_symbol_5}; |
| tint_symbol_1 const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_2.x_GLF_color_1}; |
| return tint_symbol_3; |
| } |
| |