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(); | |
} | |
@compute @workgroup_size(1) | |
fn main1() { | |
a = 42; | |
uses_a(); | |
} | |
@compute @workgroup_size(1) | |
fn main2() { | |
b = 7; | |
uses_b(); | |
} | |
@compute @workgroup_size(1) | |
fn main3() { | |
outer(); | |
no_uses(); | |
} | |
@compute @workgroup_size(1) | |
fn main4() { | |
no_uses(); | |
} |