hlsl.clipdistance-4.geom
Shader version: 500
invocations = -1
max_vertices = 3
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:13  Function Definition: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3]; ( temp void)
0:13    Function Parameters: 
0:13      'pos' ( in 3-element array of 4-component vector of float)
0:13      'VertexID' ( in 3-element array of uint)
0:13      'OutputStream' ( out structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:13      'clip0' ( in 3-element array of 2-component vector of float)
0:13      'clip1' ( in 3-element array of 2-component vector of float)
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:16        pos: direct index for structure ( temp 4-component vector of float)
0:16          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:16          Constant:
0:16            0 (const int)
0:16        direct index ( temp 4-component vector of float)
0:16          'pos' ( in 3-element array of 4-component vector of float)
0:16          Constant:
0:16            0 (const int)
0:17      move second child to first child ( temp 2-component vector of float)
0:17        clip0: direct index for structure ( temp 2-component vector of float)
0:17          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:17          Constant:
0:17            1 (const int)
0:17        direct index ( temp 2-component vector of float)
0:17          'clip0' ( in 3-element array of 2-component vector of float)
0:17          Constant:
0:17            0 (const int)
0:18      move second child to first child ( temp 2-component vector of float)
0:18        clip1: direct index for structure ( temp 2-component vector of float)
0:18          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:18          Constant:
0:18            2 (const int)
0:18        direct index ( temp 2-component vector of float)
0:18          'clip1' ( in 3-element array of 2-component vector of float)
0:18          Constant:
0:18            0 (const int)
0:20      Sequence
0:20        Sequence
0:20          move second child to first child ( temp 4-component vector of float)
0:?             'OutputStream.pos' ( out 4-component vector of float Position)
0:20            pos: direct index for structure ( temp 4-component vector of float)
0:20              's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20              Constant:
0:20                0 (const int)
0:?           Sequence
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  0 (const int)
0:20              direct index ( temp float)
0:20                clip0: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    1 (const int)
0:20                Constant:
0:20                  0 (const int)
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  1 (const int)
0:20              direct index ( temp float)
0:20                clip0: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    1 (const int)
0:20                Constant:
0:20                  1 (const int)
0:?           Sequence
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  2 (const int)
0:20              direct index ( temp float)
0:20                clip1: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    2 (const int)
0:20                Constant:
0:20                  0 (const int)
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  3 (const int)
0:20              direct index ( temp float)
0:20                clip1: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    2 (const int)
0:20                Constant:
0:20                  1 (const int)
0:20        EmitVertex ( temp void)
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 3-element array of 4-component vector of float)
0:?         'pos' ( temp 3-element array of 4-component vector of float)
0:?         'pos' ( in 3-element array of 4-component vector of float Position)
0:13      move second child to first child ( temp 3-element array of uint)
0:?         'VertexID' ( temp 3-element array of uint)
0:?         'VertexID' (layout( location=0) in 3-element array of uint)
0:?       Sequence
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:?       Sequence
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              3 (const int)
0:13      Function Call: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3]; ( temp void)
0:?         'pos' ( temp 3-element array of 4-component vector of float)
0:?         'VertexID' ( temp 3-element array of uint)
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:?         'clip0' ( temp 3-element array of 2-component vector of float)
0:?         'clip1' ( temp 3-element array of 2-component vector of float)
0:?   Linker Objects
0:?     'pos' ( in 3-element array of 4-component vector of float Position)
0:?     'VertexID' (layout( location=0) in 3-element array of uint)
0:?     'OutputStream.pos' ( out 4-component vector of float Position)
0:?     'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)


Linked geometry stage:


Shader version: 500
invocations = 1
max_vertices = 3
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:13  Function Definition: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3]; ( temp void)
0:13    Function Parameters: 
0:13      'pos' ( in 3-element array of 4-component vector of float)
0:13      'VertexID' ( in 3-element array of uint)
0:13      'OutputStream' ( out structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:13      'clip0' ( in 3-element array of 2-component vector of float)
0:13      'clip1' ( in 3-element array of 2-component vector of float)
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:16        pos: direct index for structure ( temp 4-component vector of float)
0:16          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:16          Constant:
0:16            0 (const int)
0:16        direct index ( temp 4-component vector of float)
0:16          'pos' ( in 3-element array of 4-component vector of float)
0:16          Constant:
0:16            0 (const int)
0:17      move second child to first child ( temp 2-component vector of float)
0:17        clip0: direct index for structure ( temp 2-component vector of float)
0:17          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:17          Constant:
0:17            1 (const int)
0:17        direct index ( temp 2-component vector of float)
0:17          'clip0' ( in 3-element array of 2-component vector of float)
0:17          Constant:
0:17            0 (const int)
0:18      move second child to first child ( temp 2-component vector of float)
0:18        clip1: direct index for structure ( temp 2-component vector of float)
0:18          's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:18          Constant:
0:18            2 (const int)
0:18        direct index ( temp 2-component vector of float)
0:18          'clip1' ( in 3-element array of 2-component vector of float)
0:18          Constant:
0:18            0 (const int)
0:20      Sequence
0:20        Sequence
0:20          move second child to first child ( temp 4-component vector of float)
0:?             'OutputStream.pos' ( out 4-component vector of float Position)
0:20            pos: direct index for structure ( temp 4-component vector of float)
0:20              's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20              Constant:
0:20                0 (const int)
0:?           Sequence
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  0 (const int)
0:20              direct index ( temp float)
0:20                clip0: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    1 (const int)
0:20                Constant:
0:20                  0 (const int)
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  1 (const int)
0:20              direct index ( temp float)
0:20                clip0: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    1 (const int)
0:20                Constant:
0:20                  1 (const int)
0:?           Sequence
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  2 (const int)
0:20              direct index ( temp float)
0:20                clip1: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    2 (const int)
0:20                Constant:
0:20                  0 (const int)
0:20            move second child to first child ( temp float)
0:20              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:20                Constant:
0:20                  3 (const int)
0:20              direct index ( temp float)
0:20                clip1: direct index for structure ( temp 2-component vector of float)
0:20                  's' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:20                  Constant:
0:20                    2 (const int)
0:20                Constant:
0:20                  1 (const int)
0:20        EmitVertex ( temp void)
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 3-element array of 4-component vector of float)
0:?         'pos' ( temp 3-element array of 4-component vector of float)
0:?         'pos' ( in 3-element array of 4-component vector of float Position)
0:13      move second child to first child ( temp 3-element array of uint)
0:?         'VertexID' ( temp 3-element array of uint)
0:?         'VertexID' (layout( location=0) in 3-element array of uint)
0:?       Sequence
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip0' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:?       Sequence
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                0 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                1 (const int)
0:13            Constant:
0:13              3 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              2 (const int)
0:13        move second child to first child ( temp float)
0:13          direct index ( temp float)
0:13            direct index ( temp 2-component vector of float)
0:?               'clip1' ( temp 3-element array of 2-component vector of float)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              1 (const int)
0:13          direct index ( in float ClipDistance)
0:13            direct index ( in 4-element array of float ClipDistance)
0:?               'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:13              Constant:
0:13                2 (const int)
0:13            Constant:
0:13              3 (const int)
0:13      Function Call: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3]; ( temp void)
0:?         'pos' ( temp 3-element array of 4-component vector of float)
0:?         'VertexID' ( temp 3-element array of uint)
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float clip0,  temp 2-component vector of float clip1})
0:?         'clip0' ( temp 3-element array of 2-component vector of float)
0:?         'clip1' ( temp 3-element array of 2-component vector of float)
0:?   Linker Objects
0:?     'pos' ( in 3-element array of 4-component vector of float Position)
0:?     'VertexID' (layout( location=0) in 3-element array of uint)
0:?     'OutputStream.pos' ( out 4-component vector of float Position)
0:?     'clip0' ( in 3-element array of 4-element array of float ClipDistance)
0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)

// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 130

                              Capability Geometry
                              Capability ClipDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 44 50 70 74 79
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 Invocations 1
                              ExecutionMode 4 OutputLineStrip
                              ExecutionMode 4 OutputVertices 3
                              Source HLSL 500
                              Name 4  "main"
                              Name 15  "S"
                              MemberName 15(S) 0  "pos"
                              MemberName 15(S) 1  "clip0"
                              MemberName 15(S) 2  "clip1"
                              Name 25  "@main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3];"
                              Name 20  "pos"
                              Name 21  "VertexID"
                              Name 22  "OutputStream"
                              Name 23  "clip0"
                              Name 24  "clip1"
                              Name 27  "s"
                              Name 44  "OutputStream.pos"
                              Name 50  "OutputStream.clip1"
                              Name 68  "pos"
                              Name 70  "pos"
                              Name 72  "VertexID"
                              Name 74  "VertexID"
                              Name 76  "clip0"
                              Name 79  "clip0"
                              Name 99  "clip1"
                              Name 118  "OutputStream"
                              Name 119  "param"
                              Name 121  "param"
                              Name 123  "param"
                              Name 124  "param"
                              Name 126  "param"
                              Decorate 44(OutputStream.pos) BuiltIn Position
                              Decorate 50(OutputStream.clip1) BuiltIn ClipDistance
                              Decorate 70(pos) BuiltIn Position
                              Decorate 74(VertexID) Location 0
                              Decorate 79(clip0) BuiltIn ClipDistance
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 0
               9:      8(int) Constant 3
              10:             TypeArray 7(fvec4) 9
              11:             TypePointer Function 10
              12:             TypeArray 8(int) 9
              13:             TypePointer Function 12
              14:             TypeVector 6(float) 2
           15(S):             TypeStruct 7(fvec4) 14(fvec2) 14(fvec2)
              16:             TypePointer Function 15(S)
              17:             TypeArray 14(fvec2) 9
              18:             TypePointer Function 17
              19:             TypeFunction 2 11(ptr) 13(ptr) 16(ptr) 18(ptr) 18(ptr)
              28:             TypeInt 32 1
              29:     28(int) Constant 0
              30:             TypePointer Function 7(fvec4)
              34:     28(int) Constant 1
              35:             TypePointer Function 14(fvec2)
              39:     28(int) Constant 2
              43:             TypePointer Output 7(fvec4)
44(OutputStream.pos):     43(ptr) Variable Output
              47:      8(int) Constant 4
              48:             TypeArray 6(float) 47
              49:             TypePointer Output 48
50(OutputStream.clip1):     49(ptr) Variable Output
              51:      8(int) Constant 0
              52:             TypePointer Function 6(float)
              55:             TypePointer Output 6(float)
              57:      8(int) Constant 1
              64:     28(int) Constant 3
              69:             TypePointer Input 10
         70(pos):     69(ptr) Variable Input
              73:             TypePointer Input 12
    74(VertexID):     73(ptr) Variable Input
              77:             TypeArray 48 9
              78:             TypePointer Input 77
       79(clip0):     78(ptr) Variable Input
              80:             TypePointer Input 6(float)
         4(main):           2 Function None 3
               5:             Label
         68(pos):     11(ptr) Variable Function
    72(VertexID):     13(ptr) Variable Function
       76(clip0):     18(ptr) Variable Function
       99(clip1):     18(ptr) Variable Function
118(OutputStream):     16(ptr) Variable Function
      119(param):     11(ptr) Variable Function
      121(param):     13(ptr) Variable Function
      123(param):     16(ptr) Variable Function
      124(param):     18(ptr) Variable Function
      126(param):     18(ptr) Variable Function
              71:          10 Load 70(pos)
                              Store 68(pos) 71
              75:          12 Load 74(VertexID)
                              Store 72(VertexID) 75
              81:     80(ptr) AccessChain 79(clip0) 29 29
              82:    6(float) Load 81
              83:     52(ptr) AccessChain 76(clip0) 29 51
                              Store 83 82
              84:     80(ptr) AccessChain 79(clip0) 29 34
              85:    6(float) Load 84
              86:     52(ptr) AccessChain 76(clip0) 29 57
                              Store 86 85
              87:     80(ptr) AccessChain 79(clip0) 29 39
              88:    6(float) Load 87
              89:     52(ptr) AccessChain 76(clip0) 34 51
                              Store 89 88
              90:     80(ptr) AccessChain 79(clip0) 29 64
              91:    6(float) Load 90
              92:     52(ptr) AccessChain 76(clip0) 34 57
                              Store 92 91
              93:     80(ptr) AccessChain 79(clip0) 34 29
              94:    6(float) Load 93
              95:     52(ptr) AccessChain 76(clip0) 39 51
                              Store 95 94
              96:     80(ptr) AccessChain 79(clip0) 34 34
              97:    6(float) Load 96
              98:     52(ptr) AccessChain 76(clip0) 39 57
                              Store 98 97
             100:     80(ptr) AccessChain 79(clip0) 29 39
             101:    6(float) Load 100
             102:     52(ptr) AccessChain 99(clip1) 29 51
                              Store 102 101
             103:     80(ptr) AccessChain 79(clip0) 29 64
             104:    6(float) Load 103
             105:     52(ptr) AccessChain 99(clip1) 29 57
                              Store 105 104
             106:     80(ptr) AccessChain 79(clip0) 34 39
             107:    6(float) Load 106
             108:     52(ptr) AccessChain 99(clip1) 34 51
                              Store 108 107
             109:     80(ptr) AccessChain 79(clip0) 34 64
             110:    6(float) Load 109
             111:     52(ptr) AccessChain 99(clip1) 34 57
                              Store 111 110
             112:     80(ptr) AccessChain 79(clip0) 39 39
             113:    6(float) Load 112
             114:     52(ptr) AccessChain 99(clip1) 39 51
                              Store 114 113
             115:     80(ptr) AccessChain 79(clip0) 39 64
             116:    6(float) Load 115
             117:     52(ptr) AccessChain 99(clip1) 39 57
                              Store 117 116
             120:          10 Load 68(pos)
                              Store 119(param) 120
             122:          12 Load 72(VertexID)
                              Store 121(param) 122
             125:          17 Load 76(clip0)
                              Store 124(param) 125
             127:          17 Load 99(clip1)
                              Store 126(param) 127
             128:           2 FunctionCall 25(@main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3];) 119(param) 121(param) 123(param) 124(param) 126(param)
             129:       15(S) Load 123(param)
                              Store 118(OutputStream) 129
                              Return
                              FunctionEnd
25(@main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf2[3];vf2[3];):           2 Function None 19
         20(pos):     11(ptr) FunctionParameter
    21(VertexID):     13(ptr) FunctionParameter
22(OutputStream):     16(ptr) FunctionParameter
       23(clip0):     18(ptr) FunctionParameter
       24(clip1):     18(ptr) FunctionParameter
              26:             Label
           27(s):     16(ptr) Variable Function
              31:     30(ptr) AccessChain 20(pos) 29
              32:    7(fvec4) Load 31
              33:     30(ptr) AccessChain 27(s) 29
                              Store 33 32
              36:     35(ptr) AccessChain 23(clip0) 29
              37:   14(fvec2) Load 36
              38:     35(ptr) AccessChain 27(s) 34
                              Store 38 37
              40:     35(ptr) AccessChain 24(clip1) 29
              41:   14(fvec2) Load 40
              42:     35(ptr) AccessChain 27(s) 39
                              Store 42 41
              45:     30(ptr) AccessChain 27(s) 29
              46:    7(fvec4) Load 45
                              Store 44(OutputStream.pos) 46
              53:     52(ptr) AccessChain 27(s) 34 51
              54:    6(float) Load 53
              56:     55(ptr) AccessChain 50(OutputStream.clip1) 29
                              Store 56 54
              58:     52(ptr) AccessChain 27(s) 34 57
              59:    6(float) Load 58
              60:     55(ptr) AccessChain 50(OutputStream.clip1) 34
                              Store 60 59
              61:     52(ptr) AccessChain 27(s) 39 51
              62:    6(float) Load 61
              63:     55(ptr) AccessChain 50(OutputStream.clip1) 39
                              Store 63 62
              65:     52(ptr) AccessChain 27(s) 39 57
              66:    6(float) Load 65
              67:     55(ptr) AccessChain 50(OutputStream.clip1) 64
                              Store 67 66
                              EmitVertex
                              Return
                              FunctionEnd
