yum-mirror/slang

Making it easier to work with shaders

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

Yong HeFix hull shader spirv legalization bug. (#5180)5a84e520a

master
937 B44 linesraw
1//TEST:SIMPLE(filecheck=SPIRV):-target spirv -entry hullMain -stage hull -allow-glsl
2
3// SPIRV: OpDecorate %entryPointParam_hullMain_pos Location 0
4// SPIRV: OpDecorate %entryPointParam_hullMain_hm Location 1
5// SPIRV: OpDecorate %entryPointParam_constants_instanceId Location 2
6
7struct HsOut
8{
9    float2 pos;
10    float2 hm;
11};
12
13struct HscOut
14{
15    float EdgeTessFactor[4] : SV_TessFactor;
16    float InsideTessFactor[2] : SV_InsideTessFactor;
17    uint instanceId;
18};
19
20[domain("quad")]
21[partitioning("integer")]
22[outputtopology("triangle_ccw")]
23[outputcontrolpoints(4)]
24[patchconstantfunc("constants")]
25HsOut hullMain()
26{
27    HsOut o;
28    o.pos = 1;
29    o.hm = 2;
30    return o;
31}
32
33HscOut constants()
34{
35    HscOut o;
36    o.instanceId = 123;
37    o.EdgeTessFactor[0] = 1;
38    o.EdgeTessFactor[1] = 2;
39    o.EdgeTessFactor[2] = 3;
40    o.EdgeTessFactor[3] = 4;
41    o.InsideTessFactor[0] = 0.5;
42    o.InsideTessFactor[1] = 0.5;
43    return o;
44}