322 lines
8.4 KiB
Plaintext
322 lines
8.4 KiB
Plaintext
|
#include <metal_stdlib>
|
||
|
|
||
|
using namespace metal;
|
||
|
struct buf0 {
|
||
|
/* 0x0000 */ packed_float2 injectionSwitch;
|
||
|
};
|
||
|
struct buf1 {
|
||
|
/* 0x0000 */ packed_float2 resolution;
|
||
|
};
|
||
|
struct tint_array_wrapper {
|
||
|
int arr[10];
|
||
|
};
|
||
|
struct main_out {
|
||
|
float4 x_GLF_color_1;
|
||
|
};
|
||
|
struct tint_symbol_2 {
|
||
|
float4 x_GLF_color_1 [[color(0)]];
|
||
|
};
|
||
|
|
||
|
void merge_i1_i1_i1_(thread int* const from, thread int* const mid, thread int* const to, thread tint_array_wrapper* const tint_symbol_5, thread tint_array_wrapper* const tint_symbol_6) {
|
||
|
int k = 0;
|
||
|
int i = 0;
|
||
|
int j = 0;
|
||
|
int i_1 = 0;
|
||
|
int const x_256 = *(from);
|
||
|
k = x_256;
|
||
|
int const x_257 = *(from);
|
||
|
i = x_257;
|
||
|
int const x_258 = *(mid);
|
||
|
j = (x_258 + 1);
|
||
|
while (true) {
|
||
|
int const x_264 = i;
|
||
|
int const x_265 = *(mid);
|
||
|
int const x_267 = j;
|
||
|
int const x_268 = *(to);
|
||
|
if (((x_264 <= x_265) && (x_267 <= x_268))) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_272 = i;
|
||
|
int const x_274 = (*(tint_symbol_5)).arr[x_272];
|
||
|
int const x_275 = j;
|
||
|
int const x_277 = (*(tint_symbol_5)).arr[x_275];
|
||
|
if ((x_274 < x_277)) {
|
||
|
int const x_282 = k;
|
||
|
k = (x_282 + 1);
|
||
|
int const x_284 = i;
|
||
|
i = (x_284 + 1);
|
||
|
int const x_287 = (*(tint_symbol_5)).arr[x_284];
|
||
|
(*(tint_symbol_6)).arr[x_282] = x_287;
|
||
|
} else {
|
||
|
int const x_289 = k;
|
||
|
k = (x_289 + 1);
|
||
|
int const x_291 = j;
|
||
|
j = (x_291 + 1);
|
||
|
int const x_294 = (*(tint_symbol_5)).arr[x_291];
|
||
|
(*(tint_symbol_6)).arr[x_289] = x_294;
|
||
|
}
|
||
|
}
|
||
|
while (true) {
|
||
|
if (!((256.0f < 1.0f))) {
|
||
|
} else {
|
||
|
continue;
|
||
|
}
|
||
|
int const x_301 = i;
|
||
|
int const x_303 = i;
|
||
|
int const x_304 = *(mid);
|
||
|
if (((x_301 < 10) && (x_303 <= x_304))) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_309 = k;
|
||
|
k = (x_309 + 1);
|
||
|
int const x_311 = i;
|
||
|
i = (x_311 + 1);
|
||
|
int const x_314 = (*(tint_symbol_5)).arr[x_311];
|
||
|
(*(tint_symbol_6)).arr[x_309] = x_314;
|
||
|
}
|
||
|
int const x_316 = *(from);
|
||
|
i_1 = x_316;
|
||
|
while (true) {
|
||
|
int const x_321 = i_1;
|
||
|
int const x_322 = *(to);
|
||
|
if ((x_321 <= x_322)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_325 = i_1;
|
||
|
int const x_326 = i_1;
|
||
|
int const x_328 = (*(tint_symbol_6)).arr[x_326];
|
||
|
(*(tint_symbol_5)).arr[x_325] = x_328;
|
||
|
{
|
||
|
int const x_330 = i_1;
|
||
|
i_1 = (x_330 + 1);
|
||
|
}
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
void mergeSort_(thread tint_array_wrapper* const tint_symbol_7, thread tint_array_wrapper* const tint_symbol_8) {
|
||
|
int low = 0;
|
||
|
int high = 0;
|
||
|
int m = 0;
|
||
|
int i_2 = 0;
|
||
|
int from_1 = 0;
|
||
|
int mid_1 = 0;
|
||
|
int to_1 = 0;
|
||
|
int param = 0;
|
||
|
int param_1 = 0;
|
||
|
int param_2 = 0;
|
||
|
low = 0;
|
||
|
high = 9;
|
||
|
m = 1;
|
||
|
while (true) {
|
||
|
int const x_337 = m;
|
||
|
int const x_338 = high;
|
||
|
if ((x_337 <= x_338)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_341 = low;
|
||
|
i_2 = x_341;
|
||
|
while (true) {
|
||
|
int const x_346 = i_2;
|
||
|
int const x_347 = high;
|
||
|
if ((x_346 < x_347)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_350 = i_2;
|
||
|
from_1 = x_350;
|
||
|
int const x_351 = i_2;
|
||
|
int const x_352 = m;
|
||
|
mid_1 = ((x_351 + x_352) - 1);
|
||
|
int const x_355 = i_2;
|
||
|
int const x_356 = m;
|
||
|
int const x_360 = high;
|
||
|
to_1 = min(((x_355 + (2 * x_356)) - 1), x_360);
|
||
|
int const x_362 = from_1;
|
||
|
param = x_362;
|
||
|
int const x_363 = mid_1;
|
||
|
param_1 = x_363;
|
||
|
int const x_364 = to_1;
|
||
|
param_2 = x_364;
|
||
|
merge_i1_i1_i1_(&(param), &(param_1), &(param_2), tint_symbol_7, tint_symbol_8);
|
||
|
{
|
||
|
int const x_366 = m;
|
||
|
int const x_368 = i_2;
|
||
|
i_2 = (x_368 + (2 * x_366));
|
||
|
}
|
||
|
}
|
||
|
{
|
||
|
int const x_370 = m;
|
||
|
m = (2 * x_370);
|
||
|
}
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
void main_1(constant buf0& x_28, thread tint_array_wrapper* const tint_symbol_9, thread tint_array_wrapper* const tint_symbol_10, thread float4* const tint_symbol_11, thread float4* const tint_symbol_12) {
|
||
|
int i_3 = 0;
|
||
|
int j_1 = 0;
|
||
|
float grey = 0.0f;
|
||
|
float const x_89 = x_28.injectionSwitch.x;
|
||
|
i_3 = int(x_89);
|
||
|
while (true) {
|
||
|
int const x_95 = i_3;
|
||
|
switch(x_95) {
|
||
|
case 9: {
|
||
|
int const x_125 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_125] = -5;
|
||
|
break;
|
||
|
}
|
||
|
case 8: {
|
||
|
int const x_123 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_123] = -4;
|
||
|
break;
|
||
|
}
|
||
|
case 7: {
|
||
|
int const x_121 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_121] = -3;
|
||
|
break;
|
||
|
}
|
||
|
case 6: {
|
||
|
int const x_119 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_119] = -2;
|
||
|
break;
|
||
|
}
|
||
|
case 5: {
|
||
|
int const x_117 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_117] = -1;
|
||
|
break;
|
||
|
}
|
||
|
case 4: {
|
||
|
int const x_115 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_115] = 0;
|
||
|
break;
|
||
|
}
|
||
|
case 3: {
|
||
|
int const x_113 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_113] = 1;
|
||
|
break;
|
||
|
}
|
||
|
case 2: {
|
||
|
int const x_111 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_111] = 2;
|
||
|
break;
|
||
|
}
|
||
|
case 1: {
|
||
|
int const x_109 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_109] = 3;
|
||
|
break;
|
||
|
}
|
||
|
case 0: {
|
||
|
int const x_107 = i_3;
|
||
|
(*(tint_symbol_9)).arr[x_107] = 4;
|
||
|
break;
|
||
|
}
|
||
|
default: {
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
int const x_127 = i_3;
|
||
|
i_3 = (x_127 + 1);
|
||
|
{
|
||
|
int const x_129 = i_3;
|
||
|
if ((x_129 < 10)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
j_1 = 0;
|
||
|
while (true) {
|
||
|
int const x_135 = j_1;
|
||
|
if ((x_135 < 10)) {
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
int const x_138 = j_1;
|
||
|
int const x_139 = j_1;
|
||
|
int const x_141 = (*(tint_symbol_9)).arr[x_139];
|
||
|
(*(tint_symbol_10)).arr[x_138] = x_141;
|
||
|
{
|
||
|
int const x_143 = j_1;
|
||
|
j_1 = (x_143 + 1);
|
||
|
}
|
||
|
}
|
||
|
mergeSort_(tint_symbol_9, tint_symbol_10);
|
||
|
float const x_147 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_147) < 30)) {
|
||
|
int const x_154 = (*(tint_symbol_9)).arr[0];
|
||
|
grey = (0.5f + (float(x_154) / 10.0f));
|
||
|
} else {
|
||
|
float const x_159 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_159) < 60)) {
|
||
|
int const x_166 = (*(tint_symbol_9)).arr[1];
|
||
|
grey = (0.5f + (float(x_166) / 10.0f));
|
||
|
} else {
|
||
|
float const x_171 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_171) < 90)) {
|
||
|
int const x_178 = (*(tint_symbol_9)).arr[2];
|
||
|
grey = (0.5f + (float(x_178) / 10.0f));
|
||
|
} else {
|
||
|
float const x_183 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_183) < 120)) {
|
||
|
int const x_190 = (*(tint_symbol_9)).arr[3];
|
||
|
grey = (0.5f + (float(x_190) / 10.0f));
|
||
|
} else {
|
||
|
float const x_195 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_195) < 150)) {
|
||
|
discard_fragment();
|
||
|
} else {
|
||
|
float const x_202 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_202) < 180)) {
|
||
|
int const x_209 = (*(tint_symbol_9)).arr[5];
|
||
|
grey = (0.5f + (float(x_209) / 10.0f));
|
||
|
} else {
|
||
|
float const x_214 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_214) < 210)) {
|
||
|
int const x_221 = (*(tint_symbol_9)).arr[6];
|
||
|
grey = (0.5f + (float(x_221) / 10.0f));
|
||
|
} else {
|
||
|
float const x_226 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_226) < 240)) {
|
||
|
int const x_233 = (*(tint_symbol_9)).arr[7];
|
||
|
grey = (0.5f + (float(x_233) / 10.0f));
|
||
|
} else {
|
||
|
float const x_238 = (*(tint_symbol_11)).y;
|
||
|
if ((int(x_238) < 270)) {
|
||
|
int const x_245 = (*(tint_symbol_9)).arr[8];
|
||
|
grey = (0.5f + (float(x_245) / 10.0f));
|
||
|
} else {
|
||
|
discard_fragment();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
float const x_249 = grey;
|
||
|
float3 const x_250 = float3(x_249, x_249, x_249);
|
||
|
*(tint_symbol_12) = float4(x_250.x, x_250.y, x_250.z, 1.0f);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_28 [[buffer(0)]]) {
|
||
|
thread float4 tint_symbol_13 = 0.0f;
|
||
|
thread tint_array_wrapper tint_symbol_14 = {};
|
||
|
thread tint_array_wrapper tint_symbol_15 = {};
|
||
|
thread float4 tint_symbol_16 = 0.0f;
|
||
|
tint_symbol_13 = gl_FragCoord_param;
|
||
|
main_1(x_28, &(tint_symbol_14), &(tint_symbol_15), &(tint_symbol_13), &(tint_symbol_16));
|
||
|
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_16};
|
||
|
tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
|
||
|
return tint_symbol_4;
|
||
|
}
|
||
|
|