spv.multiStruct.comp
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.


Linked compute stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 157

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