summaryrefslogtreecommitdiffstats
path: root/tests/language-feature/glsl-extension.slang
blob: dbf8fe86c678b83ac7a87845f9c14272e1237b3f (plain)
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
//TEST:SIMPLE(filecheck=CHECK): -target glsl -entry main -stage compute

RWStructuredBuffer<float> outputBuffer;

// Check that extensions on types work
__glsl_extension(GL_BAR_bar)
// CHECK-DAG: #extension GL_BAR_bar : require
struct S
{
    float a;
}

// Check that extensions on functions work
__glsl_extension(GL_FOO_foo)
// CHECK-DAG: #extension GL_FOO_foo : require
float foo(S s)
{
    return s.a;
}

[numthreads(4, 1, 1)]
void main(uint3 dispatchThreadID : SV_DispatchThreadID)
{
    S s;
    s.a = 0;
    outputBuffer[dispatchThreadID.x] = foo(s);
}