| #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[2]; |
| }; |
| struct buf0 { |
| /* 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[3]; |
| }; |
| struct buf1 { |
| /* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_int_values; |
| }; |
| struct tint_array_wrapper_2 { |
| float arr[3]; |
| }; |
| 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_9, thread float4* const tint_symbol_4) { |
| tint_array_wrapper_2 sums = {}; |
| int i = 0; |
| float2x4 indexable = float2x4(0.0f); |
| float const x_40 = x_6.x_GLF_uniform_float_values.arr[0].el; |
| float const x_42 = x_6.x_GLF_uniform_float_values.arr[0].el; |
| float const x_44 = x_6.x_GLF_uniform_float_values.arr[0].el; |
| tint_array_wrapper_2 const tint_symbol_2 = {.arr={x_40, x_42, x_44}}; |
| sums = tint_symbol_2; |
| i = 0; |
| while (true) { |
| int const x_50 = i; |
| int const x_52 = x_9.x_GLF_uniform_int_values.arr[0].el; |
| int const x_54 = x_9.x_GLF_uniform_int_values.arr[0].el; |
| if ((x_50 < clamp(x_52, x_54, 2))) { |
| } else { |
| break; |
| } |
| int const x_59 = x_9.x_GLF_uniform_int_values.arr[2].el; |
| float const x_61 = x_6.x_GLF_uniform_float_values.arr[0].el; |
| int const x_65 = i; |
| int const x_67 = x_9.x_GLF_uniform_int_values.arr[1].el; |
| indexable = float2x4(float4(x_61, 0.0f, 0.0f, 0.0f), float4(0.0f, x_61, 0.0f, 0.0f)); |
| float const x_69 = indexable[x_65][x_67]; |
| float const x_71 = sums.arr[x_59]; |
| sums.arr[x_59] = (x_71 + x_69); |
| { |
| int const x_74 = i; |
| i = as_type<int>((as_type<uint>(x_74) + as_type<uint>(1))); |
| } |
| } |
| int const x_77 = x_9.x_GLF_uniform_int_values.arr[2].el; |
| float const x_79 = sums.arr[x_77]; |
| float const x_81 = x_6.x_GLF_uniform_float_values.arr[1].el; |
| if ((x_79 == x_81)) { |
| int const x_87 = x_9.x_GLF_uniform_int_values.arr[0].el; |
| int const x_90 = x_9.x_GLF_uniform_int_values.arr[1].el; |
| int const x_93 = x_9.x_GLF_uniform_int_values.arr[1].el; |
| int const x_96 = x_9.x_GLF_uniform_int_values.arr[0].el; |
| *(tint_symbol_4) = float4(float(x_87), float(x_90), float(x_93), float(x_96)); |
| } else { |
| int const x_100 = x_9.x_GLF_uniform_int_values.arr[1].el; |
| float const x_101 = float(x_100); |
| *(tint_symbol_4) = float4(x_101, x_101, x_101, x_101); |
| } |
| return; |
| } |
| |
| main_out tint_symbol_inner(constant buf0& x_6, constant buf1& x_9, thread float4* const tint_symbol_5) { |
| main_1(x_6, x_9, tint_symbol_5); |
| main_out const tint_symbol_3 = {.x_GLF_color_1=*(tint_symbol_5)}; |
| return tint_symbol_3; |
| } |
| |
| fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]], constant buf1& x_9 [[buffer(1)]]) { |
| thread float4 tint_symbol_6 = 0.0f; |
| main_out const inner_result = tint_symbol_inner(x_6, x_9, &(tint_symbol_6)); |
| tint_symbol_1 wrapper_result = {}; |
| wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; |
| return wrapper_result; |
| } |
| |