1struct S { 2 float4 pos : SV_Position; 3 float2 clip0 : SV_ClipDistance0; // clip0 and clip1 form an array of float[4] externally. 4 float2 clip1 : SV_ClipDistance1; 5}; 6 7[maxvertexcount(3)] 8void main(triangle in float4 pos[3] : SV_Position, 9 triangle in uint VertexID[3] : VertexID, 10 inout LineStream<S> OutputStream, 11 triangle in float2 clip0[3] : SV_ClipDistance0, // test input arrayed semantic vars 12 triangle in float2 clip1[3] : SV_ClipDistance1) 13{ 14 S s; 15 16 s.pos = pos[0]; 17 s.clip0 = clip0[0]; 18 s.clip1 = clip1[0]; 19 20 OutputStream.Append(s); 21} 22