| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct buf0 { |
| /* 0x0000 */ packed_float2 injectionSwitch; |
| }; |
| 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)]]; |
| }; |
| |
| float3 drawShape_vf2_(constant buf0& x_25, thread float2* const pos) { |
| bool c2 = false; |
| bool c3 = false; |
| bool c4 = false; |
| bool c5 = false; |
| bool c6 = false; |
| int GLF_live4i = 0; |
| int GLF_live4_looplimiter5 = 0; |
| float4x2 GLF_live7m42 = float4x2(0.0f); |
| float3x3 GLF_live7m33 = float3x3(0.0f); |
| int GLF_live7cols = 0; |
| int GLF_live7_looplimiter3 = 0; |
| int GLF_live7rows = 0; |
| int GLF_live7_looplimiter2 = 0; |
| int GLF_live7_looplimiter1 = 0; |
| int GLF_live7c = 0; |
| int GLF_live7r = 0; |
| int GLF_live7_looplimiter0 = 0; |
| int GLF_live7sum_index = 0; |
| int GLF_live7_looplimiter7 = 0; |
| int GLF_live7cols_1 = 0; |
| int GLF_live7rows_1 = 0; |
| tint_array_wrapper GLF_live7sums = {}; |
| int GLF_live7c_1 = 0; |
| int GLF_live7r_1 = 0; |
| int x_180 = 0; |
| float3x3 indexable = float3x3(0.0f); |
| float const x_182 = (*(pos)).x; |
| c2 = (x_182 > 1.0f); |
| bool const x_184 = c2; |
| if (x_184) { |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| float const x_188 = (*(pos)).y; |
| c3 = (x_188 < 1.0f); |
| bool const x_190 = c3; |
| if (x_190) { |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| float const x_194 = (*(pos)).y; |
| c4 = (x_194 > 1.0f); |
| bool const x_196 = c4; |
| if (x_196) { |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| float const x_200 = (*(pos)).x; |
| c5 = (x_200 < 1.0f); |
| bool const x_202 = c5; |
| if (x_202) { |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| float const x_206 = (*(pos)).x; |
| c6 = ((x_206 + 1.0f) > 1.0f); |
| bool const x_209 = c6; |
| if (x_209) { |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| GLF_live4i = 0; |
| while (true) { |
| int const x_39 = GLF_live4i; |
| if ((x_39 < 4)) { |
| } else { |
| break; |
| } |
| int const x_40 = GLF_live4_looplimiter5; |
| if ((x_40 >= 7)) { |
| break; |
| } |
| int const x_41 = GLF_live4_looplimiter5; |
| GLF_live4_looplimiter5 = as_type<int>((as_type<uint>(x_41) + as_type<uint>(1))); |
| GLF_live7m42 = float4x2(float2(1.0f, 0.0f), float2(0.0f, 1.0f), float2(0.0f, 0.0f), float2(1.0f, 0.0f)); |
| GLF_live7m33 = float3x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f)); |
| GLF_live7cols = 2; |
| while (true) { |
| int const x_43 = GLF_live7cols; |
| if ((x_43 < 4)) { |
| } else { |
| break; |
| } |
| int const x_44 = GLF_live7_looplimiter3; |
| if ((x_44 >= 7)) { |
| break; |
| } |
| int const x_45 = GLF_live7_looplimiter3; |
| GLF_live7_looplimiter3 = as_type<int>((as_type<uint>(x_45) + as_type<uint>(1))); |
| GLF_live7rows = 2; |
| while (true) { |
| int const x_47 = GLF_live7rows; |
| if ((x_47 < 4)) { |
| } else { |
| break; |
| } |
| int const x_48 = GLF_live7_looplimiter2; |
| if ((x_48 >= 7)) { |
| break; |
| } |
| int const x_49 = GLF_live7_looplimiter2; |
| GLF_live7_looplimiter2 = as_type<int>((as_type<uint>(x_49) + as_type<uint>(1))); |
| GLF_live7_looplimiter1 = 0; |
| GLF_live7c = 0; |
| while (true) { |
| int const x_51 = GLF_live7c; |
| if ((x_51 < 3)) { |
| } else { |
| break; |
| } |
| int const x_52 = GLF_live7_looplimiter1; |
| if ((x_52 >= 7)) { |
| break; |
| } |
| int const x_53 = GLF_live7_looplimiter1; |
| GLF_live7_looplimiter1 = as_type<int>((as_type<uint>(x_53) + as_type<uint>(1))); |
| GLF_live7r = 0; |
| while (true) { |
| int const x_55 = GLF_live7r; |
| if ((x_55 < 2)) { |
| } else { |
| break; |
| } |
| int const x_56 = GLF_live7_looplimiter0; |
| if ((x_56 >= 7)) { |
| break; |
| } |
| int const x_57 = GLF_live7_looplimiter0; |
| GLF_live7_looplimiter0 = as_type<int>((as_type<uint>(x_57) + as_type<uint>(1))); |
| int const x_59 = GLF_live7c; |
| int const x_60 = GLF_live7c; |
| int const x_61 = GLF_live7c; |
| int const x_62 = GLF_live7r; |
| int const x_63 = GLF_live7r; |
| int const x_64 = GLF_live7r; |
| GLF_live7m33[select(0, x_61, ((x_59 >= 0) && (x_60 < 3)))][select(0, x_64, ((x_62 >= 0) && (x_63 < 3)))] = 1.0f; |
| float const x_267 = x_25.injectionSwitch.y; |
| if ((0.0f > x_267)) { |
| } else { |
| int const x_65 = GLF_live7c; |
| int const x_66 = GLF_live7c; |
| int const x_67 = GLF_live7c; |
| int const x_68 = GLF_live7r; |
| int const x_69 = GLF_live7r; |
| int const x_70 = GLF_live7r; |
| GLF_live7m42[select(0, x_67, ((x_65 >= 0) && (x_66 < 4)))][select(0, x_70, ((x_68 >= 0) && (x_69 < 2)))] = 1.0f; |
| } |
| { |
| int const x_71 = GLF_live7r; |
| GLF_live7r = as_type<int>((as_type<uint>(x_71) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_73 = GLF_live7c; |
| GLF_live7c = as_type<int>((as_type<uint>(x_73) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_75 = GLF_live7rows; |
| GLF_live7rows = as_type<int>((as_type<uint>(x_75) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_77 = GLF_live7cols; |
| GLF_live7cols = as_type<int>((as_type<uint>(x_77) + as_type<uint>(1))); |
| } |
| } |
| GLF_live7sum_index = 0; |
| GLF_live7_looplimiter7 = 0; |
| GLF_live7cols_1 = 2; |
| while (true) { |
| int const x_79 = GLF_live7cols_1; |
| if ((x_79 < 4)) { |
| } else { |
| break; |
| } |
| int const x_80 = GLF_live7_looplimiter7; |
| if ((x_80 >= 7)) { |
| break; |
| } |
| int const x_81 = GLF_live7_looplimiter7; |
| GLF_live7_looplimiter7 = as_type<int>((as_type<uint>(x_81) + as_type<uint>(1))); |
| GLF_live7rows_1 = 2; |
| int const x_83 = GLF_live7sum_index; |
| int const x_84 = GLF_live7sum_index; |
| int const x_85 = GLF_live7sum_index; |
| GLF_live7sums.arr[select(0, x_85, ((x_83 >= 0) && (x_84 < 9)))] = 0.0f; |
| GLF_live7c_1 = 0; |
| while (true) { |
| int const x_86 = GLF_live7c_1; |
| if ((x_86 < 1)) { |
| } else { |
| break; |
| } |
| GLF_live7r_1 = 0; |
| while (true) { |
| int const x_87 = GLF_live7r_1; |
| int const x_88 = GLF_live7rows_1; |
| if ((x_87 < x_88)) { |
| } else { |
| break; |
| } |
| int const x_89 = GLF_live7sum_index; |
| int const x_90 = GLF_live7sum_index; |
| int const x_91 = GLF_live7sum_index; |
| int const x_310 = select(0, x_91, ((x_89 >= 0) && (x_90 < 9))); |
| float3x3 const x_311 = GLF_live7m33; |
| float3x3 const x_312 = transpose(x_311); |
| int const x_92 = GLF_live7c_1; |
| if ((x_92 < 3)) { |
| x_180 = 1; |
| } else { |
| float const x_318 = x_25.injectionSwitch.x; |
| x_180 = int(x_318); |
| } |
| int const x_320 = x_180; |
| int const x_93 = GLF_live7r_1; |
| indexable = x_312; |
| float const x_324 = indexable[x_320][select(0, 1, (x_93 < 3))]; |
| float const x_326 = GLF_live7sums.arr[x_310]; |
| GLF_live7sums.arr[x_310] = (x_326 + x_324); |
| int const x_94 = GLF_live7sum_index; |
| int const x_95 = GLF_live7sum_index; |
| int const x_96 = GLF_live7sum_index; |
| int const x_332 = select(0, x_96, ((x_94 >= 0) && (x_95 < 9))); |
| int const x_97 = GLF_live7r_1; |
| float const x_334 = GLF_live7m42[1][x_97]; |
| float const x_336 = GLF_live7sums.arr[x_332]; |
| GLF_live7sums.arr[x_332] = (x_336 + x_334); |
| { |
| int const x_98 = GLF_live7r_1; |
| GLF_live7r_1 = as_type<int>((as_type<uint>(x_98) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_100 = GLF_live7c_1; |
| GLF_live7c_1 = as_type<int>((as_type<uint>(x_100) + as_type<uint>(1))); |
| } |
| } |
| int const x_102 = GLF_live7sum_index; |
| GLF_live7sum_index = as_type<int>((as_type<uint>(x_102) + as_type<uint>(1))); |
| { |
| int const x_104 = GLF_live7cols_1; |
| GLF_live7cols_1 = as_type<int>((as_type<uint>(x_104) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_106 = GLF_live4i; |
| GLF_live4i = as_type<int>((as_type<uint>(x_106) + as_type<uint>(1))); |
| } |
| } |
| return float3(1.0f, 1.0f, 1.0f); |
| } |
| |
| void main_1(constant buf0& x_25, thread float4* const tint_symbol_3, thread float4* const tint_symbol_4) { |
| float2 position = 0.0f; |
| float2 param = 0.0f; |
| float2 param_1 = 0.0f; |
| int i = 0; |
| float2 param_2 = 0.0f; |
| float const x_161 = x_25.injectionSwitch.x; |
| if ((x_161 >= 2.0f)) { |
| float4 const x_165 = *(tint_symbol_3); |
| position = float2(x_165.x, x_165.y); |
| float2 const x_167 = position; |
| param = x_167; |
| float3 const x_168 = drawShape_vf2_(x_25, &(param)); |
| float2 const x_169 = position; |
| param_1 = x_169; |
| float3 const x_170 = drawShape_vf2_(x_25, &(param_1)); |
| i = 25; |
| while (true) { |
| int const x_108 = i; |
| if ((x_108 > 0)) { |
| } else { |
| break; |
| } |
| float2 const x_177 = position; |
| param_2 = x_177; |
| float3 const x_178 = drawShape_vf2_(x_25, &(param_2)); |
| { |
| int const x_109 = i; |
| i = as_type<int>((as_type<uint>(x_109) - as_type<uint>(1))); |
| } |
| } |
| } |
| *(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f); |
| return; |
| } |
| |
| main_out tint_symbol_inner(constant buf0& x_25, float4 gl_FragCoord_param, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) { |
| *(tint_symbol_5) = gl_FragCoord_param; |
| main_1(x_25, tint_symbol_5, tint_symbol_6); |
| main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_6)}; |
| return tint_symbol_2; |
| } |
| |
| fragment tint_symbol_1 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_25 [[buffer(0)]]) { |
| thread float4 tint_symbol_7 = 0.0f; |
| thread float4 tint_symbol_8 = 0.0f; |
| main_out const inner_result = tint_symbol_inner(x_25, gl_FragCoord_param, &(tint_symbol_7), &(tint_symbol_8)); |
| tint_symbol_1 wrapper_result = {}; |
| wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; |
| return wrapper_result; |
| } |
| |