| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct tint_padded_array_element { |
| /* 0x0000 */ int el; |
| /* 0x0004 */ int8_t tint_pad[12]; |
| }; |
| struct tint_array_wrapper { |
| /* 0x0000 */ tint_padded_array_element arr[4]; |
| }; |
| struct buf1 { |
| /* 0x0000 */ tint_array_wrapper x_GLF_uniform_int_values; |
| }; |
| struct tint_padded_array_element_1 { |
| /* 0x0000 */ float el; |
| /* 0x0004 */ int8_t tint_pad_1[12]; |
| }; |
| struct tint_array_wrapper_1 { |
| /* 0x0000 */ tint_padded_array_element_1 arr[1]; |
| }; |
| struct buf0 { |
| /* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values; |
| }; |
| struct main_out { |
| float4 x_GLF_color_1; |
| }; |
| struct tint_symbol_1 { |
| float4 x_GLF_color_1 [[color(0)]]; |
| }; |
| |
| void main_1(constant buf1& x_6, constant buf0& x_10, thread float4* const tint_symbol_4) { |
| float4x4 m0 = float4x4(0.0f); |
| int c = 0; |
| float4x4 m1 = float4x4(0.0f); |
| int const x_40 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| float const x_41 = float(x_40); |
| m0 = float4x4(float4(x_41, 0.0f, 0.0f, 0.0f), float4(0.0f, x_41, 0.0f, 0.0f), float4(0.0f, 0.0f, x_41, 0.0f), float4(0.0f, 0.0f, 0.0f, x_41)); |
| int const x_48 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| c = x_48; |
| while (true) { |
| int const x_53 = c; |
| int const x_55 = x_6.x_GLF_uniform_int_values.arr[0].el; |
| if ((x_53 < x_55)) { |
| } else { |
| break; |
| } |
| float4x4 const x_58 = m0; |
| m1 = x_58; |
| int const x_59 = c; |
| int const x_61 = x_6.x_GLF_uniform_int_values.arr[3].el; |
| int const x_64 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| float const x_66 = x_10.x_GLF_uniform_float_values.arr[0].el; |
| m1[(x_59 % x_61)][x_64] = x_66; |
| int const x_68 = c; |
| int const x_70 = x_6.x_GLF_uniform_int_values.arr[3].el; |
| int const x_73 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| float const x_75 = x_10.x_GLF_uniform_float_values.arr[0].el; |
| m0[(x_68 % x_70)][x_73] = x_75; |
| { |
| int const x_77 = c; |
| c = as_type<int>((as_type<uint>(x_77) + as_type<uint>(1))); |
| } |
| } |
| float4x4 const x_79 = m0; |
| int const x_81 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_84 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| int const x_87 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_90 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_93 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_96 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| int const x_99 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_102 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_105 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_108 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| int const x_111 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_114 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_117 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_120 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| int const x_123 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_126 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| float4x4 const x_132 = float4x4(float4(float(x_81), float(x_84), float(x_87), float(x_90)), float4(float(x_93), float(x_96), float(x_99), float(x_102)), float4(float(x_105), float(x_108), float(x_111), float(x_114)), float4(float(x_117), float(x_120), float(x_123), float(x_126))); |
| if ((((all((x_79[0u] == x_132[0u])) && all((x_79[1u] == x_132[1u]))) && all((x_79[2u] == x_132[2u]))) && all((x_79[3u] == x_132[3u])))) { |
| int const x_156 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| int const x_159 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_162 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| int const x_165 = x_6.x_GLF_uniform_int_values.arr[2].el; |
| *(tint_symbol_4) = float4(float(x_156), float(x_159), float(x_162), float(x_165)); |
| } else { |
| int const x_169 = x_6.x_GLF_uniform_int_values.arr[1].el; |
| float const x_170 = float(x_169); |
| *(tint_symbol_4) = float4(x_170, x_170, x_170, x_170); |
| } |
| return; |
| } |
| |
| fragment tint_symbol_1 tint_symbol(constant buf1& x_6 [[buffer(1)]], constant buf0& x_10 [[buffer(0)]]) { |
| thread float4 tint_symbol_5 = 0.0f; |
| main_1(x_6, x_10, &(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; |
| } |
| |