var<workgroup> a : i32; | |
var<workgroup> b : i32; | |
var<workgroup> c : i32; | |
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(); | |
} |