link.multiBlocksValid.1.0.vert
Shader version: 430
0:? Sequence
0:26  Function Definition: main( ( global void)
0:26    Function Parameters: 
0:28    Sequence
0:28      move second child to first child ( temp 4-component vector of float)
0:28        'oColor' ( smooth out 4-component vector of float)
0:28        component-wise multiply ( temp 4-component vector of float)
0:28          color1: direct index for structure (layout( column_major std140 offset=0) uniform 4-component vector of float)
0:28            'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:28            Constant:
0:28              0 (const int)
0:28          Function Call: getColor2( ( global 4-component vector of float)
0:29      move second child to first child ( temp 4-component vector of float)
0:29        v1: direct index for structure ( out 4-component vector of float)
0:29          'b' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:29          Constant:
0:29            0 (const int)
0:29        color1: direct index for structure (layout( column_major std140 offset=0) uniform 4-component vector of float)
0:29          'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:29          Constant:
0:29            0 (const int)
0:31      move second child to first child ( temp 4-component vector of float)
0:31        gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:31          '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:31          Constant:
0:31            0 (const uint)
0:31        matrix-times-vector ( temp 4-component vector of float)
0:31          uProj: direct index for structure (layout( column_major std140 offset=0) uniform 4X4 matrix of float)
0:31            'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:31            Constant:
0:31              0 (const int)
0:31          Function Call: getWorld( ( global 4-component vector of float)
0:?   Linker Objects
0:?     'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:?     'b' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:?     'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:?     'oColor' ( smooth out 4-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)

link.multiBlocksValid.1.1.vert
Shader version: 430
0:? Sequence
0:24  Function Definition: getColor2( ( global 4-component vector of float)
0:24    Function Parameters: 
0:26    Sequence
0:26      Branch: Return with expression
0:26        color2: direct index for structure (layout( column_major std140 offset=16) uniform 4-component vector of float)
0:26          'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:26          Constant:
0:26            1 (const int)
0:29  Function Definition: getWorld( ( global 4-component vector of float)
0:29    Function Parameters: 
0:31    Sequence
0:31      Branch: Return with expression
0:31        matrix-times-vector ( temp 4-component vector of float)
0:31          uWorld: direct index for structure (layout( column_major std140 offset=64) uniform 4X4 matrix of float)
0:31            'b' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:31            Constant:
0:31              1 (const int)
0:31          'P' ( in 4-component vector of float)
0:32      move second child to first child ( temp 4-component vector of float)
0:32        v2: direct index for structure ( out 4-component vector of float)
0:32          'c' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:32          Constant:
0:32            1 (const int)
0:32        Constant:
0:32          1.000000
0:32          1.000000
0:32          1.000000
0:32          1.000000
0:?   Linker Objects
0:?     'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:?     'b' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:?     'c' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:?     'P' ( in 4-component vector of float)
0:?     'gl_VertexID' ( gl_VertexId int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)


Linked vertex stage:

WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
    vertex stage: Block: ColorBlock Instance: c: ""
    vertex stage: Block: ColorBlock Instance: a: ""
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
    vertex stage: Block: Block Instance: a: ""
    vertex stage: Block: Block Instance: b: ""
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
    vertex stage: Block: Vertex Instance: b: ""
    vertex stage: Block: Vertex Instance: c: ""

Shader version: 430
0:? Sequence
0:26  Function Definition: main( ( global void)
0:26    Function Parameters: 
0:28    Sequence
0:28      move second child to first child ( temp 4-component vector of float)
0:28        'oColor' ( smooth out 4-component vector of float)
0:28        component-wise multiply ( temp 4-component vector of float)
0:28          color1: direct index for structure (layout( column_major std140 offset=0) uniform 4-component vector of float)
0:28            'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:28            Constant:
0:28              0 (const int)
0:28          Function Call: getColor2( ( global 4-component vector of float)
0:29      move second child to first child ( temp 4-component vector of float)
0:29        v1: direct index for structure ( out 4-component vector of float)
0:29          'b' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:29          Constant:
0:29            0 (const int)
0:29        color1: direct index for structure (layout( column_major std140 offset=0) uniform 4-component vector of float)
0:29          'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:29          Constant:
0:29            0 (const int)
0:31      move second child to first child ( temp 4-component vector of float)
0:31        gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:31          '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:31          Constant:
0:31            0 (const uint)
0:31        matrix-times-vector ( temp 4-component vector of float)
0:31          uProj: direct index for structure (layout( column_major std140 offset=0) uniform 4X4 matrix of float)
0:31            'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:31            Constant:
0:31              0 (const int)
0:31          Function Call: getWorld( ( global 4-component vector of float)
0:24  Function Definition: getColor2( ( global 4-component vector of float)
0:24    Function Parameters: 
0:26    Sequence
0:26      Branch: Return with expression
0:26        color2: direct index for structure (layout( column_major std140 offset=16) uniform 4-component vector of float)
0:26          'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:26          Constant:
0:26            1 (const int)
0:29  Function Definition: getWorld( ( global 4-component vector of float)
0:29    Function Parameters: 
0:31    Sequence
0:31      Branch: Return with expression
0:31        matrix-times-vector ( temp 4-component vector of float)
0:31          uWorld: direct index for structure (layout( column_major std140 offset=64) uniform 4X4 matrix of float)
0:31            'b' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:31            Constant:
0:31              1 (const int)
0:31          'P' ( in 4-component vector of float)
0:32      move second child to first child ( temp 4-component vector of float)
0:32        v2: direct index for structure ( out 4-component vector of float)
0:32          'c' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:32          Constant:
0:32            1 (const int)
0:32        Constant:
0:32          1.000000
0:32          1.000000
0:32          1.000000
0:32          1.000000
0:?   Linker Objects
0:?     'a' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform 4X4 matrix of float uWorld})
0:?     'b' ( out block{ out 4-component vector of float v1,  out 4-component vector of float v2})
0:?     'c' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float color1, layout( column_major std140 offset=16) uniform 4-component vector of float color2})
0:?     'oColor' ( smooth out 4-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)
0:?     'P' ( in 4-component vector of float)

