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

51 lines
927 B
WebGPU Shading Language

struct buf0 {
one : i32,
}
@group(0) @binding(0) var<uniform> x_8 : buf0;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var a : array<i32, 3u>;
var b : i32;
var c : i32;
a[0] = 1;
a[1] = 2;
a[2] = 3;
b = 0;
let x_38 : i32 = x_8.one;
let x_40 : i32 = a[x_38];
c = x_40;
let x_41 : i32 = c;
if ((x_41 > 1)) {
x_GLF_color = vec4<f32>(0.0, 1.0, 1.0, 0.0);
let x_45 : i32 = b;
b = (x_45 + 1);
}
let x_47 : i32 = b;
let x_48 : i32 = (x_47 + 1);
b = x_48;
let x_50_save = clamp(x_48, 0, 2);
let x_51 : i32 = a[x_50_save];
a[x_50_save] = (x_51 + 1);
let x_54 : i32 = a[2];
if ((x_54 == 4)) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 0.0);
}
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);
}