| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct buf1 { |
| /* 0x0000 */ packed_float2 injectionSwitch; |
| }; |
| struct buf0 { |
| /* 0x0000 */ packed_float2 resolution; |
| }; |
| 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, constant buf1& x_6, thread float4* const tint_symbol_3, thread float4* const tint_symbol_4) { |
| float3 c = 0.0f; |
| float x_54 = 0.0f; |
| float x_58 = 0.0f; |
| float x_59 = 0.0f; |
| float x_91 = 0.0f; |
| float x_92 = 0.0f; |
| float x_135 = 0.0f; |
| float x_136 = 0.0f; |
| float x_58_phi = 0.0f; |
| int x_61_phi = 0; |
| float x_91_phi = 0.0f; |
| float x_92_phi = 0.0f; |
| bool x_93_phi = false; |
| float x_95_phi = 0.0f; |
| float x_139_phi = 0.0f; |
| int x_146_phi = 0; |
| c = float3(7.0f, 8.0f, 9.0f); |
| float const x_50 = x_9.resolution.x; |
| float const x_52 = rint((x_50 * 0.125f)); |
| x_54 = (*(tint_symbol_3)).x; |
| switch(0u) { |
| default: { |
| x_58_phi = -0.5f; |
| x_61_phi = 1; |
| while (true) { |
| float x_71 = 0.0f; |
| float x_79 = 0.0f; |
| int x_62 = 0; |
| float x_59_phi = 0.0f; |
| x_58 = x_58_phi; |
| int const x_61 = x_61_phi; |
| x_91_phi = 0.0f; |
| x_92_phi = x_58; |
| x_93_phi = false; |
| if ((x_61 < 800)) { |
| } else { |
| break; |
| } |
| float x_78 = 0.0f; |
| float x_79_phi = 0.0f; |
| if (((x_61 % 32) == 0)) { |
| x_71 = (x_58 + 0.400000006f); |
| x_59_phi = x_71; |
| } else { |
| x_79_phi = x_58; |
| if ((fmod(float(x_61), rint(x_52)) <= 0.01f)) { |
| x_78 = (x_58 + 100.0f); |
| x_79_phi = x_78; |
| } |
| x_79 = x_79_phi; |
| float const x_81 = x_6.injectionSwitch.x; |
| float const x_83 = x_6.injectionSwitch.y; |
| if ((x_81 > x_83)) { |
| discard_fragment(); |
| } |
| x_59_phi = x_79; |
| } |
| x_59 = x_59_phi; |
| if ((float(x_61) >= x_54)) { |
| x_91_phi = x_59; |
| x_92_phi = x_59; |
| x_93_phi = true; |
| break; |
| } |
| { |
| x_62 = as_type<int>((as_type<uint>(x_61) + as_type<uint>(1))); |
| x_58_phi = x_59; |
| x_61_phi = x_62; |
| } |
| } |
| x_91 = x_91_phi; |
| x_92 = x_92_phi; |
| bool const x_93 = x_93_phi; |
| x_95_phi = x_91; |
| if (x_93) { |
| break; |
| } |
| x_95_phi = x_92; |
| break; |
| } |
| } |
| float x_98 = 0.0f; |
| float x_102 = 0.0f; |
| float x_103 = 0.0f; |
| float x_102_phi = 0.0f; |
| int x_105_phi = 0; |
| float x_135_phi = 0.0f; |
| float x_136_phi = 0.0f; |
| bool x_137_phi = false; |
| float const x_95 = x_95_phi; |
| c.x = x_95; |
| x_98 = (*(tint_symbol_3)).y; |
| switch(0u) { |
| default: { |
| x_102_phi = -0.5f; |
| x_105_phi = 1; |
| while (true) { |
| float x_115 = 0.0f; |
| float x_123 = 0.0f; |
| int x_106 = 0; |
| float x_103_phi = 0.0f; |
| x_102 = x_102_phi; |
| int const x_105 = x_105_phi; |
| x_135_phi = 0.0f; |
| x_136_phi = x_102; |
| x_137_phi = false; |
| if ((x_105 < 800)) { |
| } else { |
| break; |
| } |
| float x_122 = 0.0f; |
| float x_123_phi = 0.0f; |
| if (((x_105 % 32) == 0)) { |
| x_115 = (x_102 + 0.400000006f); |
| x_103_phi = x_115; |
| } else { |
| x_123_phi = x_102; |
| if ((fmod(float(x_105), rint(x_52)) <= 0.01f)) { |
| x_122 = (x_102 + 100.0f); |
| x_123_phi = x_122; |
| } |
| x_123 = x_123_phi; |
| float const x_125 = x_6.injectionSwitch.x; |
| float const x_127 = x_6.injectionSwitch.y; |
| if ((x_125 > x_127)) { |
| discard_fragment(); |
| } |
| x_103_phi = x_123; |
| } |
| x_103 = x_103_phi; |
| if ((float(x_105) >= x_98)) { |
| x_135_phi = x_103; |
| x_136_phi = x_103; |
| x_137_phi = true; |
| break; |
| } |
| { |
| x_106 = as_type<int>((as_type<uint>(x_105) + as_type<uint>(1))); |
| x_102_phi = x_103; |
| x_105_phi = x_106; |
| } |
| } |
| x_135 = x_135_phi; |
| x_136 = x_136_phi; |
| bool const x_137 = x_137_phi; |
| x_139_phi = x_135; |
| if (x_137) { |
| break; |
| } |
| x_139_phi = x_136; |
| break; |
| } |
| } |
| float const x_139 = x_139_phi; |
| c.y = x_139; |
| float const x_141 = c.x; |
| float const x_142 = c.y; |
| c.z = (x_141 + x_142); |
| x_146_phi = 0; |
| while (true) { |
| int x_147 = 0; |
| int const x_146 = x_146_phi; |
| if ((x_146 < 3)) { |
| } else { |
| break; |
| } |
| int const x_152_save = x_146; |
| float const x_153 = c[x_152_save]; |
| if ((x_153 >= 1.0f)) { |
| float const x_157 = c[x_152_save]; |
| float const x_158 = c[x_152_save]; |
| c[x_152_save] = (x_157 * x_158); |
| float const x_161 = x_6.injectionSwitch.x; |
| float const x_163 = x_6.injectionSwitch.y; |
| if ((x_161 > x_163)) { |
| discard_fragment(); |
| } |
| } |
| { |
| x_147 = as_type<int>((as_type<uint>(x_146) + as_type<uint>(1))); |
| x_146_phi = x_147; |
| } |
| } |
| float3 const x_167 = c; |
| float3 const x_169 = normalize(fabs(x_167)); |
| *(tint_symbol_4) = float4(x_169.x, x_169.y, x_169.z, 1.0f); |
| return; |
| } |
| |
| main_out tint_symbol_inner(constant buf0& x_9, constant buf1& x_6, 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_9, x_6, 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_9 [[buffer(0)]], constant buf1& x_6 [[buffer(1)]]) { |
| thread float4 tint_symbol_7 = 0.0f; |
| thread float4 tint_symbol_8 = 0.0f; |
| main_out const inner_result = tint_symbol_inner(x_9, x_6, 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; |
| } |
| |