struct buf1 { injectionSwitch : vec2; }; struct buf2 { resolution : vec2; }; type RTArr = [[stride(4)]] array; struct doesNotMatter { x_compute_data : RTArr; }; var gl_GlobalInvocationID : vec3; [[group(0), binding(1)]] var x_10 : buf1; [[group(0), binding(2)]] var x_13 : buf2; [[group(0), binding(0)]] var x_15 : doesNotMatter; fn main_1() { var A : array; var i : i32; var value : vec4; var m : i32; var l : i32; var n : i32; A[0] = 0.0; i = 0; loop { let x_60 : i32 = i; if ((x_60 < 50)) { } else { break; } let x_63 : i32 = i; if ((x_63 > 0)) { let x_68 : f32 = A[0]; let x_70 : f32 = A[0]; A[0] = (x_70 + x_68); } continuing { let x_73 : i32 = i; i = (x_73 + 1); } } loop { let x_80 : u32 = gl_GlobalInvocationID.x; if ((x_80 < 100u)) { value = vec4(0.0, 0.0, 0.0, 1.0); m = 0; loop { let x_89 : i32 = m; if ((x_89 < 1)) { } else { break; } l = 0; loop { let x_96 : i32 = l; if ((x_96 < 1)) { } else { break; } let x_100 : f32 = x_10.injectionSwitch.x; let x_102 : f32 = x_10.injectionSwitch.y; if ((x_100 > x_102)) { return; } continuing { let x_106 : i32 = l; l = (x_106 + 1); } } continuing { let x_108 : i32 = m; m = (x_108 + 1); } } n = 0; loop { let x_114 : i32 = n; if ((x_114 < 1)) { } else { break; } let x_118 : f32 = x_10.injectionSwitch.x; let x_120 : f32 = x_10.injectionSwitch.y; if ((x_118 > x_120)) { workgroupBarrier(); } continuing { let x_124 : i32 = n; n = (x_124 + 1); } } } else { let x_127 : u32 = gl_GlobalInvocationID.x; if ((x_127 < 120u)) { let x_133 : f32 = A[0]; let x_135 : f32 = x_13.resolution.x; let x_138 : f32 = A[0]; let x_140 : f32 = x_13.resolution.y; value = vec4((x_133 / x_135), (x_138 / x_140), 0.0, 1.0); } else { let x_144 : f32 = x_10.injectionSwitch.x; let x_146 : f32 = x_10.injectionSwitch.y; if ((x_144 > x_146)) { continue; } } } continuing { if (false) { } else { break; } } } let x_151 : f32 = value.x; x_15.x_compute_data[0] = i32(x_151); let x_155 : f32 = value.y; x_15.x_compute_data[1] = i32(x_155); let x_159 : f32 = value.z; x_15.x_compute_data[2] = i32(x_159); let x_163 : f32 = value.w; x_15.x_compute_data[3] = i32(x_163); return; } [[stage(compute), workgroup_size(1, 1, 1)]] fn main([[builtin(global_invocation_id)]] gl_GlobalInvocationID_param : vec3) { gl_GlobalInvocationID = gl_GlobalInvocationID_param; main_1(); }