struct buf0 { injectionSwitch : vec2; } struct buf1 { resolution : vec2; } var data : array; var temp : array; @group(0) @binding(0) var x_28 : buf0; var gl_FragCoord : vec4; var x_GLF_color : vec4; @group(0) @binding(1) var x_32 : buf1; fn merge_i1_i1_i1_(from : ptr, mid : ptr, to : ptr) { var k : i32; var i : i32; var j : i32; var i_1 : i32; let x_254 : i32 = *(from); k = x_254; let x_255 : i32 = *(from); i = x_255; let x_256 : i32 = *(mid); j = (x_256 + 1); loop { let x_262 : i32 = i; let x_263 : i32 = *(mid); let x_265 : i32 = j; let x_266 : i32 = *(to); if (((x_262 <= x_263) & (x_265 <= x_266))) { } else { break; } let x_270 : i32 = i; let x_272 : i32 = data[x_270]; let x_273 : i32 = j; let x_275 : i32 = data[x_273]; if ((x_272 < x_275)) { let x_280 : i32 = k; k = (x_280 + 1); let x_282 : i32 = i; i = (x_282 + 1); let x_285 : i32 = data[x_282]; temp[x_280] = x_285; } else { let x_287 : i32 = k; k = (x_287 + 1); let x_289 : i32 = j; j = (x_289 + 1); let x_292 : i32 = data[x_289]; temp[x_287] = x_292; } } loop { let x_298 : i32 = i; let x_300 : i32 = i; let x_301 : i32 = *(mid); if (((x_298 < 10) & (x_300 <= x_301))) { } else { break; } let x_305 : i32 = k; k = (x_305 + 1); let x_307 : i32 = i; i = (x_307 + 1); let x_310 : i32 = data[x_307]; temp[x_305] = x_310; } let x_312 : i32 = *(from); i_1 = x_312; loop { let x_317 : i32 = i_1; let x_318 : i32 = *(to); if ((x_317 <= x_318)) { } else { break; } let x_321 : i32 = i_1; let x_322 : i32 = i_1; let x_324 : i32 = temp[x_322]; data[x_321] = x_324; continuing { let x_326 : i32 = i_1; i_1 = (x_326 + 1); } } return; } fn mergeSort_() { var low : i32; var high : i32; var m : i32; var i_2 : i32; var from_1 : i32; var mid_1 : i32; var to_1 : i32; var param : i32; var param_1 : i32; var param_2 : i32; low = 0; high = 9; m = 1; loop { let x_333 : i32 = m; let x_334 : i32 = high; if ((x_333 <= x_334)) { } else { break; } let x_337 : i32 = low; i_2 = x_337; loop { let x_342 : i32 = i_2; let x_343 : i32 = high; if ((x_342 < x_343)) { } else { break; } let x_346 : i32 = i_2; from_1 = x_346; let x_347 : i32 = i_2; let x_348 : i32 = m; mid_1 = ((x_347 + x_348) - 1); let x_351 : i32 = i_2; let x_352 : i32 = m; let x_356 : i32 = high; to_1 = min(((x_351 + (2 * x_352)) - 1), x_356); let x_358 : i32 = from_1; param = x_358; let x_359 : i32 = mid_1; param_1 = x_359; let x_360 : i32 = to_1; param_2 = x_360; merge_i1_i1_i1_(&(param), &(param_1), &(param_2)); continuing { let x_362 : i32 = m; let x_364 : i32 = i_2; i_2 = (x_364 + (2 * x_362)); } } continuing { let x_366 : i32 = m; m = (2 * x_366); } } return; } fn main_1() { var i_3 : i32; var j_1 : i32; var grey : f32; let x_87 : f32 = x_28.injectionSwitch.x; i_3 = i32(x_87); loop { let x_93 : i32 = i_3; switch(x_93) { case 9: { let x_123 : i32 = i_3; data[x_123] = -5; } case 8: { let x_121 : i32 = i_3; data[x_121] = -4; } case 7: { let x_119 : i32 = i_3; data[x_119] = -3; } case 6: { let x_117 : i32 = i_3; data[x_117] = -2; } case 5: { let x_115 : i32 = i_3; data[x_115] = -1; } case 4: { let x_113 : i32 = i_3; data[x_113] = 0; } case 3: { let x_111 : i32 = i_3; data[x_111] = 1; } case 2: { let x_109 : i32 = i_3; data[x_109] = 2; } case 1: { let x_107 : i32 = i_3; data[x_107] = 3; } case 0: { let x_105 : i32 = i_3; data[x_105] = 4; } default: { } } let x_125 : i32 = i_3; i_3 = (x_125 + 1); continuing { let x_127 : i32 = i_3; if ((x_127 < 10)) { } else { break; } } } j_1 = 0; loop { let x_133 : i32 = j_1; if ((x_133 < 10)) { } else { break; } let x_136 : i32 = j_1; let x_137 : i32 = j_1; let x_139 : i32 = data[x_137]; temp[x_136] = x_139; continuing { let x_141 : i32 = j_1; j_1 = (x_141 + 1); } } mergeSort_(); let x_145 : f32 = gl_FragCoord.y; if ((i32(x_145) < 30)) { let x_152 : i32 = data[0]; grey = (0.5 + (f32(x_152) / 10.0)); } else { let x_157 : f32 = gl_FragCoord.y; if ((i32(x_157) < 60)) { let x_164 : i32 = data[1]; grey = (0.5 + (f32(x_164) / 10.0)); } else { let x_169 : f32 = gl_FragCoord.y; if ((i32(x_169) < 90)) { let x_176 : i32 = data[2]; grey = (0.5 + (f32(x_176) / 10.0)); } else { let x_181 : f32 = gl_FragCoord.y; if ((i32(x_181) < 120)) { let x_188 : i32 = data[3]; grey = (0.5 + (f32(x_188) / 10.0)); } else { let x_193 : f32 = gl_FragCoord.y; if ((i32(x_193) < 150)) { discard; } else { let x_200 : f32 = gl_FragCoord.y; if ((i32(x_200) < 180)) { let x_207 : i32 = data[5]; grey = (0.5 + (f32(x_207) / 10.0)); } else { let x_212 : f32 = gl_FragCoord.y; if ((i32(x_212) < 210)) { let x_219 : i32 = data[6]; grey = (0.5 + (f32(x_219) / 10.0)); } else { let x_224 : f32 = gl_FragCoord.y; if ((i32(x_224) < 240)) { let x_231 : i32 = data[7]; grey = (0.5 + (f32(x_231) / 10.0)); } else { let x_236 : f32 = gl_FragCoord.y; if ((i32(x_236) < 270)) { let x_243 : i32 = data[8]; grey = (0.5 + (f32(x_243) / 10.0)); } else { discard; } } } } } } } } } let x_247 : f32 = grey; let x_248 : vec3 = vec3(x_247, x_247, x_247); x_GLF_color = vec4(x_248.x, x_248.y, x_248.z, 1.0); return; } struct main_out { @location(0) x_GLF_color_1 : vec4; } @stage(fragment) fn main(@builtin(position) gl_FragCoord_param : vec4) -> main_out { gl_FragCoord = gl_FragCoord_param; main_1(); return main_out(x_GLF_color); }