https://github.com/shader-slang/slang
Raw File
Tip revision: aa8f7b899b7b562b3d3c6e25c3da41569505e70c authored by Chad Engler on 29 September 2021, 20:02:47 UTC
Fix ARM64 detection for MSVC (#1951)
Tip revision: aa8f7b8
hull-shader-invalid-domain.slang.disabled
//TEST:SIMPLE:
// `HullShader` without `Domain` attribute

pipeline P
{
    world CoarseVertex;
    world ControlPoint;
    world CornerPoint;
    world TessPatch;
    world FineVertex;
    
    require @FineVertex vec4 RS_Position; 
    require @ControlPoint vec2 tessLevelInner;
    require @ControlPoint vec4 tessLevelOuter;
        
    // implicit import operator CoarseVertex->CornerPoint
    extern @CornerPoint CoarseVertex[] CoarseVertex_ControlPoint;
    [PerCornerIterator]
    extern @CornerPoint int HS_CornerID;
    
    extern @ControlPoint CoarseVertex[] CoarseVertex_ControlPoint;
    extern @TessPatch CoarseVertex[] CoarseVertex_ControlPoint;
    [InvocationId]
    extern @ControlPoint int invocationId;
    extern @FineVertex ControlPoint[] ControlPoint_tes;
    extern @FineVertex Patch<TessPatch> perPatch_tes;
    
    extern @FineVertex Patch<CornerPoint[3]> perCorner_tes;
    [TessCoord]
    extern @FineVertex vec3 tessCoord;
      
    stage hs : HullShader
    {
        PatchWorld: TessPatch;
        ControlPointWorld: ControlPoint;
        CornerPointWorld: CornerPoint;
        InputControlPointCount: 3;
        ControlPointCount: 1;
        Domain: pentagons;
        TessLevelOuter: tessLevelOuter;
        TessLevelInner: tessLevelInner;
		Partitioning: integer;
		OutputTopology: triangle_ccw;
    }
}

shader S
    targets P
{
	@FineVertex float4 RS_Position = float4(0.0);
	@ControlPoint float2 tessLevelInner = float2(2.0);
	@ControlPoint float4 tessLevelOuter = float4(2.0);
}
back to top