hlsl.clipdistance-3.geom
Shader version: 500
invocations = -1
max_vertices = 3
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:12  Function Definition: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf4[3]; ( temp void)
0:12    Function Parameters: 
0:12      'pos' ( in 3-element array of 4-component vector of float)
0:12      'VertexID' ( in 3-element array of uint)
0:12      '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:12      'clip' ( in 3-element array of 4-component vector of float)
0:?     Sequence
0:15      move second child to first child ( temp 4-component vector of float)
0:15        pos: direct index for structure ( temp 4-component vector of float)
0:15          '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:15          Constant:
0:15            0 (const int)
0:15        direct index ( temp 4-component vector of float)
0:15          'pos' ( in 3-element array of 4-component vector of float)
0:15          Constant:
0:15            0 (const int)
0:16      move second child to first child ( temp 2-component vector of float)
0:16        clip0: direct index for structure ( temp 2-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            1 (const int)
0:16        vector swizzle ( temp 2-component vector of float)
0:16          direct index ( temp 4-component vector of float)
0:16            'clip' ( in 3-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16          Sequence
0:16            Constant:
0:16              0 (const int)
0:16            Constant:
0:16              1 (const int)
0:17      move second child to first child ( temp 2-component vector of float)
0:17        clip1: 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            2 (const int)
0:17        vector swizzle ( temp 2-component vector of float)
0:17          direct index ( temp 4-component vector of float)
0:17            'clip' ( in 3-element array of 4-component vector of float)
0:17            Constant:
0:17              0 (const int)
0:17          Sequence
0:17            Constant:
0:17              2 (const int)
0:17            Constant:
0:17              3 (const int)
0:19      Sequence
0:19        Sequence
0:19          move second child to first child ( temp 4-component vector of float)
0:?             'OutputStream.pos' ( out 4-component vector of float Position)
0:19            pos: direct index for structure ( temp 4-component vector of float)
0:19              '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:19              Constant:
0:19                0 (const int)
0:?           Sequence
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  0 (const int)
0:19              direct index ( temp float)
0:19                clip0: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    1 (const int)
0:19                Constant:
0:19                  0 (const int)
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  1 (const int)
0:19              direct index ( temp float)
0:19                clip0: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    1 (const int)
0:19                Constant:
0:19                  1 (const int)
0:?           Sequence
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  2 (const int)
0:19              direct index ( temp float)
0:19                clip1: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    2 (const int)
0:19                Constant:
0:19                  0 (const int)
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  3 (const int)
0:19              direct index ( temp float)
0:19                clip1: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    2 (const int)
0:19                Constant:
0:19                  1 (const int)
0:19        EmitVertex ( temp void)
0:12  Function Definition: main( ( temp void)
0:12    Function Parameters: 
0:?     Sequence
0:12      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:12      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:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              3 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              3 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              3 (const int)
0:12      Function Call: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf4[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:?         'clip' ( temp 3-element array of 4-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:?     'clip' ( 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:12  Function Definition: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf4[3]; ( temp void)
0:12    Function Parameters: 
0:12      'pos' ( in 3-element array of 4-component vector of float)
0:12      'VertexID' ( in 3-element array of uint)
0:12      '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:12      'clip' ( in 3-element array of 4-component vector of float)
0:?     Sequence
0:15      move second child to first child ( temp 4-component vector of float)
0:15        pos: direct index for structure ( temp 4-component vector of float)
0:15          '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:15          Constant:
0:15            0 (const int)
0:15        direct index ( temp 4-component vector of float)
0:15          'pos' ( in 3-element array of 4-component vector of float)
0:15          Constant:
0:15            0 (const int)
0:16      move second child to first child ( temp 2-component vector of float)
0:16        clip0: direct index for structure ( temp 2-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            1 (const int)
0:16        vector swizzle ( temp 2-component vector of float)
0:16          direct index ( temp 4-component vector of float)
0:16            'clip' ( in 3-element array of 4-component vector of float)
0:16            Constant:
0:16              0 (const int)
0:16          Sequence
0:16            Constant:
0:16              0 (const int)
0:16            Constant:
0:16              1 (const int)
0:17      move second child to first child ( temp 2-component vector of float)
0:17        clip1: 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            2 (const int)
0:17        vector swizzle ( temp 2-component vector of float)
0:17          direct index ( temp 4-component vector of float)
0:17            'clip' ( in 3-element array of 4-component vector of float)
0:17            Constant:
0:17              0 (const int)
0:17          Sequence
0:17            Constant:
0:17              2 (const int)
0:17            Constant:
0:17              3 (const int)
0:19      Sequence
0:19        Sequence
0:19          move second child to first child ( temp 4-component vector of float)
0:?             'OutputStream.pos' ( out 4-component vector of float Position)
0:19            pos: direct index for structure ( temp 4-component vector of float)
0:19              '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:19              Constant:
0:19                0 (const int)
0:?           Sequence
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  0 (const int)
0:19              direct index ( temp float)
0:19                clip0: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    1 (const int)
0:19                Constant:
0:19                  0 (const int)
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  1 (const int)
0:19              direct index ( temp float)
0:19                clip0: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    1 (const int)
0:19                Constant:
0:19                  1 (const int)
0:?           Sequence
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  2 (const int)
0:19              direct index ( temp float)
0:19                clip1: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    2 (const int)
0:19                Constant:
0:19                  0 (const int)
0:19            move second child to first child ( temp float)
0:19              direct index ( out float ClipDistance)
0:?                 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
0:19                Constant:
0:19                  3 (const int)
0:19              direct index ( temp float)
0:19                clip1: direct index for structure ( temp 2-component vector of float)
0:19                  '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:19                  Constant:
0:19                    2 (const int)
0:19                Constant:
0:19                  1 (const int)
0:19        EmitVertex ( temp void)
0:12  Function Definition: main( ( temp void)
0:12    Function Parameters: 
0:?     Sequence
0:12      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:12      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:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                0 (const int)
0:12            Constant:
0:12              3 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                1 (const int)
0:12            Constant:
0:12              3 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              0 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              1 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              2 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp float)
0:12          direct index ( temp float)
0:12            direct index ( temp 4-component vector of float)
0:?               'clip' ( temp 3-element array of 4-component vector of float)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              3 (const int)
0:12          direct index ( in float ClipDistance)
0:12            direct index ( in 4-element array of float ClipDistance)
0:?               'clip' ( in 3-element array of 4-element array of float ClipDistance)
0:12              Constant:
0:12                2 (const int)
0:12            Constant:
0:12              3 (const int)
0:12      Function Call: @main(vf4[3];u1[3];struct-S-vf4-vf2-vf21;vf4[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:?         'clip' ( temp 3-element array of 4-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:?     'clip' ( 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): 80008
// Id's are bound by 127

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