File: global-used-by-callee.wgsl

package info (click to toggle)
webkit2gtk 2.48.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 429,764 kB
  • sloc: cpp: 3,697,587; javascript: 194,444; ansic: 169,997; python: 46,499; asm: 19,295; ruby: 18,528; perl: 16,602; xml: 4,650; yacc: 2,360; sh: 2,098; java: 1,993; lex: 1,327; pascal: 366; makefile: 298
file content (68 lines) | stat: -rw-r--r-- 1,122 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// RUN: %metal-compile main
// RUN: %metal main 2>&1 | %check

var<private> x: i32;
var<private> y: i32;
override z = 42;

// CHECK: int function\d\(thread int& global\d\)
fn f() -> i32
{
    //CHECK: global\d
    _ = y;
    return 0;
}

// CHECK: int function\d\(\)
fn g() -> i32
{
    let y = 42;
    return y;
}

// CHECK: int function\d\(thread int& global\d, int global\d\)
fn h() -> i32
{
    _ = y;
    _ = z;
    return 0;
}

// CHECK: int function\d\(thread int& global\d\)
fn i() -> i32
{
    // CHECK: function\d\(global\d\)
    _ = f();
    return 0;
}

// CHECK: float function\d\(float parameter\d, thread int& global\d\)
fn j(x: f32) -> f32
{
    // CHECK: function\d\(global\d\)
    _ = f();
    return x;
}

@compute @workgroup_size(1)
fn main()
{
    // CHECK: int global\d
    // CHECK: int global\d
    _ = x;

    // CHECK: function\d\(global\d\)
    _ = f();

    // CHECK: function\d\(\)
    _ = g();

    // CHECK: function\d\(global\d, \(\d+\)\)
    _ = h();

    // CHECK: function\d\(global\d\)
    _ = i();

    // CHECK: function\d\(function\d\(42., global\d\), global\d\)
    _ = j(j(42));
}