yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
5a84e520a
master
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}