1spv.multiStruct.comp 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 161 5 6 Capability Shader 7 1: ExtInstImport "GLSL.std.450" 8 MemoryModel Logical GLSL450 9 EntryPoint GLCompute 4 "main" 10 ExecutionMode 4 LocalSize 1 1 1 11 Source GLSL 450 12 Name 4 "main" 13 Name 12 "MyStruct" 14 MemberName 12(MyStruct) 0 "foo" 15 MemberName 12(MyStruct) 1 "sb" 16 Name 14 "t" 17 Name 16 "MyStruct" 18 MemberName 16(MyStruct) 0 "foo" 19 MemberName 16(MyStruct) 1 "sb" 20 Name 17 "SSBO0" 21 MemberName 17(SSBO0) 0 "a" 22 Name 19 "inBuf" 23 Name 39 "SSBO1" 24 MemberName 39(SSBO1) 0 "b" 25 Name 41 "outBuf" 26 Name 58 "MyStruct" 27 MemberName 58(MyStruct) 0 "foo" 28 MemberName 58(MyStruct) 1 "sb" 29 Name 59 "UBO" 30 MemberName 59(UBO) 0 "c" 31 Name 61 "uBuf" 32 Name 86 "Nested" 33 MemberName 86(Nested) 0 "f" 34 MemberName 86(Nested) 1 "S" 35 Name 88 "n" 36 Name 90 "Nested" 37 MemberName 90(Nested) 0 "f" 38 MemberName 90(Nested) 1 "S" 39 Name 91 "UBON" 40 MemberName 91(UBON) 0 "N1" 41 Name 93 "uBufN" 42 Name 126 "Nested" 43 MemberName 126(Nested) 0 "f" 44 MemberName 126(Nested) 1 "S" 45 Name 127 "SSBO1N" 46 MemberName 127(SSBO1N) 0 "N2" 47 Name 129 "outBufN" 48 Decorate 15 ArrayStride 8 49 MemberDecorate 16(MyStruct) 0 Offset 0 50 MemberDecorate 16(MyStruct) 1 Offset 16 51 MemberDecorate 17(SSBO0) 0 Offset 0 52 Decorate 17(SSBO0) BufferBlock 53 Decorate 19(inBuf) DescriptorSet 0 54 Decorate 19(inBuf) Binding 0 55 MemberDecorate 39(SSBO1) 0 Offset 0 56 Decorate 39(SSBO1) BufferBlock 57 Decorate 41(outBuf) DescriptorSet 0 58 Decorate 41(outBuf) Binding 1 59 Decorate 57 ArrayStride 16 60 MemberDecorate 58(MyStruct) 0 Offset 0 61 MemberDecorate 58(MyStruct) 1 Offset 32 62 MemberDecorate 59(UBO) 0 Offset 0 63 Decorate 59(UBO) Block 64 Decorate 61(uBuf) DescriptorSet 0 65 Decorate 61(uBuf) Binding 2 66 Decorate 89 ArrayStride 48 67 MemberDecorate 90(Nested) 0 Offset 0 68 MemberDecorate 90(Nested) 1 Offset 16 69 MemberDecorate 91(UBON) 0 Offset 0 70 Decorate 91(UBON) Block 71 Decorate 93(uBufN) DescriptorSet 0 72 Decorate 93(uBufN) Binding 2 73 Decorate 125 ArrayStride 24 74 MemberDecorate 126(Nested) 0 Offset 0 75 MemberDecorate 126(Nested) 1 Offset 8 76 MemberDecorate 127(SSBO1N) 0 Offset 0 77 Decorate 127(SSBO1N) BufferBlock 78 Decorate 129(outBufN) DescriptorSet 0 79 Decorate 129(outBufN) Binding 1 80 2: TypeVoid 81 3: TypeFunction 2 82 6: TypeFloat 32 83 7: TypeVector 6(float) 2 84 8: TypeInt 32 0 85 9: 8(int) Constant 2 86 10: TypeArray 7(fvec2) 9 87 11: TypeBool 88 12(MyStruct): TypeStruct 10 11(bool) 89 13: TypePointer Function 12(MyStruct) 90 15: TypeArray 7(fvec2) 9 91 16(MyStruct): TypeStruct 15 8(int) 92 17(SSBO0): TypeStruct 16(MyStruct) 93 18: TypePointer Uniform 17(SSBO0) 94 19(inBuf): 18(ptr) Variable Uniform 95 20: TypeInt 32 1 96 21: 20(int) Constant 0 97 22: TypePointer Uniform 16(MyStruct) 98 26: TypePointer Function 10 99 29: TypePointer Function 7(fvec2) 100 32: 20(int) Constant 1 101 35: 8(int) Constant 0 102 37: TypePointer Function 11(bool) 103 39(SSBO1): TypeStruct 16(MyStruct) 104 40: TypePointer Uniform 39(SSBO1) 105 41(outBuf): 40(ptr) Variable Uniform 106 45: TypePointer Uniform 15 107 48: TypePointer Uniform 7(fvec2) 108 53: 8(int) Constant 1 109 55: TypePointer Uniform 8(int) 110 57: TypeArray 7(fvec2) 9 111 58(MyStruct): TypeStruct 57 8(int) 112 59(UBO): TypeStruct 58(MyStruct) 113 60: TypePointer Uniform 59(UBO) 114 61(uBuf): 60(ptr) Variable Uniform 115 62: TypePointer Uniform 58(MyStruct) 116 85: TypeArray 12(MyStruct) 9 117 86(Nested): TypeStruct 6(float) 85 118 87: TypePointer Function 86(Nested) 119 89: TypeArray 58(MyStruct) 9 120 90(Nested): TypeStruct 6(float) 89 121 91(UBON): TypeStruct 90(Nested) 122 92: TypePointer Uniform 91(UBON) 123 93(uBufN): 92(ptr) Variable Uniform 124 94: TypePointer Uniform 90(Nested) 125 98: TypePointer Function 6(float) 126 101: TypePointer Function 85 127 125: TypeArray 16(MyStruct) 9 128 126(Nested): TypeStruct 6(float) 125 129 127(SSBO1N): TypeStruct 126(Nested) 130 128: TypePointer Uniform 127(SSBO1N) 131 129(outBufN): 128(ptr) Variable Uniform 132 131: TypePointer Uniform 126(Nested) 133 134: TypePointer Uniform 6(float) 134 137: TypePointer Uniform 125 135 4(main): 2 Function None 3 136 5: Label 137 14(t): 13(ptr) Variable Function 138 88(n): 87(ptr) Variable Function 139 23: 22(ptr) AccessChain 19(inBuf) 21 140 24:16(MyStruct) Load 23 141 25: 15 CompositeExtract 24 0 142 27: 26(ptr) AccessChain 14(t) 21 143 28: 7(fvec2) CompositeExtract 25 0 144 30: 29(ptr) AccessChain 27 21 145 Store 30 28 146 31: 7(fvec2) CompositeExtract 25 1 147 33: 29(ptr) AccessChain 27 32 148 Store 33 31 149 34: 8(int) CompositeExtract 24 1 150 36: 11(bool) INotEqual 34 35 151 38: 37(ptr) AccessChain 14(t) 32 152 Store 38 36 153 42:12(MyStruct) Load 14(t) 154 43: 22(ptr) AccessChain 41(outBuf) 21 155 44: 10 CompositeExtract 42 0 156 46: 45(ptr) AccessChain 43 21 157 47: 7(fvec2) CompositeExtract 44 0 158 49: 48(ptr) AccessChain 46 21 159 Store 49 47 160 50: 7(fvec2) CompositeExtract 44 1 161 51: 48(ptr) AccessChain 46 32 162 Store 51 50 163 52: 11(bool) CompositeExtract 42 1 164 54: 8(int) Select 52 53 35 165 56: 55(ptr) AccessChain 43 32 166 Store 56 54 167 63: 62(ptr) AccessChain 61(uBuf) 21 168 64:58(MyStruct) Load 63 169 65: 57 CompositeExtract 64 0 170 66: 26(ptr) AccessChain 14(t) 21 171 67: 7(fvec2) CompositeExtract 65 0 172 68: 29(ptr) AccessChain 66 21 173 Store 68 67 174 69: 7(fvec2) CompositeExtract 65 1 175 70: 29(ptr) AccessChain 66 32 176 Store 70 69 177 71: 8(int) CompositeExtract 64 1 178 72: 11(bool) INotEqual 71 35 179 73: 37(ptr) AccessChain 14(t) 32 180 Store 73 72 181 74:12(MyStruct) Load 14(t) 182 75: 22(ptr) AccessChain 41(outBuf) 21 183 76: 10 CompositeExtract 74 0 184 77: 45(ptr) AccessChain 75 21 185 78: 7(fvec2) CompositeExtract 76 0 186 79: 48(ptr) AccessChain 77 21 187 Store 79 78 188 80: 7(fvec2) CompositeExtract 76 1 189 81: 48(ptr) AccessChain 77 32 190 Store 81 80 191 82: 11(bool) CompositeExtract 74 1 192 83: 8(int) Select 82 53 35 193 84: 55(ptr) AccessChain 75 32 194 Store 84 83 195 95: 94(ptr) AccessChain 93(uBufN) 21 196 96: 90(Nested) Load 95 197 97: 6(float) CompositeExtract 96 0 198 99: 98(ptr) AccessChain 88(n) 21 199 Store 99 97 200 100: 89 CompositeExtract 96 1 201 102: 101(ptr) AccessChain 88(n) 32 202 103:58(MyStruct) CompositeExtract 100 0 203 104: 13(ptr) AccessChain 102 21 204 105: 57 CompositeExtract 103 0 205 106: 26(ptr) AccessChain 104 21 206 107: 7(fvec2) CompositeExtract 105 0 207 108: 29(ptr) AccessChain 106 21 208 Store 108 107 209 109: 7(fvec2) CompositeExtract 105 1 210 110: 29(ptr) AccessChain 106 32 211 Store 110 109 212 111: 8(int) CompositeExtract 103 1 213 112: 11(bool) INotEqual 111 35 214 113: 37(ptr) AccessChain 104 32 215 Store 113 112 216 114:58(MyStruct) CompositeExtract 100 1 217 115: 13(ptr) AccessChain 102 32 218 116: 57 CompositeExtract 114 0 219 117: 26(ptr) AccessChain 115 21 220 118: 7(fvec2) CompositeExtract 116 0 221 119: 29(ptr) AccessChain 117 21 222 Store 119 118 223 120: 7(fvec2) CompositeExtract 116 1 224 121: 29(ptr) AccessChain 117 32 225 Store 121 120 226 122: 8(int) CompositeExtract 114 1 227 123: 11(bool) INotEqual 122 35 228 124: 37(ptr) AccessChain 115 32 229 Store 124 123 230 130: 86(Nested) Load 88(n) 231 132: 131(ptr) AccessChain 129(outBufN) 21 232 133: 6(float) CompositeExtract 130 0 233 135: 134(ptr) AccessChain 132 21 234 Store 135 133 235 136: 85 CompositeExtract 130 1 236 138: 137(ptr) AccessChain 132 32 237 139:12(MyStruct) CompositeExtract 136 0 238 140: 22(ptr) AccessChain 138 21 239 141: 10 CompositeExtract 139 0 240 142: 45(ptr) AccessChain 140 21 241 143: 7(fvec2) CompositeExtract 141 0 242 144: 48(ptr) AccessChain 142 21 243 Store 144 143 244 145: 7(fvec2) CompositeExtract 141 1 245 146: 48(ptr) AccessChain 142 32 246 Store 146 145 247 147: 11(bool) CompositeExtract 139 1 248 148: 8(int) Select 147 53 35 249 149: 55(ptr) AccessChain 140 32 250 Store 149 148 251 150:12(MyStruct) CompositeExtract 136 1 252 151: 22(ptr) AccessChain 138 32 253 152: 10 CompositeExtract 150 0 254 153: 45(ptr) AccessChain 151 21 255 154: 7(fvec2) CompositeExtract 152 0 256 155: 48(ptr) AccessChain 153 21 257 Store 155 154 258 156: 7(fvec2) CompositeExtract 152 1 259 157: 48(ptr) AccessChain 153 32 260 Store 157 156 261 158: 11(bool) CompositeExtract 150 1 262 159: 8(int) Select 158 53 35 263 160: 55(ptr) AccessChain 151 32 264 Store 160 159 265 Return 266 FunctionEnd 267