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

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 118

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