iomap.crossStage.2.vert
Shader version: 460
0:? Sequence
0:32  Function Definition: main( ( global void)
0:32    Function Parameters: 
0:34    Sequence
0:34      move second child to first child ( temp 4-component vector of float)
0:34        'vgo1' ( smooth out 4-component vector of float)
0:34        Constant:
0:34          0.000000
0:34          0.000000
0:34          0.000000
0:34          0.000000
0:35      move second child to first child ( temp 2-component vector of float)
0:35        'vgo2' ( smooth out 2-component vector of float)
0:35        Constant:
0:35          0.000000
0:35          0.000000
0:36      move second child to first child ( temp 4-component vector of float)
0:36        o3: direct index for structure ( out 4-component vector of float)
0:36          'anon@0' (layout( location=5) out block{ out 4-component vector of float o3})
0:36          Constant:
0:36            0 (const uint)
0:36        Constant:
0:36          0.000000
0:36          0.000000
0:36          0.000000
0:36          0.000000
0:?   Linker Objects
0:?     'vgo1' ( smooth out 4-component vector of float)
0:?     'vgo2' ( smooth out 2-component vector of float)
0:?     'anon@0' (layout( location=5) out block{ out 4-component vector of float o3})
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'um2' ( uniform 2X2 matrix of float)
0:?       4.000000
0:?       0.000000
0:?       0.000000
0:?       4.000000
0:?     'glass' (layout( location=0 binding=0) uniform sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 4-component vector of float b})
0:?     'anon@2' (layout( column_major std430) buffer block{layout( column_major std430) buffer 2-component vector of float vb1})
0:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})
0:?     'gl_VertexID' ( gl_VertexId int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)

iomap.crossStage.2.geom
Shader version: 460
invocations = -1
max_vertices = 3
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:29  Function Definition: main( ( global void)
0:29    Function Parameters: 
0:31    Sequence
0:31      Sequence
0:31        Sequence
0:31          move second child to first child ( temp int)
0:31            'i' ( temp int)
0:31            Constant:
0:31              0 (const int)
0:31        Loop with condition tested first
0:31          Loop Condition
0:31          Compare Less Than ( temp bool)
0:31            'i' ( temp int)
0:31            Constant:
0:31              3 (const int)
0:31          Loop Body
0:32          Sequence
0:32            move second child to first child ( temp 4-component vector of float)
0:32              'gfo1' (layout( stream=0) out 4-component vector of float)
0:32              Constant:
0:32                0.000000
0:32                0.000000
0:32                0.000000
0:32                0.000000
0:33            move second child to first child ( temp 2-component vector of float)
0:33              'gfo2' (layout( stream=0) out 2-component vector of float)
0:33              Constant:
0:33                0.000000
0:33                0.000000
0:34            move second child to first child ( temp 4-component vector of float)
0:34              o3: direct index for structure (layout( stream=0) out 4-component vector of float)
0:34                'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out 4-component vector of float o3})
0:34                Constant:
0:34                  0 (const int)
0:34              o3: direct index for structure ( in 4-component vector of float)
0:34                indirect index (layout( location=5) temp block{ in 4-component vector of float o3})
0:34                  'inBlock' (layout( location=5) in 1-element array of block{ in 4-component vector of float o3})
0:34                  'i' ( temp int)
0:34                Constant:
0:34                  0 (const int)
0:35            EmitVertex ( global void)
0:31          Loop Terminal Expression
0:31          Post-Increment ( temp int)
0:31            'i' ( temp int)
0:37      EndPrimitive ( global void)
0:?   Linker Objects
0:?     'vgo1' ( in 1-element array of 4-component vector of float)
0:?     'vgo2' ( in 1-element array of 2-component vector of float)
0:?     'inBlock' (layout( location=5) in 1-element array of block{ in 4-component vector of float o3})
0:?     'gfo1' (layout( stream=0) out 4-component vector of float)
0:?     'gfo2' (layout( stream=0) out 2-component vector of float)
0:?     'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out 4-component vector of float o3})
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})

iomap.crossStage.2.frag
Shader version: 460
0:? Sequence
0:37  Function Definition: main( ( global void)
0:37    Function Parameters: 
0:39    Sequence
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          'color' ( temp 4-component vector of float)
0:39          component-wise multiply ( temp 4-component vector of float)
0:39            component-wise multiply ( temp 4-component vector of float)
0:39              component-wise multiply ( temp 4-component vector of float)
0:39                'gfo1' ( smooth in 4-component vector of float)
0:39                vector swizzle ( temp 4-component vector of float)
0:39                  'u1' ( uniform 2-component vector of float)
0:39                  Sequence
0:39                    Constant:
0:39                      0 (const int)
0:39                    Constant:
0:39                      1 (const int)
0:39                    Constant:
0:39                      0 (const int)
0:39                    Constant:
0:39                      1 (const int)
0:39              vector swizzle ( temp 4-component vector of float)
0:39                'u2' ( uniform 3-component vector of float)
0:39                Sequence
0:39                  Constant:
0:39                    0 (const int)
0:39                  Constant:
0:39                    1 (const int)
0:39                  Constant:
0:39                    2 (const int)
0:39                  Constant:
0:39                    0 (const int)
0:39            vector swizzle ( temp 4-component vector of float)
0:39              'u3' ( uniform 4-component vector of float)
0:39                0.000000
0:39                0.000000
0:39                0.000000
0:39                0.000000
0:39              Sequence
0:39                Constant:
0:39                  0 (const int)
0:39                Constant:
0:39                  1 (const int)
0:39                Constant:
0:39                  2 (const int)
0:39                Constant:
0:39                  3 (const int)
0:40      move second child to first child ( temp 4-component vector of float)
0:40        'outColor' ( out 4-component vector of float)
0:40        'color' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( location=5) in block{ in 4-component vector of float o3})
0:?     'gfo1' ( smooth in 4-component vector of float)
0:?     'gfo2' ( smooth in 2-component vector of float)
0:?     'outColor' ( out 4-component vector of float)
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'um2' ( uniform 2X2 matrix of float)
0:?       4.000000
0:?       0.000000
0:?       0.000000
0:?       4.000000
0:?     'glass' (layout( location=0 binding=0) uniform sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 4-component vector of float b})
0:?     'anon@2' (layout( column_major std430) buffer block{layout( column_major std430) buffer 2-component vector of float fb1})
0:?     'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})


Linked vertex stage:


Linked geometry stage:


Linked fragment stage:

WARNING: Linking unknown stage stage: Matched shader interfaces are using different instance names.
    blockName1: "layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b}" versus blockName2: "layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b}"

Shader version: 460
0:? Sequence
0:32  Function Definition: main( ( global void)
0:32    Function Parameters: 
0:34    Sequence
0:34      move second child to first child ( temp 4-component vector of float)
0:34        'vgo1' ( smooth out 4-component vector of float)
0:34        Constant:
0:34          0.000000
0:34          0.000000
0:34          0.000000
0:34          0.000000
0:35      move second child to first child ( temp 2-component vector of float)
0:35        'vgo2' ( smooth out 2-component vector of float)
0:35        Constant:
0:35          0.000000
0:35          0.000000
0:36      move second child to first child ( temp 4-component vector of float)
0:36        o3: direct index for structure ( out 4-component vector of float)
0:36          'anon@0' (layout( location=5) out block{ out 4-component vector of float o3})
0:36          Constant:
0:36            0 (const uint)
0:36        Constant:
0:36          0.000000
0:36          0.000000
0:36          0.000000
0:36          0.000000
0:?   Linker Objects
0:?     'vgo1' ( smooth out 4-component vector of float)
0:?     'vgo2' ( smooth out 2-component vector of float)
0:?     'anon@0' (layout( location=5) out block{ out 4-component vector of float o3})
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'um2' ( uniform 2X2 matrix of float)
0:?       4.000000
0:?       0.000000
0:?       0.000000
0:?       4.000000
0:?     'glass' (layout( location=0 binding=0) uniform sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 4-component vector of float b})
0:?     'anon@2' (layout( column_major std430) buffer block{layout( column_major std430) buffer 2-component vector of float vb1})
0:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})
0:?     'gl_VertexID' ( gl_VertexId int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
Shader version: 460
invocations = 1
max_vertices = 3
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:29  Function Definition: main( ( global void)
0:29    Function Parameters: 
0:31    Sequence
0:31      Sequence
0:31        Sequence
0:31          move second child to first child ( temp int)
0:31            'i' ( temp int)
0:31            Constant:
0:31              0 (const int)
0:31        Loop with condition tested first
0:31          Loop Condition
0:31          Compare Less Than ( temp bool)
0:31            'i' ( temp int)
0:31            Constant:
0:31              3 (const int)
0:31          Loop Body
0:32          Sequence
0:32            move second child to first child ( temp 4-component vector of float)
0:32              'gfo1' (layout( stream=0) out 4-component vector of float)
0:32              Constant:
0:32                0.000000
0:32                0.000000
0:32                0.000000
0:32                0.000000
0:33            move second child to first child ( temp 2-component vector of float)
0:33              'gfo2' (layout( stream=0) out 2-component vector of float)
0:33              Constant:
0:33                0.000000
0:33                0.000000
0:34            move second child to first child ( temp 4-component vector of float)
0:34              o3: direct index for structure (layout( stream=0) out 4-component vector of float)
0:34                'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out 4-component vector of float o3})
0:34                Constant:
0:34                  0 (const int)
0:34              o3: direct index for structure ( in 4-component vector of float)
0:34                indirect index (layout( location=5) temp block{ in 4-component vector of float o3})
0:34                  'inBlock' (layout( location=5) in 1-element array of block{ in 4-component vector of float o3})
0:34                  'i' ( temp int)
0:34                Constant:
0:34                  0 (const int)
0:35            EmitVertex ( global void)
0:31          Loop Terminal Expression
0:31          Post-Increment ( temp int)
0:31            'i' ( temp int)
0:37      EndPrimitive ( global void)
0:?   Linker Objects
0:?     'vgo1' ( in 1-element array of 4-component vector of float)
0:?     'vgo2' ( in 1-element array of 2-component vector of float)
0:?     'inBlock' (layout( location=5) in 1-element array of block{ in 4-component vector of float o3})
0:?     'gfo1' (layout( stream=0) out 4-component vector of float)
0:?     'gfo2' (layout( stream=0) out 2-component vector of float)
0:?     'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out 4-component vector of float o3})
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})
Shader version: 460
0:? Sequence
0:37  Function Definition: main( ( global void)
0:37    Function Parameters: 
0:39    Sequence
0:39      Sequence
0:39        move second child to first child ( temp 4-component vector of float)
0:39          'color' ( temp 4-component vector of float)
0:39          component-wise multiply ( temp 4-component vector of float)
0:39            component-wise multiply ( temp 4-component vector of float)
0:39              component-wise multiply ( temp 4-component vector of float)
0:39                'gfo1' ( smooth in 4-component vector of float)
0:39                vector swizzle ( temp 4-component vector of float)
0:39                  'u1' ( uniform 2-component vector of float)
0:39                  Sequence
0:39                    Constant:
0:39                      0 (const int)
0:39                    Constant:
0:39                      1 (const int)
0:39                    Constant:
0:39                      0 (const int)
0:39                    Constant:
0:39                      1 (const int)
0:39              vector swizzle ( temp 4-component vector of float)
0:39                'u2' ( uniform 3-component vector of float)
0:39                Sequence
0:39                  Constant:
0:39                    0 (const int)
0:39                  Constant:
0:39                    1 (const int)
0:39                  Constant:
0:39                    2 (const int)
0:39                  Constant:
0:39                    0 (const int)
0:39            vector swizzle ( temp 4-component vector of float)
0:39              'u3' ( uniform 4-component vector of float)
0:39                0.000000
0:39                0.000000
0:39                0.000000
0:39                0.000000
0:39              Sequence
0:39                Constant:
0:39                  0 (const int)
0:39                Constant:
0:39                  1 (const int)
0:39                Constant:
0:39                  2 (const int)
0:39                Constant:
0:39                  3 (const int)
0:40      move second child to first child ( temp 4-component vector of float)
0:40        'outColor' ( out 4-component vector of float)
0:40        'color' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( location=5) in block{ in 4-component vector of float o3})
0:?     'gfo1' ( smooth in 4-component vector of float)
0:?     'gfo2' ( smooth in 2-component vector of float)
0:?     'outColor' ( out 4-component vector of float)
0:?     'u1' ( uniform 2-component vector of float)
0:?     'u2' ( uniform 3-component vector of float)
0:?     'u3' ( uniform 4-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'um2' ( uniform 2X2 matrix of float)
0:?       4.000000
0:?       0.000000
0:?       0.000000
0:?       4.000000
0:?     'glass' (layout( location=0 binding=0) uniform sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 4-component vector of float b})
0:?     'anon@2' (layout( column_major std430) buffer block{layout( column_major std430) buffer 2-component vector of float fb1})
0:?     'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 14 18 54 55
                              Source GLSL 460
                              Name 4  "main"
                              Name 9  "vgo1"
                              Name 14  "vgo2"
                              Name 16  "outBlock"
                              MemberName 16(outBlock) 0  "o3"
                              Name 18  ""
                              Name 23  "u1"
                              Name 27  "u2"
                              Name 29  "u3"
                              Name 36  "um2"
                              Name 40  "glass"
                              Name 41  "crossStageBlock1"
                              MemberName 41(crossStageBlock1) 0  "a"
                              MemberName 41(crossStageBlock1) 1  "b"
                              Name 43  ""
                              Name 44  "vertOnlyBlock"
                              MemberName 44(vertOnlyBlock) 0  "vb1"
                              Name 46  ""
                              Name 47  "crossStageBlock2"
                              MemberName 47(crossStageBlock2) 0  "a"
                              MemberName 47(crossStageBlock2) 1  "b"
                              Name 52  "blockName1"
                              Name 54  "gl_VertexID"
                              Name 55  "gl_InstanceID"
                              Decorate 9(vgo1) Location 0
                              Decorate 14(vgo2) Location 1
                              Decorate 16(outBlock) Block
                              Decorate 18 Location 5
                              Decorate 23(u1) Location 1
                              Decorate 23(u1) DescriptorSet 0
                              Decorate 27(u2) Location 2
                              Decorate 27(u2) DescriptorSet 0
                              Decorate 29(u3) Location 3
                              Decorate 29(u3) DescriptorSet 0
                              Decorate 36(um2) Location 4
                              Decorate 36(um2) DescriptorSet 0
                              Decorate 40(glass) Location 0
                              Decorate 40(glass) DescriptorSet 0
                              Decorate 40(glass) Binding 0
                              MemberDecorate 41(crossStageBlock1) 0 Offset 0
                              MemberDecorate 41(crossStageBlock1) 1 Offset 16
                              Decorate 41(crossStageBlock1) Block
                              Decorate 43 DescriptorSet 0
                              Decorate 43 Binding 0
                              MemberDecorate 44(vertOnlyBlock) 0 Offset 0
                              Decorate 44(vertOnlyBlock) BufferBlock
                              Decorate 46 DescriptorSet 0
                              Decorate 46 Binding 0
                              MemberDecorate 47(crossStageBlock2) 0 Offset 0
                              MemberDecorate 47(crossStageBlock2) 1 Offset 16
                              Decorate 47(crossStageBlock2) Block
                              Decorate 52(blockName1) DescriptorSet 0
                              Decorate 52(blockName1) Binding 0
                              Decorate 54(gl_VertexID) BuiltIn VertexId
                              Decorate 55(gl_InstanceID) BuiltIn InstanceId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
         9(vgo1):      8(ptr) Variable Output
              10:    6(float) Constant 0
              11:    7(fvec4) ConstantComposite 10 10 10 10
              12:             TypeVector 6(float) 2
              13:             TypePointer Output 12(fvec2)
        14(vgo2):     13(ptr) Variable Output
              15:   12(fvec2) ConstantComposite 10 10
    16(outBlock):             TypeStruct 7(fvec4)
              17:             TypePointer Output 16(outBlock)
              18:     17(ptr) Variable Output
              19:             TypeInt 32 1
              20:     19(int) Constant 0
              22:             TypePointer UniformConstant 12(fvec2)
          23(u1):     22(ptr) Variable UniformConstant
              24:             TypeVector 6(float) 3
              25:   24(fvec3) ConstantComposite 10 10 10
              26:             TypePointer UniformConstant 24(fvec3)
          27(u2):     26(ptr) Variable UniformConstant 25
              28:             TypePointer UniformConstant 7(fvec4)
          29(u3):     28(ptr) Variable UniformConstant 11
              30:             TypeMatrix 12(fvec2) 2
              31:    6(float) Constant 1082130432
              32:   12(fvec2) ConstantComposite 31 10
              33:   12(fvec2) ConstantComposite 10 31
              34:          30 ConstantComposite 32 33
              35:             TypePointer UniformConstant 30
         36(um2):     35(ptr) Variable UniformConstant 34
              37:             TypeImage 6(float) 2D sampled format:Unknown
              38:             TypeSampledImage 37
              39:             TypePointer UniformConstant 38
       40(glass):     39(ptr) Variable UniformConstant
41(crossStageBlock1):             TypeStruct 7(fvec4) 7(fvec4)
              42:             TypePointer Uniform 41(crossStageBlock1)
              43:     42(ptr) Variable Uniform
44(vertOnlyBlock):             TypeStruct 12(fvec2)
              45:             TypePointer Uniform 44(vertOnlyBlock)
              46:     45(ptr) Variable Uniform
47(crossStageBlock2):             TypeStruct 7(fvec4) 12(fvec2)
              48:             TypeInt 32 0
              49:     48(int) Constant 2
              50:             TypeArray 47(crossStageBlock2) 49
              51:             TypePointer Uniform 50
  52(blockName1):     51(ptr) Variable Uniform
              53:             TypePointer Input 19(int)
 54(gl_VertexID):     53(ptr) Variable Input
55(gl_InstanceID):     53(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
                              Store 9(vgo1) 11
                              Store 14(vgo2) 15
              21:      8(ptr) AccessChain 18 20
                              Store 21 11
                              Return
                              FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 65

                              Capability Geometry
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 4  "main" 22 27 31 37 48 51
                              ExecutionMode 4 InputPoints
                              ExecutionMode 4 Invocations 1
                              ExecutionMode 4 OutputTriangleStrip
                              ExecutionMode 4 OutputVertices 3
                              Source GLSL 460
                              Name 4  "main"
                              Name 8  "i"
                              Name 22  "gfo1"
                              Name 27  "gfo2"
                              Name 29  "outBlock"
                              MemberName 29(outBlock) 0  "o3"
                              Name 31  "gf_out"
                              Name 32  "outBlock"
                              MemberName 32(outBlock) 0  "o3"
                              Name 37  "inBlock"
                              Name 48  "vgo1"
                              Name 51  "vgo2"
                              Name 53  "u1"
                              Name 57  "u2"
                              Name 59  "u3"
                              Name 60  "crossStageBlock2"
                              MemberName 60(crossStageBlock2) 0  "a"
                              MemberName 60(crossStageBlock2) 1  "b"
                              Name 64  "blockName1"
                              Decorate 22(gfo1) Location 0
                              Decorate 27(gfo2) Location 1
                              Decorate 29(outBlock) Block
                              Decorate 31(gf_out) Location 5
                              Decorate 32(outBlock) Block
                              Decorate 37(inBlock) Location 5
                              Decorate 48(vgo1) Location 0
                              Decorate 51(vgo2) Location 1
                              Decorate 53(u1) Location 1
                              Decorate 53(u1) DescriptorSet 0
                              Decorate 57(u2) Location 2
                              Decorate 57(u2) DescriptorSet 0
                              Decorate 59(u3) Location 3
                              Decorate 59(u3) DescriptorSet 0
                              MemberDecorate 60(crossStageBlock2) 0 Offset 0
                              MemberDecorate 60(crossStageBlock2) 1 Offset 16
                              Decorate 60(crossStageBlock2) Block
                              Decorate 64(blockName1) DescriptorSet 0
                              Decorate 64(blockName1) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:      6(int) Constant 0
              16:      6(int) Constant 3
              17:             TypeBool
              19:             TypeFloat 32
              20:             TypeVector 19(float) 4
              21:             TypePointer Output 20(fvec4)
        22(gfo1):     21(ptr) Variable Output
              23:   19(float) Constant 0
              24:   20(fvec4) ConstantComposite 23 23 23 23
              25:             TypeVector 19(float) 2
              26:             TypePointer Output 25(fvec2)
        27(gfo2):     26(ptr) Variable Output
              28:   25(fvec2) ConstantComposite 23 23
    29(outBlock):             TypeStruct 20(fvec4)
              30:             TypePointer Output 29(outBlock)
      31(gf_out):     30(ptr) Variable Output
    32(outBlock):             TypeStruct 20(fvec4)
              33:             TypeInt 32 0
              34:     33(int) Constant 1
              35:             TypeArray 32(outBlock) 34
              36:             TypePointer Input 35
     37(inBlock):     36(ptr) Variable Input
              39:             TypePointer Input 20(fvec4)
              44:      6(int) Constant 1
              46:             TypeArray 20(fvec4) 34
              47:             TypePointer Input 46
        48(vgo1):     47(ptr) Variable Input
              49:             TypeArray 25(fvec2) 34
              50:             TypePointer Input 49
        51(vgo2):     50(ptr) Variable Input
              52:             TypePointer UniformConstant 25(fvec2)
          53(u1):     52(ptr) Variable UniformConstant
              54:             TypeVector 19(float) 3
              55:   54(fvec3) ConstantComposite 23 23 23
              56:             TypePointer UniformConstant 54(fvec3)
          57(u2):     56(ptr) Variable UniformConstant 55
              58:             TypePointer UniformConstant 20(fvec4)
          59(u3):     58(ptr) Variable UniformConstant 24
60(crossStageBlock2):             TypeStruct 20(fvec4) 25(fvec2)
              61:     33(int) Constant 2
              62:             TypeArray 60(crossStageBlock2) 61
              63:             TypePointer Uniform 62
  64(blockName1):     63(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
            8(i):      7(ptr) Variable Function
                              Store 8(i) 9
                              Branch 10
              10:             Label
                              LoopMerge 12 13 None
                              Branch 14
              14:             Label
              15:      6(int) Load 8(i)
              18:    17(bool) SLessThan 15 16
                              BranchConditional 18 11 12
              11:               Label
                                Store 22(gfo1) 24
                                Store 27(gfo2) 28
              38:      6(int)   Load 8(i)
              40:     39(ptr)   AccessChain 37(inBlock) 38 9
              41:   20(fvec4)   Load 40
              42:     21(ptr)   AccessChain 31(gf_out) 9
                                Store 42 41
                                EmitVertex
                                Branch 13
              13:               Label
              43:      6(int)   Load 8(i)
              45:      6(int)   IAdd 43 44
                                Store 8(i) 45
                                Branch 10
              12:             Label
                              EndPrimitive
                              Return
                              FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 62

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 11 32 36 38
                              ExecutionMode 4 OriginLowerLeft
                              Source GLSL 460
                              Name 4  "main"
                              Name 9  "color"
                              Name 11  "gfo1"
                              Name 15  "u1"
                              Name 21  "u2"
                              Name 28  "u3"
                              Name 32  "outColor"
                              Name 34  "outBlock"
                              MemberName 34(outBlock) 0  "o3"
                              Name 36  ""
                              Name 38  "gfo2"
                              Name 45  "um2"
                              Name 49  "glass"
                              Name 50  "crossStageBlock1"
                              MemberName 50(crossStageBlock1) 0  "a"
                              MemberName 50(crossStageBlock1) 1  "b"
                              Name 52  ""
                              Name 53  "fragOnlyBlock"
                              MemberName 53(fragOnlyBlock) 0  "fb1"
                              Name 55  ""
                              Name 56  "crossStageBlock2"
                              MemberName 56(crossStageBlock2) 0  "a"
                              MemberName 56(crossStageBlock2) 1  "b"
                              Name 61  "blockName2"
                              Decorate 11(gfo1) Location 0
                              Decorate 15(u1) Location 1
                              Decorate 15(u1) DescriptorSet 0
                              Decorate 21(u2) Location 2
                              Decorate 21(u2) DescriptorSet 0
                              Decorate 28(u3) Location 3
                              Decorate 28(u3) DescriptorSet 0
                              Decorate 32(outColor) Location 0
                              Decorate 34(outBlock) Block
                              Decorate 36 Location 5
                              Decorate 38(gfo2) Location 1
                              Decorate 45(um2) Location 4
                              Decorate 45(um2) DescriptorSet 0
                              Decorate 49(glass) Location 0
                              Decorate 49(glass) DescriptorSet 0
                              Decorate 49(glass) Binding 0
                              MemberDecorate 50(crossStageBlock1) 0 Offset 0
                              MemberDecorate 50(crossStageBlock1) 1 Offset 16
                              Decorate 50(crossStageBlock1) Block
                              Decorate 52 DescriptorSet 0
                              Decorate 52 Binding 0
                              MemberDecorate 53(fragOnlyBlock) 0 Offset 0
                              Decorate 53(fragOnlyBlock) BufferBlock
                              Decorate 55 DescriptorSet 0
                              Decorate 55 Binding 0
                              MemberDecorate 56(crossStageBlock2) 0 Offset 0
                              MemberDecorate 56(crossStageBlock2) 1 Offset 16
                              Decorate 56(crossStageBlock2) Block
                              Decorate 61(blockName2) DescriptorSet 0
                              Decorate 61(blockName2) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:             TypePointer Input 7(fvec4)
        11(gfo1):     10(ptr) Variable Input
              13:             TypeVector 6(float) 2
              14:             TypePointer UniformConstant 13(fvec2)
          15(u1):     14(ptr) Variable UniformConstant
              19:             TypeVector 6(float) 3
              20:             TypePointer UniformConstant 19(fvec3)
          21(u2):     20(ptr) Variable UniformConstant
              25:    6(float) Constant 0
              26:    7(fvec4) ConstantComposite 25 25 25 25
              27:             TypePointer UniformConstant 7(fvec4)
          28(u3):     27(ptr) Variable UniformConstant 26
              31:             TypePointer Output 7(fvec4)
    32(outColor):     31(ptr) Variable Output
    34(outBlock):             TypeStruct 7(fvec4)
              35:             TypePointer Input 34(outBlock)
              36:     35(ptr) Variable Input
              37:             TypePointer Input 13(fvec2)
        38(gfo2):     37(ptr) Variable Input
              39:             TypeMatrix 13(fvec2) 2
              40:    6(float) Constant 1082130432
              41:   13(fvec2) ConstantComposite 40 25
              42:   13(fvec2) ConstantComposite 25 40
              43:          39 ConstantComposite 41 42
              44:             TypePointer UniformConstant 39
         45(um2):     44(ptr) Variable UniformConstant 43
              46:             TypeImage 6(float) 2D sampled format:Unknown
              47:             TypeSampledImage 46
              48:             TypePointer UniformConstant 47
       49(glass):     48(ptr) Variable UniformConstant
50(crossStageBlock1):             TypeStruct 7(fvec4) 7(fvec4)
              51:             TypePointer Uniform 50(crossStageBlock1)
              52:     51(ptr) Variable Uniform
53(fragOnlyBlock):             TypeStruct 13(fvec2)
              54:             TypePointer Uniform 53(fragOnlyBlock)
              55:     54(ptr) Variable Uniform
56(crossStageBlock2):             TypeStruct 7(fvec4) 13(fvec2)
              57:             TypeInt 32 0
              58:     57(int) Constant 2
              59:             TypeArray 56(crossStageBlock2) 58
              60:             TypePointer Uniform 59
  61(blockName2):     60(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
        9(color):      8(ptr) Variable Function
              12:    7(fvec4) Load 11(gfo1)
              16:   13(fvec2) Load 15(u1)
              17:    7(fvec4) VectorShuffle 16 16 0 1 0 1
              18:    7(fvec4) FMul 12 17
              22:   19(fvec3) Load 21(u2)
              23:    7(fvec4) VectorShuffle 22 22 0 1 2 0
              24:    7(fvec4) FMul 18 23
              29:    7(fvec4) Load 28(u3)
              30:    7(fvec4) FMul 24 29
                              Store 9(color) 30
              33:    7(fvec4) Load 9(color)
                              Store 32(outColor) 33
                              Return
                              FunctionEnd
