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