yum-mirror/slang

Making it easier to work with shaders

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

Yong HeFix SPIRV emit for `Flat` decoration and TessLevel builtin. (#4318)38c0bacca

master
723 B32 linesraw
1//TEST:SIMPLE(filecheck=CHECK): -target spirv -stage domain
2
3// CHECK: TessLevelInner
4
5struct HS_CONTROL_POINT_OUTPUT
6{
7    float4 Position : POSITION;
8    float2 TexCoord : TEXCOORD;
9};
10
11struct HS_CONSTANT_DATA_OUTPUT
12{
13    float EdgeTessFactor[4] : SV_TessFactor;
14    float InsideTessFactor[2] : SV_InsideTessFactor;
15};
16
17
18struct DS_OUTPUT
19{
20    float4 Position : SV_Position;
21    float2 TexCoord : TEXCOORD;
22};
23
24// Domain Shader (DS)
25[domain("quad")]
26DS_OUTPUT main(HS_CONSTANT_DATA_OUTPUT input, const OutputPatch<HS_CONTROL_POINT_OUTPUT, 4> patch, float2 uv : SV_DomainLocation)
27{
28    DS_OUTPUT output;
29    output.Position = input.EdgeTessFactor[0];
30    output.TexCoord = input.InsideTessFactor[0];
31    return output;
32}