2 // per-control-point invocation of PCF from entry point return value with
3 // both OutputPatch and InputPatch given to PCF.
8 float3 val : TEXCOORD0;
13 float tfactor[3] : SV_TessFactor; // must turn into a size 4 array in SPIR-V
14 float flInFactor : SV_InsideTessFactor; // must turn into a size 2 array in SPIR-V
19 float3 val : TEXCOORD0;
23 [ partitioning ("fractional_odd") ]
24 [ outputtopology ("triangle_cw") ]
25 [ outputcontrolpoints (3) ]
26 [ patchconstantfunc ( "PCF" ) ]
27 hs_out_t main (InputPatch <hs_in_t, 3> i , uint cpid : SV_OutputControlPointID)
36 hs_pcf_t PCF( const OutputPatch <hs_out_t, 3> pcf_out,
37 const InputPatch <hs_in_t, 3> pcf_in)
41 o.tfactor[0] = pcf_out[0].val.x;
42 o.tfactor[1] = pcf_out[1].val.x;
43 o.tfactor[2] = pcf_out[2].val.x;