James Price 3b671cb377 wgsl: Separate struct members with commas
Use of semicolons is still supported, but deprecated.

Also updates the parsing methods for structures to better match the
WGSL grammar.

Bug: tint:1475
Change-Id: I7675ba42c13f91080b0ac173c352e0092021f80b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/84380
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2022-03-28 14:31:22 +00:00

62 lines
1002 B
WebGPU Shading Language

struct buf0 {
one : i32,
}
@group(0) @binding(0) var<uniform> x_6 : buf0;
var<private> x_GLF_color : vec4<f32>;
fn func_() -> vec4<f32> {
let x_48 : i32 = x_6.one;
if ((x_48 == 1)) {
return vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
return vec4<f32>(0.0, 0.0, 0.0, 0.0);
}
}
fn main_1() {
var i : i32;
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 0.0);
i = 0;
loop {
let x_33 : i32 = i;
let x_35 : i32 = x_6.one;
if ((x_33 <= x_35)) {
} else {
break;
}
let x_38 : i32 = i;
switch(x_38) {
case 1: {
let x_43 : vec4<f32> = func_();
x_GLF_color = x_43;
fallthrough;
}
default: {
fallthrough;
}
case 0: {
x_GLF_color.y = 0.0;
}
}
continuing {
let x_44 : i32 = i;
i = (x_44 + 1);
}
}
return;
}
struct main_out {
@location(0)
x_GLF_color_1 : vec4<f32>,
}
@stage(fragment)
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}