spv.multiStruct.comp
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 161

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 1 1 1
                              Source GLSL 450
                              Name 4  "main"
                              Name 12  "MyStruct"
                              MemberName 12(MyStruct) 0  "foo"
                              MemberName 12(MyStruct) 1  "sb"
                              Name 14  "t"
                              Name 16  "MyStruct"
                              MemberName 16(MyStruct) 0  "foo"
                              MemberName 16(MyStruct) 1  "sb"
                              Name 17  "SSBO0"
                              MemberName 17(SSBO0) 0  "a"
                              Name 19  "inBuf"
                              Name 39  "SSBO1"
                              MemberName 39(SSBO1) 0  "b"
                              Name 41  "outBuf"
                              Name 58  "MyStruct"
                              MemberName 58(MyStruct) 0  "foo"
                              MemberName 58(MyStruct) 1  "sb"
                              Name 59  "UBO"
                              MemberName 59(UBO) 0  "c"
                              Name 61  "uBuf"
                              Name 86  "Nested"
                              MemberName 86(Nested) 0  "f"
                              MemberName 86(Nested) 1  "S"
                              Name 88  "n"
                              Name 90  "Nested"
                              MemberName 90(Nested) 0  "f"
                              MemberName 90(Nested) 1  "S"
                              Name 91  "UBON"
                              MemberName 91(UBON) 0  "N1"
                              Name 93  "uBufN"
                              Name 126  "Nested"
                              MemberName 126(Nested) 0  "f"
                              MemberName 126(Nested) 1  "S"
                              Name 127  "SSBO1N"
                              MemberName 127(SSBO1N) 0  "N2"
                              Name 129  "outBufN"
                              Decorate 15 ArrayStride 8
                              MemberDecorate 16(MyStruct) 0 Offset 0
                              MemberDecorate 16(MyStruct) 1 Offset 16
                              MemberDecorate 17(SSBO0) 0 Offset 0
                              Decorate 17(SSBO0) BufferBlock
                              Decorate 19(inBuf) DescriptorSet 0
                              Decorate 19(inBuf) Binding 0
                              MemberDecorate 39(SSBO1) 0 Offset 0
                              Decorate 39(SSBO1) BufferBlock
                              Decorate 41(outBuf) DescriptorSet 0
                              Decorate 41(outBuf) Binding 1
                              Decorate 57 ArrayStride 16
                              MemberDecorate 58(MyStruct) 0 Offset 0
                              MemberDecorate 58(MyStruct) 1 Offset 32
                              MemberDecorate 59(UBO) 0 Offset 0
                              Decorate 59(UBO) Block
                              Decorate 61(uBuf) DescriptorSet 0
                              Decorate 61(uBuf) Binding 2
                              Decorate 89 ArrayStride 48
                              MemberDecorate 90(Nested) 0 Offset 0
                              MemberDecorate 90(Nested) 1 Offset 16
                              MemberDecorate 91(UBON) 0 Offset 0
                              Decorate 91(UBON) Block
                              Decorate 93(uBufN) DescriptorSet 0
                              Decorate 93(uBufN) Binding 2
                              Decorate 125 ArrayStride 24
                              MemberDecorate 126(Nested) 0 Offset 0
                              MemberDecorate 126(Nested) 1 Offset 8
                              MemberDecorate 127(SSBO1N) 0 Offset 0
                              Decorate 127(SSBO1N) BufferBlock
                              Decorate 129(outBufN) DescriptorSet 0
                              Decorate 129(outBufN) Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypeInt 32 0
               9:      8(int) Constant 2
              10:             TypeArray 7(fvec2) 9
              11:             TypeBool
    12(MyStruct):             TypeStruct 10 11(bool)
              13:             TypePointer Function 12(MyStruct)
              15:             TypeArray 7(fvec2) 9
    16(MyStruct):             TypeStruct 15 8(int)
       17(SSBO0):             TypeStruct 16(MyStruct)
              18:             TypePointer Uniform 17(SSBO0)
       19(inBuf):     18(ptr) Variable Uniform
              20:             TypeInt 32 1
              21:     20(int) Constant 0
              22:             TypePointer Uniform 16(MyStruct)
              26:             TypePointer Function 10
              29:             TypePointer Function 7(fvec2)
              32:     20(int) Constant 1
              35:      8(int) Constant 0
              37:             TypePointer Function 11(bool)
       39(SSBO1):             TypeStruct 16(MyStruct)
              40:             TypePointer Uniform 39(SSBO1)
      41(outBuf):     40(ptr) Variable Uniform
              45:             TypePointer Uniform 15
              48:             TypePointer Uniform 7(fvec2)
              53:      8(int) Constant 1
              55:             TypePointer Uniform 8(int)
              57:             TypeArray 7(fvec2) 9
    58(MyStruct):             TypeStruct 57 8(int)
         59(UBO):             TypeStruct 58(MyStruct)
              60:             TypePointer Uniform 59(UBO)
        61(uBuf):     60(ptr) Variable Uniform
              62:             TypePointer Uniform 58(MyStruct)
              85:             TypeArray 12(MyStruct) 9
      86(Nested):             TypeStruct 6(float) 85
              87:             TypePointer Function 86(Nested)
              89:             TypeArray 58(MyStruct) 9
      90(Nested):             TypeStruct 6(float) 89
        91(UBON):             TypeStruct 90(Nested)
              92:             TypePointer Uniform 91(UBON)
       93(uBufN):     92(ptr) Variable Uniform
              94:             TypePointer Uniform 90(Nested)
              98:             TypePointer Function 6(float)
             101:             TypePointer Function 85
             125:             TypeArray 16(MyStruct) 9
     126(Nested):             TypeStruct 6(float) 125
     127(SSBO1N):             TypeStruct 126(Nested)
             128:             TypePointer Uniform 127(SSBO1N)
    129(outBufN):    128(ptr) Variable Uniform
             131:             TypePointer Uniform 126(Nested)
             134:             TypePointer Uniform 6(float)
             137:             TypePointer Uniform 125
         4(main):           2 Function None 3
               5:             Label
           14(t):     13(ptr) Variable Function
           88(n):     87(ptr) Variable Function
              23:     22(ptr) AccessChain 19(inBuf) 21
              24:16(MyStruct) Load 23
              25:          15 CompositeExtract 24 0
              27:     26(ptr) AccessChain 14(t) 21
              28:    7(fvec2) CompositeExtract 25 0
              30:     29(ptr) AccessChain 27 21
                              Store 30 28
              31:    7(fvec2) CompositeExtract 25 1
              33:     29(ptr) AccessChain 27 32
                              Store 33 31
              34:      8(int) CompositeExtract 24 1
              36:    11(bool) INotEqual 34 35
              38:     37(ptr) AccessChain 14(t) 32
                              Store 38 36
              42:12(MyStruct) Load 14(t)
              43:     22(ptr) AccessChain 41(outBuf) 21
              44:          10 CompositeExtract 42 0
              46:     45(ptr) AccessChain 43 21
              47:    7(fvec2) CompositeExtract 44 0
              49:     48(ptr) AccessChain 46 21
                              Store 49 47
              50:    7(fvec2) CompositeExtract 44 1
              51:     48(ptr) AccessChain 46 32
                              Store 51 50
              52:    11(bool) CompositeExtract 42 1
              54:      8(int) Select 52 53 35
              56:     55(ptr) AccessChain 43 32
                              Store 56 54
              63:     62(ptr) AccessChain 61(uBuf) 21
              64:58(MyStruct) Load 63
              65:          57 CompositeExtract 64 0
              66:     26(ptr) AccessChain 14(t) 21
              67:    7(fvec2) CompositeExtract 65 0
              68:     29(ptr) AccessChain 66 21
                              Store 68 67
              69:    7(fvec2) CompositeExtract 65 1
              70:     29(ptr) AccessChain 66 32
                              Store 70 69
              71:      8(int) CompositeExtract 64 1
              72:    11(bool) INotEqual 71 35
              73:     37(ptr) AccessChain 14(t) 32
                              Store 73 72
              74:12(MyStruct) Load 14(t)
              75:     22(ptr) AccessChain 41(outBuf) 21
              76:          10 CompositeExtract 74 0
              77:     45(ptr) AccessChain 75 21
              78:    7(fvec2) CompositeExtract 76 0
              79:     48(ptr) AccessChain 77 21
                              Store 79 78
              80:    7(fvec2) CompositeExtract 76 1
              81:     48(ptr) AccessChain 77 32
                              Store 81 80
              82:    11(bool) CompositeExtract 74 1
              83:      8(int) Select 82 53 35
              84:     55(ptr) AccessChain 75 32
                              Store 84 83
              95:     94(ptr) AccessChain 93(uBufN) 21
              96:  90(Nested) Load 95
              97:    6(float) CompositeExtract 96 0
              99:     98(ptr) AccessChain 88(n) 21
                              Store 99 97
             100:          89 CompositeExtract 96 1
             102:    101(ptr) AccessChain 88(n) 32
             103:58(MyStruct) CompositeExtract 100 0
             104:     13(ptr) AccessChain 102 21
             105:          57 CompositeExtract 103 0
             106:     26(ptr) AccessChain 104 21
             107:    7(fvec2) CompositeExtract 105 0
             108:     29(ptr) AccessChain 106 21
                              Store 108 107
             109:    7(fvec2) CompositeExtract 105 1
             110:     29(ptr) AccessChain 106 32
                              Store 110 109
             111:      8(int) CompositeExtract 103 1
             112:    11(bool) INotEqual 111 35
             113:     37(ptr) AccessChain 104 32
                              Store 113 112
             114:58(MyStruct) CompositeExtract 100 1
             115:     13(ptr) AccessChain 102 32
             116:          57 CompositeExtract 114 0
             117:     26(ptr) AccessChain 115 21
             118:    7(fvec2) CompositeExtract 116 0
             119:     29(ptr) AccessChain 117 21
                              Store 119 118
             120:    7(fvec2) CompositeExtract 116 1
             121:     29(ptr) AccessChain 117 32
                              Store 121 120
             122:      8(int) CompositeExtract 114 1
             123:    11(bool) INotEqual 122 35
             124:     37(ptr) AccessChain 115 32
                              Store 124 123
             130:  86(Nested) Load 88(n)
             132:    131(ptr) AccessChain 129(outBufN) 21
             133:    6(float) CompositeExtract 130 0
             135:    134(ptr) AccessChain 132 21
                              Store 135 133
             136:          85 CompositeExtract 130 1
             138:    137(ptr) AccessChain 132 32
             139:12(MyStruct) CompositeExtract 136 0
             140:     22(ptr) AccessChain 138 21
             141:          10 CompositeExtract 139 0
             142:     45(ptr) AccessChain 140 21
             143:    7(fvec2) CompositeExtract 141 0
             144:     48(ptr) AccessChain 142 21
                              Store 144 143
             145:    7(fvec2) CompositeExtract 141 1
             146:     48(ptr) AccessChain 142 32
                              Store 146 145
             147:    11(bool) CompositeExtract 139 1
             148:      8(int) Select 147 53 35
             149:     55(ptr) AccessChain 140 32
                              Store 149 148
             150:12(MyStruct) CompositeExtract 136 1
             151:     22(ptr) AccessChain 138 32
             152:          10 CompositeExtract 150 0
             153:     45(ptr) AccessChain 151 21
             154:    7(fvec2) CompositeExtract 152 0
             155:     48(ptr) AccessChain 153 21
                              Store 155 154
             156:    7(fvec2) CompositeExtract 152 1
             157:     48(ptr) AccessChain 153 32
                              Store 157 156
             158:    11(bool) CompositeExtract 150 1
             159:      8(int) Select 158 53 35
             160:     55(ptr) AccessChain 151 32
                              Store 160 159
                              Return
                              FunctionEnd
