1617a3babSopenharmony_ci// Test vec2 tessellation coordinate: the IO form should be a vec3, copied to a vec2 2617a3babSopenharmony_ci// at the entry point boundary. 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}; 15617a3babSopenharmony_ci 16617a3babSopenharmony_cistruct gs_in_t 17617a3babSopenharmony_ci{ 18617a3babSopenharmony_ci float4 pos : POSITION; 19617a3babSopenharmony_ci float3 norm : TEXCOORD0; 20617a3babSopenharmony_ci}; 21617a3babSopenharmony_ci 22617a3babSopenharmony_ci[domain ( "isoline" )] 23617a3babSopenharmony_cigs_in_t main (const OutputPatch <ds_in_t, 2> i, float2 tesscoord : SV_DomainLocation, pcf_in_t pcf_data ) 24617a3babSopenharmony_ci{ 25617a3babSopenharmony_ci gs_in_t o; 26617a3babSopenharmony_ci 27617a3babSopenharmony_ci o.pos = i[0].pos + tesscoord.x; 28617a3babSopenharmony_ci o.norm = i[0].norm + tesscoord.y; 29617a3babSopenharmony_ci 30617a3babSopenharmony_ci return o; 31617a3babSopenharmony_ci} 32