1// *** 2// invocation ID coming from input to entry point 3// *** 4 5struct VS_OUT 6{ 7 float3 cpoint : CPOINT; 8}; 9 10struct HS_CONSTANT_OUT 11{ 12 float edges[2] : SV_TessFactor; 13}; 14 15struct HS_OUT 16{ 17 float3 cpoint : CPOINT; 18}; 19 20[domain("isoline")] 21[partitioning("integer")] 22[outputtopology("line")] 23[outputcontrolpoints(4)] 24[patchconstantfunc("PCF")] 25HS_OUT main(InputPatch<VS_OUT, 4> ip, uint m_cpid : SV_OutputControlPointID) 26{ 27 HS_OUT output; 28 output.cpoint = ip[0].cpoint; 29 return output; 30} 31 32HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId) 33{ 34 HS_CONSTANT_OUT output; 35 36 output.edges[0] = 2.0f; 37 output.edges[1] = 8.0f; 38 return output; 39} 40