yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

venkataram-nvWarn when inout parameter is never written (#4777)20bd48659

master
711 B42 linesraw
1//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-slang -compute
2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF):-slang -compute -vk
3
4interface IFoo
5{
6    void foo();
7}
8
9struct S : IFoo { int x; void foo(); }
10
11struct P
12{
13    IFoo f;
14}
15struct Tr
16{
17    int test<T:IArithmetic>(T t, P p)
18    {
19        const IFoo hit = p.f;
20        let castResult = hit as S;
21        if (!castResult.hasValue)
22            return 0;
23        return castResult.value.x;
24    }
25}
26
27//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name buffer
28
29RWStructuredBuffer<int> buffer;
30
31[numthreads(1,1,1)]
32void computeMain()
33{
34    P p;
35    S s;
36    s.x = 2;
37    p.f = s;
38    Tr tt;
39    // BUF: 2
40    buffer[0] = tt.test(0, p);
41}
42