blob: 856f1d979a35df7c3862928027a0236701296811 [file] [log] [blame]
#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[5];
};
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 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_10, thread float4* const tint_symbol_4) {
float2x2 M1 = float2x2(0.0f);
float a = 0.0f;
int c = 0;
float const x_41 = x_6.x_GLF_uniform_float_values.arr[1].el;
float const x_43 = x_6.x_GLF_uniform_float_values.arr[2].el;
float const x_45 = x_6.x_GLF_uniform_float_values.arr[3].el;
float const x_47 = x_6.x_GLF_uniform_float_values.arr[4].el;
M1 = float2x2(float2(x_41, x_43), float2(x_45, x_47));
float const x_52 = x_6.x_GLF_uniform_float_values.arr[1].el;
a = x_52;
int const x_54 = x_10.x_GLF_uniform_int_values.arr[1].el;
c = x_54;
while (true) {
int const x_59 = c;
int const x_61 = x_10.x_GLF_uniform_int_values.arr[0].el;
if ((x_59 < x_61)) {
} else {
break;
}
int const x_65 = x_10.x_GLF_uniform_int_values.arr[2].el;
int const x_66 = c;
float const x_70 = M1[x_65][clamp(~(x_66), 0, 1)];
float const x_71 = a;
a = (x_71 + x_70);
{
int const x_73 = c;
c = as_type<int>((as_type<uint>(x_73) + as_type<uint>(1)));
}
}
float const x_75 = a;
float const x_77 = x_6.x_GLF_uniform_float_values.arr[0].el;
if ((x_75 == x_77)) {
int const x_83 = x_10.x_GLF_uniform_int_values.arr[2].el;
int const x_86 = x_10.x_GLF_uniform_int_values.arr[1].el;
int const x_89 = x_10.x_GLF_uniform_int_values.arr[1].el;
int const x_92 = x_10.x_GLF_uniform_int_values.arr[2].el;
*(tint_symbol_4) = float4(float(x_83), float(x_86), float(x_89), float(x_92));
} else {
int const x_96 = x_10.x_GLF_uniform_int_values.arr[2].el;
float const x_97 = float(x_96);
*(tint_symbol_4) = float4(x_97, x_97, x_97, x_97);
}
return;
}
fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]], constant buf1& x_10 [[buffer(1)]]) {
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;
}