spv.layoutNested.vert
// Module Version 10000
// Generated by (magic number): 80006
// 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
                              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) 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
