2 // Test mixed InputPatch structure: user and builtin members. Hull shaders involve extra
3 // logic in this case due to patch constant function call synthesis.
5 // This example tests the main EP and the PCF EP both having an input patch.
9 float4 m_Position : SV_POSITION ;
14 float fTessFactor [ 3 ] : SV_TessFactor ;
15 float fInsideTessFactor : SV_InsideTessFactor ;
20 float4 m_Position : SV_POSITION;
21 float4 m_Normal : TEXCOORD2;
24 HS_Output HS_ConstFunc ( InputPatch < HS_Input , 3 > I )
26 HS_Output O = (HS_Output)0;
28 O.fInsideTessFactor = I [ 0 ].m_Position.w + I [ 0 ].m_Normal.w;
34 [ partitioning ( "fractional_odd" ) ]
35 [ outputtopology ( "triangle_cw" ) ]
36 [ patchconstantfunc ( "HS_ConstFunc" ) ]
37 [ outputcontrolpoints ( 3 ) ]
38 HS_Main_Output main( InputPatch < HS_Input , 3 > I , uint cpid : SV_OutputControlPointID )
40 HS_Main_Output output = ( HS_Main_Output ) 0 ;
41 output.m_Position = 0;