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