spv.layoutNested.vert
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 66

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 62 65
                              Source GLSL 450
                              Name 4  "main"
                              Name 14  "S"
                              MemberName 14(S) 0  "a"
                              MemberName 14(S) 1  "b"
                              MemberName 14(S) 2  "c"
                              Name 19  "Block140"
                              MemberName 19(Block140) 0  "u"
                              MemberName 19(Block140) 1  "s"
                              MemberName 19(Block140) 2  "v"
                              Name 21  "inst140"
                              Name 23  "S"
                              MemberName 23(S) 0  "a"
                              MemberName 23(S) 1  "b"
                              MemberName 23(S) 2  "c"
                              Name 26  "Block430"
                              MemberName 26(Block430) 0  "u"
                              MemberName 26(Block430) 1  "s"
                              MemberName 26(Block430) 2  "v"
                              Name 28  "inst430"
                              Name 29  "S"
                              MemberName 29(S) 0  "a"
                              MemberName 29(S) 1  "b"
                              MemberName 29(S) 2  "c"
                              Name 31  "s"
                              Name 32  "T"
                              MemberName 32(T) 0  "m"
                              MemberName 32(T) 1  "a"
                              Name 34  "t"
                              Name 35  "T"
                              MemberName 35(T) 0  "m"
                              MemberName 35(T) 1  "a"
                              Name 36  "Nestor"
                              MemberName 36(Nestor) 0  "nestorT"
                              Name 37  "Bt1"
                              MemberName 37(Bt1) 0  "nt"
                              Name 39  "Btn1"
                              Name 40  "T"
                              MemberName 40(T) 0  "m"
                              MemberName 40(T) 1  "a"
                              Name 41  "Nestor"
                              MemberName 41(Nestor) 0  "nestorT"
                              Name 42  "Bt2"
                              MemberName 42(Bt2) 0  "nt"
                              Name 44  "Btn2"
                              Name 45  "Bt3"
                              MemberName 45(Bt3) 0  "ntcol"
                              MemberName 45(Bt3) 1  "ntrow"
                              Name 47  "Btn3"
                              Name 48  "T"
                              MemberName 48(T) 0  "m"
                              MemberName 48(T) 1  "a"
                              Name 49  "Nestor"
                              MemberName 49(Nestor) 0  "nestorT"
                              Name 50  "bBt1"
                              MemberName 50(bBt1) 0  "nt"
                              Name 52  "bBtn1"
                              Name 53  "T"
                              MemberName 53(T) 0  "m"
                              MemberName 53(T) 1  "a"
                              Name 54  "Nestor"
                              MemberName 54(Nestor) 0  "nestorT"
                              Name 55  "bBt2"
                              MemberName 55(bBt2) 0  "nt"
                              Name 57  "bBtn2"
                              Name 58  "bBt3"
                              MemberName 58(bBt3) 0  "ntcol"
                              MemberName 58(bBt3) 1  "ntrow"
                              Name 60  "bBtn3"
                              Name 62  "sout"
                              Name 63  "S"
                              MemberName 63(S) 0  "a"
                              MemberName 63(S) 1  "b"
                              MemberName 63(S) 2  "c"
                              Name 65  "soutinv"
                              Decorate 13 ArrayStride 32
                              MemberDecorate 14(S) 0 Offset 0
                              MemberDecorate 14(S) 1 ColMajor
                              MemberDecorate 14(S) 1 RelaxedPrecision
                              MemberDecorate 14(S) 1 Offset 16
                              MemberDecorate 14(S) 1 MatrixStride 16
                              MemberDecorate 14(S) 2 RelaxedPrecision
                              MemberDecorate 14(S) 2 Offset 144
                              Decorate 16 ArrayStride 160
                              Decorate 18 ArrayStride 480
                              MemberDecorate 19(Block140) 0 RelaxedPrecision
                              MemberDecorate 19(Block140) 0 Offset 0
                              MemberDecorate 19(Block140) 1 Offset 16
                              MemberDecorate 19(Block140) 2 RelaxedPrecision
                              MemberDecorate 19(Block140) 2 Offset 976
                              Decorate 19(Block140) Block
                              Decorate 21(inst140) DescriptorSet 0
                              Decorate 21(inst140) Binding 0
                              Decorate 22 ArrayStride 16
                              MemberDecorate 23(S) 0 Offset 0
                              MemberDecorate 23(S) 1 ColMajor
                              MemberDecorate 23(S) 1 RelaxedPrecision
                              MemberDecorate 23(S) 1 Offset 16
                              MemberDecorate 23(S) 1 MatrixStride 8
                              MemberDecorate 23(S) 2 RelaxedPrecision
                              MemberDecorate 23(S) 2 Offset 80
                              Decorate 24 ArrayStride 96
                              Decorate 25 ArrayStride 288
                              MemberDecorate 26(Block430) 0 RelaxedPrecision
                              MemberDecorate 26(Block430) 0 Offset 0
                              MemberDecorate 26(Block430) 1 Offset 16
                              MemberDecorate 26(Block430) 2 RelaxedPrecision
                              MemberDecorate 26(Block430) 2 Offset 592
                              Decorate 26(Block430) BufferBlock
                              Decorate 28(inst430) DescriptorSet 0
                              Decorate 28(inst430) Binding 1
                              MemberDecorate 29(S) 1 RelaxedPrecision
                              MemberDecorate 29(S) 2 RelaxedPrecision
                              MemberDecorate 35(T) 0 RowMajor
                              MemberDecorate 35(T) 0 Offset 0
                              MemberDecorate 35(T) 0 MatrixStride 16
                              MemberDecorate 35(T) 1 Offset 32
                              MemberDecorate 36(Nestor) 0 Offset 0
                              MemberDecorate 37(Bt1) 0 Offset 0
                              Decorate 37(Bt1) Block
                              Decorate 39(Btn1) DescriptorSet 1
                              Decorate 39(Btn1) Binding 0
                              MemberDecorate 40(T) 0 ColMajor
                              MemberDecorate 40(T) 0 Offset 0
                              MemberDecorate 40(T) 0 MatrixStride 16
                              MemberDecorate 40(T) 1 Offset 32
                              MemberDecorate 41(Nestor) 0 Offset 0
                              MemberDecorate 42(Bt2) 0 Offset 0
                              Decorate 42(Bt2) Block
                              Decorate 44(Btn2) DescriptorSet 1
                              Decorate 44(Btn2) Binding 0
                              MemberDecorate 45(Bt3) 0 Offset 0
                              MemberDecorate 45(Bt3) 1 Offset 48
                              Decorate 45(Bt3) Block
                              Decorate 47(Btn3) DescriptorSet 1
                              Decorate 47(Btn3) Binding 0
                              MemberDecorate 48(T) 0 RowMajor
                              MemberDecorate 48(T) 0 Offset 0
                              MemberDecorate 48(T) 0 MatrixStride 8
                              MemberDecorate 48(T) 1 Offset 16
                              MemberDecorate 49(Nestor) 0 Offset 0
                              MemberDecorate 50(bBt1) 0 Offset 0
                              Decorate 50(bBt1) BufferBlock
                              Decorate 52(bBtn1) DescriptorSet 1
                              Decorate 52(bBtn1) Binding 0
                              MemberDecorate 53(T) 0 ColMajor
                              MemberDecorate 53(T) 0 Offset 0
                              MemberDecorate 53(T) 0 MatrixStride 8
                              MemberDecorate 53(T) 1 Offset 16
                              MemberDecorate 54(Nestor) 0 Offset 0
                              MemberDecorate 55(bBt2) 0 Offset 0
                              Decorate 55(bBt2) BufferBlock
                              Decorate 57(bBtn2) DescriptorSet 1
                              Decorate 57(bBtn2) Binding 0
                              MemberDecorate 58(bBt3) 0 Offset 0
                              MemberDecorate 58(bBt3) 1 Offset 24
                              Decorate 58(bBt3) BufferBlock
                              Decorate 60(bBtn3) DescriptorSet 1
                              Decorate 60(bBtn3) Binding 0
                              Decorate 62(sout) Flat
                              Decorate 62(sout) Location 0
                              MemberDecorate 63(S) 0 Invariant
                              MemberDecorate 63(S) 1 RelaxedPrecision
                              MemberDecorate 63(S) 1 Invariant
                              MemberDecorate 63(S) 2 RelaxedPrecision
                              MemberDecorate 63(S) 2 Invariant
                              Decorate 65(soutinv) Location 10
                              Decorate 65(soutinv) Invariant
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeInt 32 0
               8:             TypeVector 7(int) 3
               9:             TypeFloat 32
              10:             TypeVector 9(float) 2
              11:             TypeMatrix 10(fvec2) 2
              12:      7(int) Constant 4
              13:             TypeArray 11 12
           14(S):             TypeStruct 8(ivec3) 13 7(int)
              15:      7(int) Constant 3
              16:             TypeArray 14(S) 15
              17:      7(int) Constant 2
              18:             TypeArray 16 17
    19(Block140):             TypeStruct 6(int) 18 10(fvec2)
              20:             TypePointer Uniform 19(Block140)
     21(inst140):     20(ptr) Variable Uniform
              22:             TypeArray 11 12
           23(S):             TypeStruct 8(ivec3) 22 7(int)
              24:             TypeArray 23(S) 15
              25:             TypeArray 24 17
    26(Block430):             TypeStruct 6(int) 25 10(fvec2)
              27:             TypePointer Uniform 26(Block430)
     28(inst430):     27(ptr) Variable Uniform
           29(S):             TypeStruct 8(ivec3) 13 7(int)
              30:             TypePointer Private 29(S)
           31(s):     30(ptr) Variable Private
           32(T):             TypeStruct 11 6(int)
              33:             TypePointer Private 32(T)
           34(t):     33(ptr) Variable Private
           35(T):             TypeStruct 11 6(int)
      36(Nestor):             TypeStruct 35(T)
         37(Bt1):             TypeStruct 36(Nestor)
              38:             TypePointer Uniform 37(Bt1)
        39(Btn1):     38(ptr) Variable Uniform
           40(T):             TypeStruct 11 6(int)
      41(Nestor):             TypeStruct 40(T)
         42(Bt2):             TypeStruct 41(Nestor)
              43:             TypePointer Uniform 42(Bt2)
        44(Btn2):     43(ptr) Variable Uniform
         45(Bt3):             TypeStruct 41(Nestor) 36(Nestor)
              46:             TypePointer Uniform 45(Bt3)
        47(Btn3):     46(ptr) Variable Uniform
           48(T):             TypeStruct 11 6(int)
      49(Nestor):             TypeStruct 48(T)
        50(bBt1):             TypeStruct 49(Nestor)
              51:             TypePointer Uniform 50(bBt1)
       52(bBtn1):     51(ptr) Variable Uniform
           53(T):             TypeStruct 11 6(int)
      54(Nestor):             TypeStruct 53(T)
        55(bBt2):             TypeStruct 54(Nestor)
              56:             TypePointer Uniform 55(bBt2)
       57(bBtn2):     56(ptr) Variable Uniform
        58(bBt3):             TypeStruct 49(Nestor) 54(Nestor)
              59:             TypePointer Uniform 58(bBt3)
       60(bBtn3):     59(ptr) Variable Uniform
              61:             TypePointer Output 29(S)
        62(sout):     61(ptr) Variable Output
           63(S):             TypeStruct 8(ivec3) 13 7(int)
              64:             TypePointer Output 63(S)
     65(soutinv):     64(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
