yum-mirror/slang

Making it easier to work with shaders

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

Ellie HermaszewskaAllow requiring glsl language extensions on structs (#6173)c356d3ac2

master
560 B27 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target glsl -entry main -stage compute
2
3RWStructuredBuffer<float> outputBuffer;
4
5// Check that extensions on types work
6__glsl_extension(GL_BAR_bar)
7// CHECK-DAG: #extension GL_BAR_bar : require
8struct S
9{
10    float a;
11}
12
13// Check that extensions on functions work
14__glsl_extension(GL_FOO_foo)
15// CHECK-DAG: #extension GL_FOO_foo : require
16float foo(S s)
17{
18    return s.a;
19}
20
21[numthreads(4, 1, 1)]
22void main(uint3 dispatchThreadID : SV_DispatchThreadID)
23{
24    S s;
25    s.a = 0;
26    outputBuffer[dispatchThreadID.x] = foo(s);
27}