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): 8000b
// 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
