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