yum-mirror/slang

Making it easier to work with shaders

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

Jay KwakEnable Hull shader test for SPIRV (#6348)e043428c5

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