• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1var<workgroup> a : i32;
2
3var<workgroup> b : i32;
4
5var<workgroup> c : i32;
6
7fn uses_a() {
8  a = (a + 1);
9}
10
11fn uses_b() {
12  b = (b * 2);
13}
14
15fn uses_a_and_b() {
16  b = a;
17}
18
19fn no_uses() {
20}
21
22fn outer() {
23  a = 0;
24  uses_a();
25  uses_a_and_b();
26  uses_b();
27  no_uses();
28}
29
30[[stage(compute), workgroup_size(1)]]
31fn main1() {
32  a = 42;
33  uses_a();
34}
35
36[[stage(compute), workgroup_size(1)]]
37fn main2() {
38  b = 7;
39  uses_b();
40}
41
42[[stage(compute), workgroup_size(1)]]
43fn main3() {
44  outer();
45  no_uses();
46}
47
48[[stage(compute), workgroup_size(1)]]
49fn main4() {
50  no_uses();
51}
52