1617a3babSopenharmony_ci// This will test having the PCF input to the domain shader not be given at the end of 2617a3babSopenharmony_ci// the argument list. We must move it to the end of the linkage in this case. 3617a3babSopenharmony_ci 4617a3babSopenharmony_cistruct ds_in_t 5617a3babSopenharmony_ci{ 6617a3babSopenharmony_ci float4 pos : POSITION; 7617a3babSopenharmony_ci float3 norm : TEXCOORD0; 8617a3babSopenharmony_ci}; 9617a3babSopenharmony_ci 10617a3babSopenharmony_cistruct pcf_in_t 11617a3babSopenharmony_ci{ 12617a3babSopenharmony_ci float flTessFactor [3] : SV_TessFactor; 13617a3babSopenharmony_ci float flInsideTessFactor : SV_InsideTessFactor; 14617a3babSopenharmony_ci float foo : PCF_FOO; 15617a3babSopenharmony_ci}; 16617a3babSopenharmony_ci 17617a3babSopenharmony_cistruct gs_in_t 18617a3babSopenharmony_ci{ 19617a3babSopenharmony_ci float4 pos : POSITION; 20617a3babSopenharmony_ci float3 norm : TEXCOORD0; 21617a3babSopenharmony_ci}; 22617a3babSopenharmony_ci 23617a3babSopenharmony_ci[domain ( "tri" )] 24617a3babSopenharmony_cigs_in_t main (pcf_in_t pcf_data, const OutputPatch <ds_in_t, 3> i, float3 tesscoord : SV_DomainLocation) 25617a3babSopenharmony_ci{ 26617a3babSopenharmony_ci gs_in_t o; 27617a3babSopenharmony_ci 28617a3babSopenharmony_ci o.pos = i[0].pos + tesscoord.x; 29617a3babSopenharmony_ci o.norm = i[0].norm + tesscoord.y; 30617a3babSopenharmony_ci 31617a3babSopenharmony_ci tesscoord.z; 32617a3babSopenharmony_ci 33617a3babSopenharmony_ci return o; 34617a3babSopenharmony_ci} 35617a3babSopenharmony_ci 36