dawn-cmake/test/var/uses/workgroup.wgsl

50 lines
568 B
WebGPU Shading Language
Raw Normal View History

var<workgroup> a : i32;
var<workgroup> b : i32;
var<workgroup> c : i32; // unused
fn uses_a() {
a = a + 1;
}
fn uses_b() {
b = b * 2;
}
fn uses_a_and_b() {
b = a;
}
fn no_uses() {
}
fn outer() {
a = 0;
uses_a();
uses_a_and_b();
uses_b();
no_uses();
}
[[stage(compute), workgroup_size(1)]]
fn main1() {
a = 42;
uses_a();
}
[[stage(compute), workgroup_size(1)]]
fn main2() {
b = 7;
uses_b();
}
[[stage(compute), workgroup_size(1)]]
fn main3() {
outer();
no_uses();
}
[[stage(compute), workgroup_size(1)]]
fn main4() {
no_uses();
}