blob: e9ded5d70fbfa27f0221b1386d7a6937b04e4895 [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
};
struct buf1 {
/* 0x0000 */ packed_float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_2 {
float4 x_GLF_color_1 [[color(0)]];
};
float compute_value_f1_f1_(thread float* const limit, thread float* const thirty_two) {
float result = 0.0f;
int i = 0;
result = -0.5f;
i = 1;
while (true) {
int const x_144 = i;
if ((x_144 < 800)) {
} else {
break;
}
int const x_147 = i;
if (((x_147 % 32) == 0)) {
float const x_153 = result;
result = (x_153 + 0.400000006f);
} else {
int const x_155 = i;
float const x_157 = *(thirty_two);
if ((fmod(float(x_155), rint(x_157)) <= 0.01f)) {
float const x_163 = result;
result = (x_163 + 100.0f);
}
}
int const x_165 = i;
float const x_167 = *(limit);
if ((float(x_165) >= x_167)) {
float const x_171 = result;
return x_171;
}
{
int const x_172 = i;
i = (x_172 + 1);
}
}
float const x_174 = result;
return x_174;
}
void main_1(constant buf0& x_13, constant buf1& x_19, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) {
float3 c = 0.0f;
float thirty_two_1 = 0.0f;
float param = 0.0f;
float param_1 = 0.0f;
float param_2 = 0.0f;
float param_3 = 0.0f;
float3 x_61 = 0.0f;
int i_1 = 0;
float j = 0.0f;
c = float3(7.0f, 8.0f, 9.0f);
float const x_63 = x_13.resolution.x;
thirty_two_1 = rint((x_63 / 8.0f));
float const x_67 = (*(tint_symbol_5)).x;
param = x_67;
float const x_68 = thirty_two_1;
param_1 = x_68;
float const x_69 = compute_value_f1_f1_(&(param), &(param_1));
c.x = x_69;
float const x_72 = (*(tint_symbol_5)).y;
param_2 = x_72;
float const x_73 = thirty_two_1;
param_3 = x_73;
float const x_74 = compute_value_f1_f1_(&(param_2), &(param_3));
c.y = x_74;
float const x_77 = c.x;
if (true) {
float3 const x_81 = c;
x_61 = x_81;
} else {
float3 const x_82 = c;
float const x_84 = x_19.injectionSwitch.x;
x_61 = (x_82 * x_84);
}
float const x_87 = x_61.y;
c.z = (x_77 + x_87);
i_1 = 0;
while (true) {
int const x_94 = i_1;
if ((x_94 < 3)) {
} else {
break;
}
int const x_97 = i_1;
float const x_99 = c[x_97];
if ((x_99 >= 1.0f)) {
int const x_103 = i_1;
int const x_104 = i_1;
float const x_106 = c[x_104];
int const x_107 = i_1;
float const x_109 = c[x_107];
c[x_103] = (x_106 * x_109);
}
j = 0.0f;
while (true) {
float const x_117 = x_19.injectionSwitch.x;
float const x_119 = x_19.injectionSwitch.y;
if ((x_117 > x_119)) {
} else {
break;
}
float const x_122 = j;
float const x_124 = x_19.injectionSwitch.x;
if ((x_122 >= x_124)) {
break;
}
float const x_128 = j;
j = (x_128 + 1.0f);
}
{
int const x_130 = i_1;
i_1 = (x_130 + 1);
}
}
float3 const x_132 = c;
float3 const x_134 = normalize(fabs(x_132));
*(tint_symbol_6) = float4(x_134.x, x_134.y, x_134.z, 1.0f);
return;
}
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_13 [[buffer(0)]], constant buf1& x_19 [[buffer(1)]]) {
thread float4 tint_symbol_7 = 0.0f;
thread float4 tint_symbol_8 = 0.0f;
tint_symbol_7 = gl_FragCoord_param;
main_1(x_13, x_19, &(tint_symbol_7), &(tint_symbol_8));
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_8};
tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
return tint_symbol_4;
}