| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct tint_padded_array_element { |
| /* 0x0000 */ float el; |
| /* 0x0004 */ int8_t tint_pad[12]; |
| }; |
| struct tint_array_wrapper { |
| /* 0x0000 */ tint_padded_array_element arr[3]; |
| }; |
| struct buf1 { |
| /* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values; |
| }; |
| struct tint_padded_array_element_1 { |
| /* 0x0000 */ int el; |
| /* 0x0004 */ int8_t tint_pad_1[12]; |
| }; |
| struct tint_array_wrapper_1 { |
| /* 0x0000 */ tint_padded_array_element_1 arr[4]; |
| }; |
| struct buf2 { |
| /* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_int_values; |
| }; |
| struct buf3 { |
| /* 0x0000 */ int three; |
| }; |
| struct tint_padded_array_element_2 { |
| /* 0x0000 */ uint el; |
| /* 0x0004 */ int8_t tint_pad_2[12]; |
| }; |
| struct tint_array_wrapper_2 { |
| /* 0x0000 */ tint_padded_array_element_2 arr[1]; |
| }; |
| struct buf0 { |
| /* 0x0000 */ tint_array_wrapper_2 x_GLF_uniform_uint_values; |
| }; |
| struct main_out { |
| float4 x_GLF_color_1; |
| }; |
| struct tint_symbol_2 { |
| float4 x_GLF_color_1 [[color(0)]]; |
| }; |
| |
| void func0_(constant buf1& x_8, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) { |
| float4 tmp = 0.0f; |
| float const x_112 = (*(tint_symbol_5)).x; |
| float const x_114 = x_8.x_GLF_uniform_float_values.arr[1].el; |
| if ((x_112 > x_114)) { |
| float4 const x_118 = *(tint_symbol_6); |
| tmp = x_118; |
| } |
| float4 const x_119 = tmp; |
| *(tint_symbol_6) = x_119; |
| return; |
| } |
| |
| int func1_(constant buf2& x_12, constant buf3& x_14, constant buf1& x_8, thread float4* const tint_symbol_7, thread float4* const tint_symbol_8) { |
| int a = 0; |
| int const x_122 = x_12.x_GLF_uniform_int_values.arr[1].el; |
| a = x_122; |
| while (true) { |
| int const x_127 = a; |
| int const x_129 = x_12.x_GLF_uniform_int_values.arr[3].el; |
| if ((x_127 < x_129)) { |
| } else { |
| break; |
| } |
| int const x_133 = x_14.three; |
| int const x_135 = x_12.x_GLF_uniform_int_values.arr[1].el; |
| if ((x_133 > x_135)) { |
| func0_(x_8, tint_symbol_7, tint_symbol_8); |
| int const x_142 = x_12.x_GLF_uniform_int_values.arr[3].el; |
| a = x_142; |
| } else { |
| func0_(x_8, tint_symbol_7, tint_symbol_8); |
| } |
| } |
| int const x_144 = a; |
| return x_144; |
| } |
| |
| void main_1(constant buf1& x_8, constant buf0& x_16, constant buf2& x_12, constant buf3& x_14, thread float4* const tint_symbol_9, thread float4* const tint_symbol_10) { |
| int a_1 = 0; |
| int i = 0; |
| int j = 0; |
| float const x_56 = (*(tint_symbol_9)).x; |
| float const x_58 = x_8.x_GLF_uniform_float_values.arr[1].el; |
| if ((x_56 > x_58)) { |
| float const x_64 = x_8.x_GLF_uniform_float_values.arr[0].el; |
| float const x_66 = x_8.x_GLF_uniform_float_values.arr[1].el; |
| float const x_68 = x_8.x_GLF_uniform_float_values.arr[0].el; |
| float const x_70 = x_8.x_GLF_uniform_float_values.arr[2].el; |
| *(tint_symbol_10) = float4(x_64, x_66, x_68, x_70); |
| } else { |
| uint const x_73 = x_16.x_GLF_uniform_uint_values.arr[0].el; |
| *(tint_symbol_10) = unpack_snorm4x8_to_float(x_73); |
| } |
| int const x_76 = x_12.x_GLF_uniform_int_values.arr[2].el; |
| a_1 = x_76; |
| i = 0; |
| while (true) { |
| int const x_81 = i; |
| if ((x_81 < 5)) { |
| } else { |
| break; |
| } |
| j = 0; |
| while (true) { |
| int const x_88 = j; |
| if ((x_88 < 2)) { |
| } else { |
| break; |
| } |
| int const x_91 = func1_(x_12, x_14, x_8, tint_symbol_9, tint_symbol_10); |
| int const x_92 = a_1; |
| a_1 = as_type<int>((as_type<uint>(x_92) + as_type<uint>(x_91))); |
| { |
| int const x_94 = j; |
| j = as_type<int>((as_type<uint>(x_94) + as_type<uint>(1))); |
| } |
| } |
| { |
| int const x_96 = i; |
| i = as_type<int>((as_type<uint>(x_96) + as_type<uint>(1))); |
| } |
| } |
| int const x_98 = a_1; |
| int const x_100 = x_12.x_GLF_uniform_int_values.arr[0].el; |
| if ((x_98 == x_100)) { |
| float const x_105 = x_8.x_GLF_uniform_float_values.arr[0].el; |
| float const x_107 = (*(tint_symbol_10)).z; |
| (*(tint_symbol_10)).z = (x_107 - x_105); |
| } |
| return; |
| } |
| |
| fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf1& x_8 [[buffer(1)]], constant buf0& x_16 [[buffer(0)]], constant buf2& x_12 [[buffer(2)]], constant buf3& x_14 [[buffer(3)]]) { |
| thread float4 tint_symbol_11 = 0.0f; |
| thread float4 tint_symbol_12 = 0.0f; |
| tint_symbol_11 = gl_FragCoord_param; |
| main_1(x_8, x_16, x_12, x_14, &(tint_symbol_11), &(tint_symbol_12)); |
| main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_12}; |
| tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1}; |
| return tint_symbol_4; |
| } |
| |