// Test tesselation factor output as PCF arg struct VSOutput { float4 f4Position : SV_Position; float3 f3Color : COLOR; }; struct HS_CONSTANT_DATA_OUTPUT { float Edges[4] : SV_TessFactor; }; HS_CONSTANT_DATA_OUTPUT ConstantHS(InputPatch p, uint BlockID : SV_PrimitiveID, out float Inside[2] : SV_InsideTessFactor) { HS_CONSTANT_DATA_OUTPUT Factors; Factors.Edges[0] = 2.5; Factors.Edges[1] = 4.25; Factors.Edges[2] = 5.75; Factors.Edges[3] = 7.5; Inside[0] = 6.75; Inside[1] = 7.25; return Factors; } struct HSOutput { float4 Position : POS; float3 Color : COL; }; [domain("quad")] [partitioning("fractional_even")] [outputtopology("triangle_ccw")] [outputcontrolpoints(1)] [patchconstantfunc("ConstantHS")] HSOutput main(InputPatch inputPatch, uint uCPID : SV_OutputControlPointID) { HSOutput Out; Out.Position = inputPatch[uCPID].f4Position; Out.Color = inputPatch[uCPID].f3Color; return Out; }