318 lines
8.7 KiB
WebGPU Shading Language
318 lines
8.7 KiB
WebGPU Shading Language
[[block]]
|
|
struct buf0 {
|
|
injectionSwitch : vec2<f32>;
|
|
};
|
|
|
|
[[group(0), binding(0)]] var<uniform> x_25 : buf0;
|
|
|
|
var<private> gl_FragCoord : vec4<f32>;
|
|
|
|
var<private> x_GLF_color : vec4<f32>;
|
|
|
|
fn drawShape_vf2_(pos : ptr<function, vec2<f32>>) -> vec3<f32> {
|
|
var c2 : bool;
|
|
var c3 : bool;
|
|
var c4 : bool;
|
|
var c5 : bool;
|
|
var c6 : bool;
|
|
var GLF_live4i : i32;
|
|
var GLF_live4_looplimiter5 : i32;
|
|
var GLF_live7m42 : mat4x2<f32>;
|
|
var GLF_live7m33 : mat3x3<f32>;
|
|
var GLF_live7cols : i32;
|
|
var GLF_live7_looplimiter3 : i32;
|
|
var GLF_live7rows : i32;
|
|
var GLF_live7_looplimiter2 : i32;
|
|
var GLF_live7_looplimiter1 : i32;
|
|
var GLF_live7c : i32;
|
|
var GLF_live7r : i32;
|
|
var GLF_live7_looplimiter0 : i32;
|
|
var GLF_live7sum_index : i32;
|
|
var GLF_live7_looplimiter7 : i32;
|
|
var GLF_live7cols_1 : i32;
|
|
var GLF_live7rows_1 : i32;
|
|
var GLF_live7sums : array<f32, 9>;
|
|
var GLF_live7c_1 : i32;
|
|
var GLF_live7r_1 : i32;
|
|
var x_180 : i32;
|
|
var indexable : mat3x3<f32>;
|
|
let x_182 : f32 = (*(pos)).x;
|
|
c2 = (x_182 > 1.0);
|
|
let x_184 : bool = c2;
|
|
if (x_184) {
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
let x_188 : f32 = (*(pos)).y;
|
|
c3 = (x_188 < 1.0);
|
|
let x_190 : bool = c3;
|
|
if (x_190) {
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
let x_194 : f32 = (*(pos)).y;
|
|
c4 = (x_194 > 1.0);
|
|
let x_196 : bool = c4;
|
|
if (x_196) {
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
let x_200 : f32 = (*(pos)).x;
|
|
c5 = (x_200 < 1.0);
|
|
let x_202 : bool = c5;
|
|
if (x_202) {
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
let x_206 : f32 = (*(pos)).x;
|
|
c6 = ((x_206 + 1.0) > 1.0);
|
|
let x_209 : bool = c6;
|
|
if (x_209) {
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
GLF_live4i = 0;
|
|
loop {
|
|
let x_39 : i32 = GLF_live4i;
|
|
if ((x_39 < 4)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_40 : i32 = GLF_live4_looplimiter5;
|
|
if ((x_40 >= 7)) {
|
|
break;
|
|
}
|
|
let x_41 : i32 = GLF_live4_looplimiter5;
|
|
GLF_live4_looplimiter5 = (x_41 + 1);
|
|
GLF_live7m42 = mat4x2<f32>(vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0), vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0));
|
|
GLF_live7m33 = mat3x3<f32>(vec3<f32>(1.0, 0.0, 0.0), vec3<f32>(0.0, 1.0, 0.0), vec3<f32>(0.0, 0.0, 1.0));
|
|
GLF_live7cols = 2;
|
|
loop {
|
|
let x_43 : i32 = GLF_live7cols;
|
|
if ((x_43 < 4)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_44 : i32 = GLF_live7_looplimiter3;
|
|
if ((x_44 >= 7)) {
|
|
break;
|
|
}
|
|
let x_45 : i32 = GLF_live7_looplimiter3;
|
|
GLF_live7_looplimiter3 = (x_45 + 1);
|
|
GLF_live7rows = 2;
|
|
loop {
|
|
let x_47 : i32 = GLF_live7rows;
|
|
if ((x_47 < 4)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_48 : i32 = GLF_live7_looplimiter2;
|
|
if ((x_48 >= 7)) {
|
|
break;
|
|
}
|
|
let x_49 : i32 = GLF_live7_looplimiter2;
|
|
GLF_live7_looplimiter2 = (x_49 + 1);
|
|
GLF_live7_looplimiter1 = 0;
|
|
GLF_live7c = 0;
|
|
loop {
|
|
let x_51 : i32 = GLF_live7c;
|
|
if ((x_51 < 3)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_52 : i32 = GLF_live7_looplimiter1;
|
|
if ((x_52 >= 7)) {
|
|
break;
|
|
}
|
|
let x_53 : i32 = GLF_live7_looplimiter1;
|
|
GLF_live7_looplimiter1 = (x_53 + 1);
|
|
GLF_live7r = 0;
|
|
loop {
|
|
let x_55 : i32 = GLF_live7r;
|
|
if ((x_55 < 2)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_56 : i32 = GLF_live7_looplimiter0;
|
|
if ((x_56 >= 7)) {
|
|
break;
|
|
}
|
|
let x_57 : i32 = GLF_live7_looplimiter0;
|
|
GLF_live7_looplimiter0 = (x_57 + 1);
|
|
let x_59 : i32 = GLF_live7c;
|
|
let x_60 : i32 = GLF_live7c;
|
|
let x_61 : i32 = GLF_live7c;
|
|
let x_62 : i32 = GLF_live7r;
|
|
let x_63 : i32 = GLF_live7r;
|
|
let x_64 : i32 = GLF_live7r;
|
|
GLF_live7m33[select(0, x_61, ((x_59 >= 0) && (x_60 < 3)))][select(0, x_64, ((x_62 >= 0) && (x_63 < 3)))] = 1.0;
|
|
let x_267 : f32 = x_25.injectionSwitch.y;
|
|
if ((0.0 > x_267)) {
|
|
} else {
|
|
let x_65 : i32 = GLF_live7c;
|
|
let x_66 : i32 = GLF_live7c;
|
|
let x_67 : i32 = GLF_live7c;
|
|
let x_68 : i32 = GLF_live7r;
|
|
let x_69 : i32 = GLF_live7r;
|
|
let x_70 : i32 = GLF_live7r;
|
|
GLF_live7m42[select(0, x_67, ((x_65 >= 0) && (x_66 < 4)))][select(0, x_70, ((x_68 >= 0) && (x_69 < 2)))] = 1.0;
|
|
}
|
|
|
|
continuing {
|
|
let x_71 : i32 = GLF_live7r;
|
|
GLF_live7r = (x_71 + 1);
|
|
}
|
|
}
|
|
|
|
continuing {
|
|
let x_73 : i32 = GLF_live7c;
|
|
GLF_live7c = (x_73 + 1);
|
|
}
|
|
}
|
|
|
|
continuing {
|
|
let x_75 : i32 = GLF_live7rows;
|
|
GLF_live7rows = (x_75 + 1);
|
|
}
|
|
}
|
|
|
|
continuing {
|
|
let x_77 : i32 = GLF_live7cols;
|
|
GLF_live7cols = (x_77 + 1);
|
|
}
|
|
}
|
|
GLF_live7sum_index = 0;
|
|
GLF_live7_looplimiter7 = 0;
|
|
GLF_live7cols_1 = 2;
|
|
loop {
|
|
let x_79 : i32 = GLF_live7cols_1;
|
|
if ((x_79 < 4)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_80 : i32 = GLF_live7_looplimiter7;
|
|
if ((x_80 >= 7)) {
|
|
break;
|
|
}
|
|
let x_81 : i32 = GLF_live7_looplimiter7;
|
|
GLF_live7_looplimiter7 = (x_81 + 1);
|
|
GLF_live7rows_1 = 2;
|
|
let x_83 : i32 = GLF_live7sum_index;
|
|
let x_84 : i32 = GLF_live7sum_index;
|
|
let x_85 : i32 = GLF_live7sum_index;
|
|
GLF_live7sums[select(0, x_85, ((x_83 >= 0) && (x_84 < 9)))] = 0.0;
|
|
GLF_live7c_1 = 0;
|
|
loop {
|
|
let x_86 : i32 = GLF_live7c_1;
|
|
if ((x_86 < 1)) {
|
|
} else {
|
|
break;
|
|
}
|
|
GLF_live7r_1 = 0;
|
|
loop {
|
|
let x_87 : i32 = GLF_live7r_1;
|
|
let x_88 : i32 = GLF_live7rows_1;
|
|
if ((x_87 < x_88)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_89 : i32 = GLF_live7sum_index;
|
|
let x_90 : i32 = GLF_live7sum_index;
|
|
let x_91 : i32 = GLF_live7sum_index;
|
|
let x_310 : i32 = select(0, x_91, ((x_89 >= 0) && (x_90 < 9)));
|
|
let x_311 : mat3x3<f32> = GLF_live7m33;
|
|
let x_312 : mat3x3<f32> = transpose(x_311);
|
|
let x_92 : i32 = GLF_live7c_1;
|
|
if ((x_92 < 3)) {
|
|
x_180 = 1;
|
|
} else {
|
|
let x_318 : f32 = x_25.injectionSwitch.x;
|
|
x_180 = i32(x_318);
|
|
}
|
|
let x_320 : i32 = x_180;
|
|
let x_93 : i32 = GLF_live7r_1;
|
|
indexable = x_312;
|
|
let x_324 : f32 = indexable[x_320][select(0, 1, (x_93 < 3))];
|
|
let x_326 : f32 = GLF_live7sums[x_310];
|
|
GLF_live7sums[x_310] = (x_326 + x_324);
|
|
let x_94 : i32 = GLF_live7sum_index;
|
|
let x_95 : i32 = GLF_live7sum_index;
|
|
let x_96 : i32 = GLF_live7sum_index;
|
|
let x_332 : i32 = select(0, x_96, ((x_94 >= 0) && (x_95 < 9)));
|
|
let x_97 : i32 = GLF_live7r_1;
|
|
let x_334 : f32 = GLF_live7m42[1][x_97];
|
|
let x_336 : f32 = GLF_live7sums[x_332];
|
|
GLF_live7sums[x_332] = (x_336 + x_334);
|
|
|
|
continuing {
|
|
let x_98 : i32 = GLF_live7r_1;
|
|
GLF_live7r_1 = (x_98 + 1);
|
|
}
|
|
}
|
|
|
|
continuing {
|
|
let x_100 : i32 = GLF_live7c_1;
|
|
GLF_live7c_1 = (x_100 + 1);
|
|
}
|
|
}
|
|
let x_102 : i32 = GLF_live7sum_index;
|
|
GLF_live7sum_index = (x_102 + 1);
|
|
|
|
continuing {
|
|
let x_104 : i32 = GLF_live7cols_1;
|
|
GLF_live7cols_1 = (x_104 + 1);
|
|
}
|
|
}
|
|
|
|
continuing {
|
|
let x_106 : i32 = GLF_live4i;
|
|
GLF_live4i = (x_106 + 1);
|
|
}
|
|
}
|
|
return vec3<f32>(1.0, 1.0, 1.0);
|
|
}
|
|
|
|
fn main_1() {
|
|
var position : vec2<f32>;
|
|
var param : vec2<f32>;
|
|
var param_1 : vec2<f32>;
|
|
var i : i32;
|
|
var param_2 : vec2<f32>;
|
|
let x_161 : f32 = x_25.injectionSwitch.x;
|
|
if ((x_161 >= 2.0)) {
|
|
let x_165 : vec4<f32> = gl_FragCoord;
|
|
position = vec2<f32>(x_165.x, x_165.y);
|
|
let x_167 : vec2<f32> = position;
|
|
param = x_167;
|
|
let x_168 : vec3<f32> = drawShape_vf2_(&(param));
|
|
let x_169 : vec2<f32> = position;
|
|
param_1 = x_169;
|
|
let x_170 : vec3<f32> = drawShape_vf2_(&(param_1));
|
|
i = 25;
|
|
loop {
|
|
let x_108 : i32 = i;
|
|
if ((x_108 > 0)) {
|
|
} else {
|
|
break;
|
|
}
|
|
let x_177 : vec2<f32> = position;
|
|
param_2 = x_177;
|
|
let x_178 : vec3<f32> = drawShape_vf2_(&(param_2));
|
|
|
|
continuing {
|
|
let x_109 : i32 = i;
|
|
i = (x_109 - 1);
|
|
}
|
|
}
|
|
}
|
|
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
|
|
return;
|
|
}
|
|
|
|
struct main_out {
|
|
[[location(0)]]
|
|
x_GLF_color_1 : vec4<f32>;
|
|
};
|
|
|
|
[[stage(fragment)]]
|
|
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
|
|
gl_FragCoord = gl_FragCoord_param;
|
|
main_1();
|
|
return main_out(x_GLF_color);
|
|
}
|