iomap.variableOutBlockIn.vert
Shader version: 440
0:? Sequence
0:6  Function Definition: main( ( global void)
0:6    Function Parameters: 
0:8    Sequence
0:8      move second child to first child ( temp 4-component vector of float)
0:8        'a1' (layout( location=0) smooth out 4-component vector of float)
0:8        Constant:
0:8          1.000000
0:8          1.000000
0:8          1.000000
0:8          1.000000
0:9      move second child to first child ( temp 2-component vector of float)
0:9        'a2' (layout( location=1) smooth out 2-component vector of float)
0:9        Constant:
0:9          0.500000
0:9          0.500000
0:10      move second child to first child ( temp 4-component vector of float)
0:10        gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:10          'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out unsized 1-element array of float ClipDistance gl_ClipDistance})
0:10          Constant:
0:10            0 (const uint)
0:10        Constant:
0:10          1.000000
0:10          1.000000
0:10          1.000000
0:10          1.000000
0:?   Linker Objects
0:?     'a1' (layout( location=0) smooth out 4-component vector of float)
0:?     'a2' (layout( location=1) smooth out 2-component vector of float)
0:?     'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out unsized 1-element array of float ClipDistance gl_ClipDistance})
0:?     'gl_VertexID' ( gl_VertexId int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)

iomap.variableOutBlockIn.frag
Shader version: 440
0:? Sequence
0:10  Function Definition: main( ( global void)
0:10    Function Parameters: 
0:12    Sequence
0:12      move second child to first child ( temp 4-component vector of float)
0:12        'color' (layout( location=0) out 4-component vector of float)
0:12        Construct vec4 ( temp 4-component vector of float)
0:12          vector swizzle ( temp 2-component vector of float)
0:12            a1: direct index for structure ( in 4-component vector of float)
0:12              'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:12              Constant:
0:12                0 (const uint)
0:12            Sequence
0:12              Constant:
0:12                0 (const int)
0:12              Constant:
0:12                1 (const int)
0:12          a2: direct index for structure ( in 2-component vector of float)
0:12            'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:12            Constant:
0:12              1 (const uint)
0:?   Linker Objects
0:?     'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:?     'color' (layout( location=0) out 4-component vector of float)


Linked vertex stage:


Linked fragment stage:


Shader version: 440
0:? Sequence
0:6  Function Definition: main( ( global void)
0:6    Function Parameters: 
0:8    Sequence
0:8      move second child to first child ( temp 4-component vector of float)
0:8        'a1' (layout( location=0) smooth out 4-component vector of float)
0:8        Constant:
0:8          1.000000
0:8          1.000000
0:8          1.000000
0:8          1.000000
0:9      move second child to first child ( temp 2-component vector of float)
0:9        'a2' (layout( location=1) smooth out 2-component vector of float)
0:9        Constant:
0:9          0.500000
0:9          0.500000
0:10      move second child to first child ( temp 4-component vector of float)
0:10        gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:10          'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out 1-element array of float ClipDistance gl_ClipDistance})
0:10          Constant:
0:10            0 (const uint)
0:10        Constant:
0:10          1.000000
0:10          1.000000
0:10          1.000000
0:10          1.000000
0:?   Linker Objects
0:?     'a1' (layout( location=0) smooth out 4-component vector of float)
0:?     'a2' (layout( location=1) smooth out 2-component vector of float)
0:?     'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out 1-element array of float ClipDistance gl_ClipDistance})
0:?     'gl_VertexID' ( gl_VertexId int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
Shader version: 440
0:? Sequence
0:10  Function Definition: main( ( global void)
0:10    Function Parameters: 
0:12    Sequence
0:12      move second child to first child ( temp 4-component vector of float)
0:12        'color' (layout( location=0) out 4-component vector of float)
0:12        Construct vec4 ( temp 4-component vector of float)
0:12          vector swizzle ( temp 2-component vector of float)
0:12            a1: direct index for structure ( in 4-component vector of float)
0:12              'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:12              Constant:
0:12                0 (const uint)
0:12            Sequence
0:12              Constant:
0:12                0 (const int)
0:12              Constant:
0:12                1 (const int)
0:12          a2: direct index for structure ( in 2-component vector of float)
0:12            'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:12            Constant:
0:12              1 (const uint)
0:?   Linker Objects
0:?     'anon@0' (layout( location=0) in block{ in 4-component vector of float a1,  in 2-component vector of float a2})
0:?     'color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 14 22 27 28
                              Source GLSL 440
                              Name 4  "main"
                              Name 9  "a1"
                              Name 14  "a2"
                              Name 20  "gl_PerVertex"
                              MemberName 20(gl_PerVertex) 0  "gl_Position"
                              MemberName 20(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 20(gl_PerVertex) 2  "gl_ClipDistance"
                              Name 22  ""
                              Name 27  "gl_VertexID"
                              Name 28  "gl_InstanceID"
                              Decorate 9(a1) Location 0
                              Decorate 14(a2) Location 1
                              MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
                              Decorate 20(gl_PerVertex) Block
                              Decorate 27(gl_VertexID) BuiltIn VertexId
                              Decorate 28(gl_InstanceID) BuiltIn InstanceId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
           9(a1):      8(ptr) Variable Output
              10:    6(float) Constant 1065353216
              11:    7(fvec4) ConstantComposite 10 10 10 10
              12:             TypeVector 6(float) 2
              13:             TypePointer Output 12(fvec2)
          14(a2):     13(ptr) Variable Output
              15:    6(float) Constant 1056964608
              16:   12(fvec2) ConstantComposite 15 15
              17:             TypeInt 32 0
              18:     17(int) Constant 1
              19:             TypeArray 6(float) 18
20(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 19
              21:             TypePointer Output 20(gl_PerVertex)
              22:     21(ptr) Variable Output
              23:             TypeInt 32 1
              24:     23(int) Constant 0
              26:             TypePointer Input 23(int)
 27(gl_VertexID):     26(ptr) Variable Input
28(gl_InstanceID):     26(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
                              Store 9(a1) 11
                              Store 14(a2) 16
              25:      8(ptr) AccessChain 22 24
                              Store 25 11
                              Return
                              FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 29

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 13
                              ExecutionMode 4 OriginLowerLeft
                              Source GLSL 440
                              Name 4  "main"
                              Name 9  "color"
                              Name 11  "Inputs"
                              MemberName 11(Inputs) 0  "a1"
                              MemberName 11(Inputs) 1  "a2"
                              Name 13  ""
                              Decorate 9(color) Location 0
                              Decorate 11(Inputs) Block
                              Decorate 13 Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
              10:             TypeVector 6(float) 2
      11(Inputs):             TypeStruct 7(fvec4) 10(fvec2)
              12:             TypePointer Input 11(Inputs)
              13:     12(ptr) Variable Input
              14:             TypeInt 32 1
              15:     14(int) Constant 0
              16:             TypePointer Input 7(fvec4)
              20:     14(int) Constant 1
              21:             TypePointer Input 10(fvec2)
         4(main):           2 Function None 3
               5:             Label
              17:     16(ptr) AccessChain 13 15
              18:    7(fvec4) Load 17
              19:   10(fvec2) VectorShuffle 18 18 0 1
              22:     21(ptr) AccessChain 13 20
              23:   10(fvec2) Load 22
              24:    6(float) CompositeExtract 19 0
              25:    6(float) CompositeExtract 19 1
              26:    6(float) CompositeExtract 23 0
              27:    6(float) CompositeExtract 23 1
              28:    7(fvec4) CompositeConstruct 24 25 26 27
                              Store 9(color) 28
                              Return
                              FunctionEnd
