1spv.subgroupQuad.comp 2// Module Version 10300 3// Generated by (magic number): 8000a 4// Id's are bound by 616 5 6 Capability Shader 7 Capability Float64 8 Capability GroupNonUniform 9 Capability GroupNonUniformQuad 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel Logical GLSL450 12 EntryPoint GLCompute 4 "main" 10 12 13 ExecutionMode 4 LocalSize 8 1 1 14 Source GLSL 450 15 SourceExtension "GL_KHR_shader_subgroup_basic" 16 SourceExtension "GL_KHR_shader_subgroup_quad" 17 Name 4 "main" 18 Name 8 "invocation" 19 Name 10 "gl_SubgroupInvocationID" 20 Name 12 "gl_SubgroupSize" 21 Name 24 "Buffers" 22 MemberName 24(Buffers) 0 "f4" 23 MemberName 24(Buffers) 1 "i4" 24 MemberName 24(Buffers) 2 "u4" 25 MemberName 24(Buffers) 3 "d4" 26 Name 27 "data" 27 Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision 28 Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId 29 Decorate 11 RelaxedPrecision 30 Decorate 12(gl_SubgroupSize) RelaxedPrecision 31 Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize 32 Decorate 13 RelaxedPrecision 33 Decorate 14 RelaxedPrecision 34 Decorate 16 RelaxedPrecision 35 MemberDecorate 24(Buffers) 0 Offset 0 36 MemberDecorate 24(Buffers) 1 Offset 16 37 MemberDecorate 24(Buffers) 2 Offset 32 38 MemberDecorate 24(Buffers) 3 Offset 64 39 Decorate 24(Buffers) Block 40 Decorate 27(data) DescriptorSet 0 41 Decorate 27(data) Binding 0 42 Decorate 615 BuiltIn WorkgroupSize 43 2: TypeVoid 44 3: TypeFunction 2 45 6: TypeInt 32 0 46 7: TypePointer Function 6(int) 47 9: TypePointer Input 6(int) 4810(gl_SubgroupInvocationID): 9(ptr) Variable Input 4912(gl_SubgroupSize): 9(ptr) Variable Input 50 15: 6(int) Constant 4 51 17: TypeFloat 32 52 18: TypeVector 17(float) 4 53 19: TypeInt 32 1 54 20: TypeVector 19(int) 4 55 21: TypeVector 6(int) 4 56 22: TypeFloat 64 57 23: TypeVector 22(float64_t) 4 58 24(Buffers): TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 59 25: TypeArray 24(Buffers) 15 60 26: TypePointer StorageBuffer 25 61 27(data): 26(ptr) Variable StorageBuffer 62 29: 19(int) Constant 0 63 30: 6(int) Constant 0 64 31: TypePointer StorageBuffer 17(float) 65 34: 6(int) Constant 1 66 35: 6(int) Constant 3 67 39: 19(int) Constant 1 68 40: TypeVector 17(float) 2 69 41: TypePointer StorageBuffer 18(fvec4) 70 50: 19(int) Constant 2 71 51: TypeVector 17(float) 3 72 60: 19(int) Constant 3 73 66: TypePointer StorageBuffer 19(int) 74 72: TypeVector 19(int) 2 75 73: TypePointer StorageBuffer 20(ivec4) 76 82: TypeVector 19(int) 3 77 96: TypePointer StorageBuffer 6(int) 78 102: TypeVector 6(int) 2 79 103: TypePointer StorageBuffer 21(ivec4) 80 112: TypeVector 6(int) 3 81 126: TypePointer StorageBuffer 22(float64_t) 82 132: TypeVector 22(float64_t) 2 83 133: TypePointer StorageBuffer 23(f64vec4) 84 142: TypeVector 22(float64_t) 3 85 158: TypeBool 86 167: 72(ivec2) ConstantComposite 29 29 87 168: TypeVector 158(bool) 2 88 171: 72(ivec2) ConstantComposite 39 39 89 180: 82(ivec3) ConstantComposite 29 29 29 90 181: TypeVector 158(bool) 3 91 184: 82(ivec3) ConstantComposite 39 39 39 92 192: 20(ivec4) ConstantComposite 29 29 29 29 93 193: TypeVector 158(bool) 4 94 196: 20(ivec4) ConstantComposite 39 39 39 39 95 478: 6(int) Constant 2 96 614: 6(int) Constant 8 97 615: 112(ivec3) ConstantComposite 614 34 34 98 4(main): 2 Function None 3 99 5: Label 100 8(invocation): 7(ptr) Variable Function 101 11: 6(int) Load 10(gl_SubgroupInvocationID) 102 13: 6(int) Load 12(gl_SubgroupSize) 103 14: 6(int) IAdd 11 13 104 16: 6(int) UMod 14 15 105 Store 8(invocation) 16 106 28: 6(int) Load 8(invocation) 107 32: 31(ptr) AccessChain 27(data) 29 29 30 108 33: 17(float) Load 32 109 36: 17(float) GroupNonUniformQuadBroadcast 35 33 34 110 37: 31(ptr) AccessChain 27(data) 28 29 30 111 Store 37 36 112 38: 6(int) Load 8(invocation) 113 42: 41(ptr) AccessChain 27(data) 39 29 114 43: 18(fvec4) Load 42 115 44: 40(fvec2) VectorShuffle 43 43 0 1 116 45: 40(fvec2) GroupNonUniformQuadBroadcast 35 44 34 117 46: 41(ptr) AccessChain 27(data) 38 29 118 47: 18(fvec4) Load 46 119 48: 18(fvec4) VectorShuffle 47 45 4 5 2 3 120 Store 46 48 121 49: 6(int) Load 8(invocation) 122 52: 41(ptr) AccessChain 27(data) 50 29 123 53: 18(fvec4) Load 52 124 54: 51(fvec3) VectorShuffle 53 53 0 1 2 125 55: 51(fvec3) GroupNonUniformQuadBroadcast 35 54 34 126 56: 41(ptr) AccessChain 27(data) 49 29 127 57: 18(fvec4) Load 56 128 58: 18(fvec4) VectorShuffle 57 55 4 5 6 3 129 Store 56 58 130 59: 6(int) Load 8(invocation) 131 61: 41(ptr) AccessChain 27(data) 60 29 132 62: 18(fvec4) Load 61 133 63: 18(fvec4) GroupNonUniformQuadBroadcast 35 62 34 134 64: 41(ptr) AccessChain 27(data) 59 29 135 Store 64 63 136 65: 6(int) Load 8(invocation) 137 67: 66(ptr) AccessChain 27(data) 29 39 30 138 68: 19(int) Load 67 139 69: 19(int) GroupNonUniformQuadBroadcast 35 68 34 140 70: 66(ptr) AccessChain 27(data) 65 39 30 141 Store 70 69 142 71: 6(int) Load 8(invocation) 143 74: 73(ptr) AccessChain 27(data) 39 39 144 75: 20(ivec4) Load 74 145 76: 72(ivec2) VectorShuffle 75 75 0 1 146 77: 72(ivec2) GroupNonUniformQuadBroadcast 35 76 34 147 78: 73(ptr) AccessChain 27(data) 71 39 148 79: 20(ivec4) Load 78 149 80: 20(ivec4) VectorShuffle 79 77 4 5 2 3 150 Store 78 80 151 81: 6(int) Load 8(invocation) 152 83: 73(ptr) AccessChain 27(data) 50 39 153 84: 20(ivec4) Load 83 154 85: 82(ivec3) VectorShuffle 84 84 0 1 2 155 86: 82(ivec3) GroupNonUniformQuadBroadcast 35 85 34 156 87: 73(ptr) AccessChain 27(data) 81 39 157 88: 20(ivec4) Load 87 158 89: 20(ivec4) VectorShuffle 88 86 4 5 6 3 159 Store 87 89 160 90: 6(int) Load 8(invocation) 161 91: 73(ptr) AccessChain 27(data) 60 39 162 92: 20(ivec4) Load 91 163 93: 20(ivec4) GroupNonUniformQuadBroadcast 35 92 34 164 94: 73(ptr) AccessChain 27(data) 90 39 165 Store 94 93 166 95: 6(int) Load 8(invocation) 167 97: 96(ptr) AccessChain 27(data) 29 50 30 168 98: 6(int) Load 97 169 99: 6(int) GroupNonUniformQuadBroadcast 35 98 34 170 100: 96(ptr) AccessChain 27(data) 95 50 30 171 Store 100 99 172 101: 6(int) Load 8(invocation) 173 104: 103(ptr) AccessChain 27(data) 39 50 174 105: 21(ivec4) Load 104 175 106: 102(ivec2) VectorShuffle 105 105 0 1 176 107: 102(ivec2) GroupNonUniformQuadBroadcast 35 106 34 177 108: 103(ptr) AccessChain 27(data) 101 50 178 109: 21(ivec4) Load 108 179 110: 21(ivec4) VectorShuffle 109 107 4 5 2 3 180 Store 108 110 181 111: 6(int) Load 8(invocation) 182 113: 103(ptr) AccessChain 27(data) 50 50 183 114: 21(ivec4) Load 113 184 115: 112(ivec3) VectorShuffle 114 114 0 1 2 185 116: 112(ivec3) GroupNonUniformQuadBroadcast 35 115 34 186 117: 103(ptr) AccessChain 27(data) 111 50 187 118: 21(ivec4) Load 117 188 119: 21(ivec4) VectorShuffle 118 116 4 5 6 3 189 Store 117 119 190 120: 6(int) Load 8(invocation) 191 121: 103(ptr) AccessChain 27(data) 60 50 192 122: 21(ivec4) Load 121 193 123: 21(ivec4) GroupNonUniformQuadBroadcast 35 122 34 194 124: 103(ptr) AccessChain 27(data) 120 50 195 Store 124 123 196 125: 6(int) Load 8(invocation) 197 127: 126(ptr) AccessChain 27(data) 29 60 30 198 128:22(float64_t) Load 127 199 129:22(float64_t) GroupNonUniformQuadBroadcast 35 128 34 200 130: 126(ptr) AccessChain 27(data) 125 60 30 201 Store 130 129 202 131: 6(int) Load 8(invocation) 203 134: 133(ptr) AccessChain 27(data) 39 60 204 135: 23(f64vec4) Load 134 205 136:132(f64vec2) VectorShuffle 135 135 0 1 206 137:132(f64vec2) GroupNonUniformQuadBroadcast 35 136 34 207 138: 133(ptr) AccessChain 27(data) 131 60 208 139: 23(f64vec4) Load 138 209 140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3 210 Store 138 140 211 141: 6(int) Load 8(invocation) 212 143: 133(ptr) AccessChain 27(data) 50 60 213 144: 23(f64vec4) Load 143 214 145:142(f64vec3) VectorShuffle 144 144 0 1 2 215 146:142(f64vec3) GroupNonUniformQuadBroadcast 35 145 34 216 147: 133(ptr) AccessChain 27(data) 141 60 217 148: 23(f64vec4) Load 147 218 149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3 219 Store 147 149 220 150: 6(int) Load 8(invocation) 221 151: 133(ptr) AccessChain 27(data) 60 60 222 152: 23(f64vec4) Load 151 223 153: 23(f64vec4) GroupNonUniformQuadBroadcast 35 152 34 224 154: 133(ptr) AccessChain 27(data) 150 60 225 Store 154 153 226 155: 6(int) Load 8(invocation) 227 156: 66(ptr) AccessChain 27(data) 29 39 30 228 157: 19(int) Load 156 229 159: 158(bool) SLessThan 157 29 230 160: 158(bool) GroupNonUniformQuadBroadcast 35 159 34 231 161: 19(int) Select 160 39 29 232 162: 66(ptr) AccessChain 27(data) 155 39 30 233 Store 162 161 234 163: 6(int) Load 8(invocation) 235 164: 73(ptr) AccessChain 27(data) 39 39 236 165: 20(ivec4) Load 164 237 166: 72(ivec2) VectorShuffle 165 165 0 1 238 169: 168(bvec2) SLessThan 166 167 239 170: 168(bvec2) GroupNonUniformQuadBroadcast 35 169 34 240 172: 72(ivec2) Select 170 171 167 241 173: 73(ptr) AccessChain 27(data) 163 39 242 174: 20(ivec4) Load 173 243 175: 20(ivec4) VectorShuffle 174 172 4 5 2 3 244 Store 173 175 245 176: 6(int) Load 8(invocation) 246 177: 73(ptr) AccessChain 27(data) 39 39 247 178: 20(ivec4) Load 177 248 179: 82(ivec3) VectorShuffle 178 178 0 1 2 249 182: 181(bvec3) SLessThan 179 180 250 183: 181(bvec3) GroupNonUniformQuadBroadcast 35 182 34 251 185: 82(ivec3) Select 183 184 180 252 186: 73(ptr) AccessChain 27(data) 176 39 253 187: 20(ivec4) Load 186 254 188: 20(ivec4) VectorShuffle 187 185 4 5 6 3 255 Store 186 188 256 189: 6(int) Load 8(invocation) 257 190: 73(ptr) AccessChain 27(data) 39 39 258 191: 20(ivec4) Load 190 259 194: 193(bvec4) SLessThan 191 192 260 195: 193(bvec4) GroupNonUniformQuadBroadcast 35 194 34 261 197: 20(ivec4) Select 195 196 192 262 198: 73(ptr) AccessChain 27(data) 189 39 263 Store 198 197 264 199: 6(int) Load 8(invocation) 265 200: 31(ptr) AccessChain 27(data) 29 29 30 266 201: 17(float) Load 200 267 202: 17(float) GroupNonUniformQuadSwap 35 201 30 268 203: 31(ptr) AccessChain 27(data) 199 29 30 269 Store 203 202 270 204: 6(int) Load 8(invocation) 271 205: 41(ptr) AccessChain 27(data) 39 29 272 206: 18(fvec4) Load 205 273 207: 40(fvec2) VectorShuffle 206 206 0 1 274 208: 40(fvec2) GroupNonUniformQuadSwap 35 207 30 275 209: 41(ptr) AccessChain 27(data) 204 29 276 210: 18(fvec4) Load 209 277 211: 18(fvec4) VectorShuffle 210 208 4 5 2 3 278 Store 209 211 279 212: 6(int) Load 8(invocation) 280 213: 41(ptr) AccessChain 27(data) 50 29 281 214: 18(fvec4) Load 213 282 215: 51(fvec3) VectorShuffle 214 214 0 1 2 283 216: 51(fvec3) GroupNonUniformQuadSwap 35 215 30 284 217: 41(ptr) AccessChain 27(data) 212 29 285 218: 18(fvec4) Load 217 286 219: 18(fvec4) VectorShuffle 218 216 4 5 6 3 287 Store 217 219 288 220: 6(int) Load 8(invocation) 289 221: 41(ptr) AccessChain 27(data) 60 29 290 222: 18(fvec4) Load 221 291 223: 18(fvec4) GroupNonUniformQuadSwap 35 222 30 292 224: 41(ptr) AccessChain 27(data) 220 29 293 Store 224 223 294 225: 6(int) Load 8(invocation) 295 226: 66(ptr) AccessChain 27(data) 29 39 30 296 227: 19(int) Load 226 297 228: 19(int) GroupNonUniformQuadSwap 35 227 30 298 229: 66(ptr) AccessChain 27(data) 225 39 30 299 Store 229 228 300 230: 6(int) Load 8(invocation) 301 231: 73(ptr) AccessChain 27(data) 39 39 302 232: 20(ivec4) Load 231 303 233: 72(ivec2) VectorShuffle 232 232 0 1 304 234: 72(ivec2) GroupNonUniformQuadSwap 35 233 30 305 235: 73(ptr) AccessChain 27(data) 230 39 306 236: 20(ivec4) Load 235 307 237: 20(ivec4) VectorShuffle 236 234 4 5 2 3 308 Store 235 237 309 238: 6(int) Load 8(invocation) 310 239: 73(ptr) AccessChain 27(data) 50 39 311 240: 20(ivec4) Load 239 312 241: 82(ivec3) VectorShuffle 240 240 0 1 2 313 242: 82(ivec3) GroupNonUniformQuadSwap 35 241 30 314 243: 73(ptr) AccessChain 27(data) 238 39 315 244: 20(ivec4) Load 243 316 245: 20(ivec4) VectorShuffle 244 242 4 5 6 3 317 Store 243 245 318 246: 6(int) Load 8(invocation) 319 247: 73(ptr) AccessChain 27(data) 60 39 320 248: 20(ivec4) Load 247 321 249: 20(ivec4) GroupNonUniformQuadSwap 35 248 30 322 250: 73(ptr) AccessChain 27(data) 246 39 323 Store 250 249 324 251: 6(int) Load 8(invocation) 325 252: 96(ptr) AccessChain 27(data) 29 50 30 326 253: 6(int) Load 252 327 254: 6(int) GroupNonUniformQuadSwap 35 253 30 328 255: 96(ptr) AccessChain 27(data) 251 50 30 329 Store 255 254 330 256: 6(int) Load 8(invocation) 331 257: 103(ptr) AccessChain 27(data) 39 50 332 258: 21(ivec4) Load 257 333 259: 102(ivec2) VectorShuffle 258 258 0 1 334 260: 102(ivec2) GroupNonUniformQuadSwap 35 259 30 335 261: 103(ptr) AccessChain 27(data) 256 50 336 262: 21(ivec4) Load 261 337 263: 21(ivec4) VectorShuffle 262 260 4 5 2 3 338 Store 261 263 339 264: 6(int) Load 8(invocation) 340 265: 103(ptr) AccessChain 27(data) 50 50 341 266: 21(ivec4) Load 265 342 267: 112(ivec3) VectorShuffle 266 266 0 1 2 343 268: 112(ivec3) GroupNonUniformQuadSwap 35 267 30 344 269: 103(ptr) AccessChain 27(data) 264 50 345 270: 21(ivec4) Load 269 346 271: 21(ivec4) VectorShuffle 270 268 4 5 6 3 347 Store 269 271 348 272: 6(int) Load 8(invocation) 349 273: 103(ptr) AccessChain 27(data) 60 50 350 274: 21(ivec4) Load 273 351 275: 21(ivec4) GroupNonUniformQuadSwap 35 274 30 352 276: 103(ptr) AccessChain 27(data) 272 50 353 Store 276 275 354 277: 6(int) Load 8(invocation) 355 278: 126(ptr) AccessChain 27(data) 29 60 30 356 279:22(float64_t) Load 278 357 280:22(float64_t) GroupNonUniformQuadSwap 35 279 30 358 281: 126(ptr) AccessChain 27(data) 277 60 30 359 Store 281 280 360 282: 6(int) Load 8(invocation) 361 283: 133(ptr) AccessChain 27(data) 39 60 362 284: 23(f64vec4) Load 283 363 285:132(f64vec2) VectorShuffle 284 284 0 1 364 286:132(f64vec2) GroupNonUniformQuadSwap 35 285 30 365 287: 133(ptr) AccessChain 27(data) 282 60 366 288: 23(f64vec4) Load 287 367 289: 23(f64vec4) VectorShuffle 288 286 4 5 2 3 368 Store 287 289 369 290: 6(int) Load 8(invocation) 370 291: 133(ptr) AccessChain 27(data) 50 60 371 292: 23(f64vec4) Load 291 372 293:142(f64vec3) VectorShuffle 292 292 0 1 2 373 294:142(f64vec3) GroupNonUniformQuadSwap 35 293 30 374 295: 133(ptr) AccessChain 27(data) 290 60 375 296: 23(f64vec4) Load 295 376 297: 23(f64vec4) VectorShuffle 296 294 4 5 6 3 377 Store 295 297 378 298: 6(int) Load 8(invocation) 379 299: 133(ptr) AccessChain 27(data) 60 60 380 300: 23(f64vec4) Load 299 381 301: 23(f64vec4) GroupNonUniformQuadSwap 35 300 30 382 302: 133(ptr) AccessChain 27(data) 298 60 383 Store 302 301 384 303: 6(int) Load 8(invocation) 385 304: 66(ptr) AccessChain 27(data) 29 39 30 386 305: 19(int) Load 304 387 306: 158(bool) SLessThan 305 29 388 307: 158(bool) GroupNonUniformQuadSwap 35 306 30 389 308: 19(int) Select 307 39 29 390 309: 66(ptr) AccessChain 27(data) 303 39 30 391 Store 309 308 392 310: 6(int) Load 8(invocation) 393 311: 73(ptr) AccessChain 27(data) 39 39 394 312: 20(ivec4) Load 311 395 313: 72(ivec2) VectorShuffle 312 312 0 1 396 314: 168(bvec2) SLessThan 313 167 397 315: 168(bvec2) GroupNonUniformQuadSwap 35 314 30 398 316: 72(ivec2) Select 315 171 167 399 317: 73(ptr) AccessChain 27(data) 310 39 400 318: 20(ivec4) Load 317 401 319: 20(ivec4) VectorShuffle 318 316 4 5 2 3 402 Store 317 319 403 320: 6(int) Load 8(invocation) 404 321: 73(ptr) AccessChain 27(data) 39 39 405 322: 20(ivec4) Load 321 406 323: 82(ivec3) VectorShuffle 322 322 0 1 2 407 324: 181(bvec3) SLessThan 323 180 408 325: 181(bvec3) GroupNonUniformQuadSwap 35 324 30 409 326: 82(ivec3) Select 325 184 180 410 327: 73(ptr) AccessChain 27(data) 320 39 411 328: 20(ivec4) Load 327 412 329: 20(ivec4) VectorShuffle 328 326 4 5 6 3 413 Store 327 329 414 330: 6(int) Load 8(invocation) 415 331: 73(ptr) AccessChain 27(data) 39 39 416 332: 20(ivec4) Load 331 417 333: 193(bvec4) SLessThan 332 192 418 334: 193(bvec4) GroupNonUniformQuadSwap 35 333 30 419 335: 20(ivec4) Select 334 196 192 420 336: 73(ptr) AccessChain 27(data) 330 39 421 Store 336 335 422 337: 6(int) Load 8(invocation) 423 338: 31(ptr) AccessChain 27(data) 29 29 30 424 339: 17(float) Load 338 425 340: 17(float) GroupNonUniformQuadSwap 35 339 34 426 341: 31(ptr) AccessChain 27(data) 337 29 30 427 Store 341 340 428 342: 6(int) Load 8(invocation) 429 343: 41(ptr) AccessChain 27(data) 39 29 430 344: 18(fvec4) Load 343 431 345: 40(fvec2) VectorShuffle 344 344 0 1 432 346: 40(fvec2) GroupNonUniformQuadSwap 35 345 34 433 347: 41(ptr) AccessChain 27(data) 342 29 434 348: 18(fvec4) Load 347 435 349: 18(fvec4) VectorShuffle 348 346 4 5 2 3 436 Store 347 349 437 350: 6(int) Load 8(invocation) 438 351: 41(ptr) AccessChain 27(data) 50 29 439 352: 18(fvec4) Load 351 440 353: 51(fvec3) VectorShuffle 352 352 0 1 2 441 354: 51(fvec3) GroupNonUniformQuadSwap 35 353 34 442 355: 41(ptr) AccessChain 27(data) 350 29 443 356: 18(fvec4) Load 355 444 357: 18(fvec4) VectorShuffle 356 354 4 5 6 3 445 Store 355 357 446 358: 6(int) Load 8(invocation) 447 359: 41(ptr) AccessChain 27(data) 60 29 448 360: 18(fvec4) Load 359 449 361: 18(fvec4) GroupNonUniformQuadSwap 35 360 34 450 362: 41(ptr) AccessChain 27(data) 358 29 451 Store 362 361 452 363: 6(int) Load 8(invocation) 453 364: 66(ptr) AccessChain 27(data) 29 39 30 454 365: 19(int) Load 364 455 366: 19(int) GroupNonUniformQuadSwap 35 365 34 456 367: 66(ptr) AccessChain 27(data) 363 39 30 457 Store 367 366 458 368: 6(int) Load 8(invocation) 459 369: 73(ptr) AccessChain 27(data) 39 39 460 370: 20(ivec4) Load 369 461 371: 72(ivec2) VectorShuffle 370 370 0 1 462 372: 72(ivec2) GroupNonUniformQuadSwap 35 371 34 463 373: 73(ptr) AccessChain 27(data) 368 39 464 374: 20(ivec4) Load 373 465 375: 20(ivec4) VectorShuffle 374 372 4 5 2 3 466 Store 373 375 467 376: 6(int) Load 8(invocation) 468 377: 73(ptr) AccessChain 27(data) 50 39 469 378: 20(ivec4) Load 377 470 379: 82(ivec3) VectorShuffle 378 378 0 1 2 471 380: 82(ivec3) GroupNonUniformQuadSwap 35 379 34 472 381: 73(ptr) AccessChain 27(data) 376 39 473 382: 20(ivec4) Load 381 474 383: 20(ivec4) VectorShuffle 382 380 4 5 6 3 475 Store 381 383 476 384: 6(int) Load 8(invocation) 477 385: 73(ptr) AccessChain 27(data) 60 39 478 386: 20(ivec4) Load 385 479 387: 20(ivec4) GroupNonUniformQuadSwap 35 386 34 480 388: 73(ptr) AccessChain 27(data) 384 39 481 Store 388 387 482 389: 6(int) Load 8(invocation) 483 390: 96(ptr) AccessChain 27(data) 29 50 30 484 391: 6(int) Load 390 485 392: 6(int) GroupNonUniformQuadSwap 35 391 34 486 393: 96(ptr) AccessChain 27(data) 389 50 30 487 Store 393 392 488 394: 6(int) Load 8(invocation) 489 395: 103(ptr) AccessChain 27(data) 39 50 490 396: 21(ivec4) Load 395 491 397: 102(ivec2) VectorShuffle 396 396 0 1 492 398: 102(ivec2) GroupNonUniformQuadSwap 35 397 34 493 399: 103(ptr) AccessChain 27(data) 394 50 494 400: 21(ivec4) Load 399 495 401: 21(ivec4) VectorShuffle 400 398 4 5 2 3 496 Store 399 401 497 402: 6(int) Load 8(invocation) 498 403: 103(ptr) AccessChain 27(data) 50 50 499 404: 21(ivec4) Load 403 500 405: 112(ivec3) VectorShuffle 404 404 0 1 2 501 406: 112(ivec3) GroupNonUniformQuadSwap 35 405 34 502 407: 103(ptr) AccessChain 27(data) 402 50 503 408: 21(ivec4) Load 407 504 409: 21(ivec4) VectorShuffle 408 406 4 5 6 3 505 Store 407 409 506 410: 6(int) Load 8(invocation) 507 411: 103(ptr) AccessChain 27(data) 60 50 508 412: 21(ivec4) Load 411 509 413: 21(ivec4) GroupNonUniformQuadSwap 35 412 34 510 414: 103(ptr) AccessChain 27(data) 410 50 511 Store 414 413 512 415: 6(int) Load 8(invocation) 513 416: 126(ptr) AccessChain 27(data) 29 60 30 514 417:22(float64_t) Load 416 515 418:22(float64_t) GroupNonUniformQuadSwap 35 417 34 516 419: 126(ptr) AccessChain 27(data) 415 60 30 517 Store 419 418 518 420: 6(int) Load 8(invocation) 519 421: 133(ptr) AccessChain 27(data) 39 60 520 422: 23(f64vec4) Load 421 521 423:132(f64vec2) VectorShuffle 422 422 0 1 522 424:132(f64vec2) GroupNonUniformQuadSwap 35 423 34 523 425: 133(ptr) AccessChain 27(data) 420 60 524 426: 23(f64vec4) Load 425 525 427: 23(f64vec4) VectorShuffle 426 424 4 5 2 3 526 Store 425 427 527 428: 6(int) Load 8(invocation) 528 429: 133(ptr) AccessChain 27(data) 50 60 529 430: 23(f64vec4) Load 429 530 431:142(f64vec3) VectorShuffle 430 430 0 1 2 531 432:142(f64vec3) GroupNonUniformQuadSwap 35 431 34 532 433: 133(ptr) AccessChain 27(data) 428 60 533 434: 23(f64vec4) Load 433 534 435: 23(f64vec4) VectorShuffle 434 432 4 5 6 3 535 Store 433 435 536 436: 6(int) Load 8(invocation) 537 437: 133(ptr) AccessChain 27(data) 60 60 538 438: 23(f64vec4) Load 437 539 439: 23(f64vec4) GroupNonUniformQuadSwap 35 438 34 540 440: 133(ptr) AccessChain 27(data) 436 60 541 Store 440 439 542 441: 6(int) Load 8(invocation) 543 442: 66(ptr) AccessChain 27(data) 29 39 30 544 443: 19(int) Load 442 545 444: 158(bool) SLessThan 443 29 546 445: 158(bool) GroupNonUniformQuadSwap 35 444 34 547 446: 19(int) Select 445 39 29 548 447: 66(ptr) AccessChain 27(data) 441 39 30 549 Store 447 446 550 448: 6(int) Load 8(invocation) 551 449: 73(ptr) AccessChain 27(data) 39 39 552 450: 20(ivec4) Load 449 553 451: 72(ivec2) VectorShuffle 450 450 0 1 554 452: 168(bvec2) SLessThan 451 167 555 453: 168(bvec2) GroupNonUniformQuadSwap 35 452 34 556 454: 72(ivec2) Select 453 171 167 557 455: 73(ptr) AccessChain 27(data) 448 39 558 456: 20(ivec4) Load 455 559 457: 20(ivec4) VectorShuffle 456 454 4 5 2 3 560 Store 455 457 561 458: 6(int) Load 8(invocation) 562 459: 73(ptr) AccessChain 27(data) 39 39 563 460: 20(ivec4) Load 459 564 461: 82(ivec3) VectorShuffle 460 460 0 1 2 565 462: 181(bvec3) SLessThan 461 180 566 463: 181(bvec3) GroupNonUniformQuadSwap 35 462 34 567 464: 82(ivec3) Select 463 184 180 568 465: 73(ptr) AccessChain 27(data) 458 39 569 466: 20(ivec4) Load 465 570 467: 20(ivec4) VectorShuffle 466 464 4 5 6 3 571 Store 465 467 572 468: 6(int) Load 8(invocation) 573 469: 73(ptr) AccessChain 27(data) 39 39 574 470: 20(ivec4) Load 469 575 471: 193(bvec4) SLessThan 470 192 576 472: 193(bvec4) GroupNonUniformQuadSwap 35 471 34 577 473: 20(ivec4) Select 472 196 192 578 474: 73(ptr) AccessChain 27(data) 468 39 579 Store 474 473 580 475: 6(int) Load 8(invocation) 581 476: 31(ptr) AccessChain 27(data) 29 29 30 582 477: 17(float) Load 476 583 479: 17(float) GroupNonUniformQuadSwap 35 477 478 584 480: 31(ptr) AccessChain 27(data) 475 29 30 585 Store 480 479 586 481: 6(int) Load 8(invocation) 587 482: 41(ptr) AccessChain 27(data) 39 29 588 483: 18(fvec4) Load 482 589 484: 40(fvec2) VectorShuffle 483 483 0 1 590 485: 40(fvec2) GroupNonUniformQuadSwap 35 484 478 591 486: 41(ptr) AccessChain 27(data) 481 29 592 487: 18(fvec4) Load 486 593 488: 18(fvec4) VectorShuffle 487 485 4 5 2 3 594 Store 486 488 595 489: 6(int) Load 8(invocation) 596 490: 41(ptr) AccessChain 27(data) 50 29 597 491: 18(fvec4) Load 490 598 492: 51(fvec3) VectorShuffle 491 491 0 1 2 599 493: 51(fvec3) GroupNonUniformQuadSwap 35 492 478 600 494: 41(ptr) AccessChain 27(data) 489 29 601 495: 18(fvec4) Load 494 602 496: 18(fvec4) VectorShuffle 495 493 4 5 6 3 603 Store 494 496 604 497: 6(int) Load 8(invocation) 605 498: 41(ptr) AccessChain 27(data) 60 29 606 499: 18(fvec4) Load 498 607 500: 18(fvec4) GroupNonUniformQuadSwap 35 499 478 608 501: 41(ptr) AccessChain 27(data) 497 29 609 Store 501 500 610 502: 6(int) Load 8(invocation) 611 503: 66(ptr) AccessChain 27(data) 29 39 30 612 504: 19(int) Load 503 613 505: 19(int) GroupNonUniformQuadSwap 35 504 478 614 506: 66(ptr) AccessChain 27(data) 502 39 30 615 Store 506 505 616 507: 6(int) Load 8(invocation) 617 508: 73(ptr) AccessChain 27(data) 39 39 618 509: 20(ivec4) Load 508 619 510: 72(ivec2) VectorShuffle 509 509 0 1 620 511: 72(ivec2) GroupNonUniformQuadSwap 35 510 478 621 512: 73(ptr) AccessChain 27(data) 507 39 622 513: 20(ivec4) Load 512 623 514: 20(ivec4) VectorShuffle 513 511 4 5 2 3 624 Store 512 514 625 515: 6(int) Load 8(invocation) 626 516: 73(ptr) AccessChain 27(data) 50 39 627 517: 20(ivec4) Load 516 628 518: 82(ivec3) VectorShuffle 517 517 0 1 2 629 519: 82(ivec3) GroupNonUniformQuadSwap 35 518 478 630 520: 73(ptr) AccessChain 27(data) 515 39 631 521: 20(ivec4) Load 520 632 522: 20(ivec4) VectorShuffle 521 519 4 5 6 3 633 Store 520 522 634 523: 6(int) Load 8(invocation) 635 524: 73(ptr) AccessChain 27(data) 60 39 636 525: 20(ivec4) Load 524 637 526: 20(ivec4) GroupNonUniformQuadSwap 35 525 478 638 527: 73(ptr) AccessChain 27(data) 523 39 639 Store 527 526 640 528: 6(int) Load 8(invocation) 641 529: 96(ptr) AccessChain 27(data) 29 50 30 642 530: 6(int) Load 529 643 531: 6(int) GroupNonUniformQuadSwap 35 530 478 644 532: 96(ptr) AccessChain 27(data) 528 50 30 645 Store 532 531 646 533: 6(int) Load 8(invocation) 647 534: 103(ptr) AccessChain 27(data) 39 50 648 535: 21(ivec4) Load 534 649 536: 102(ivec2) VectorShuffle 535 535 0 1 650 537: 102(ivec2) GroupNonUniformQuadSwap 35 536 478 651 538: 103(ptr) AccessChain 27(data) 533 50 652 539: 21(ivec4) Load 538 653 540: 21(ivec4) VectorShuffle 539 537 4 5 2 3 654 Store 538 540 655 541: 6(int) Load 8(invocation) 656 542: 103(ptr) AccessChain 27(data) 50 50 657 543: 21(ivec4) Load 542 658 544: 112(ivec3) VectorShuffle 543 543 0 1 2 659 545: 112(ivec3) GroupNonUniformQuadSwap 35 544 478 660 546: 103(ptr) AccessChain 27(data) 541 50 661 547: 21(ivec4) Load 546 662 548: 21(ivec4) VectorShuffle 547 545 4 5 6 3 663 Store 546 548 664 549: 6(int) Load 8(invocation) 665 550: 103(ptr) AccessChain 27(data) 60 50 666 551: 21(ivec4) Load 550 667 552: 21(ivec4) GroupNonUniformQuadSwap 35 551 478 668 553: 103(ptr) AccessChain 27(data) 549 50 669 Store 553 552 670 554: 6(int) Load 8(invocation) 671 555: 126(ptr) AccessChain 27(data) 29 60 30 672 556:22(float64_t) Load 555 673 557:22(float64_t) GroupNonUniformQuadSwap 35 556 478 674 558: 126(ptr) AccessChain 27(data) 554 60 30 675 Store 558 557 676 559: 6(int) Load 8(invocation) 677 560: 133(ptr) AccessChain 27(data) 39 60 678 561: 23(f64vec4) Load 560 679 562:132(f64vec2) VectorShuffle 561 561 0 1 680 563:132(f64vec2) GroupNonUniformQuadSwap 35 562 478 681 564: 133(ptr) AccessChain 27(data) 559 60 682 565: 23(f64vec4) Load 564 683 566: 23(f64vec4) VectorShuffle 565 563 4 5 2 3 684 Store 564 566 685 567: 6(int) Load 8(invocation) 686 568: 133(ptr) AccessChain 27(data) 50 60 687 569: 23(f64vec4) Load 568 688 570:142(f64vec3) VectorShuffle 569 569 0 1 2 689 571:142(f64vec3) GroupNonUniformQuadSwap 35 570 478 690 572: 133(ptr) AccessChain 27(data) 567 60 691 573: 23(f64vec4) Load 572 692 574: 23(f64vec4) VectorShuffle 573 571 4 5 6 3 693 Store 572 574 694 575: 6(int) Load 8(invocation) 695 576: 133(ptr) AccessChain 27(data) 60 60 696 577: 23(f64vec4) Load 576 697 578: 23(f64vec4) GroupNonUniformQuadSwap 35 577 478 698 579: 133(ptr) AccessChain 27(data) 575 60 699 Store 579 578 700 580: 6(int) Load 8(invocation) 701 581: 66(ptr) AccessChain 27(data) 29 39 30 702 582: 19(int) Load 581 703 583: 158(bool) SLessThan 582 29 704 584: 158(bool) GroupNonUniformQuadSwap 35 583 478 705 585: 19(int) Select 584 39 29 706 586: 66(ptr) AccessChain 27(data) 580 39 30 707 Store 586 585 708 587: 6(int) Load 8(invocation) 709 588: 73(ptr) AccessChain 27(data) 39 39 710 589: 20(ivec4) Load 588 711 590: 72(ivec2) VectorShuffle 589 589 0 1 712 591: 168(bvec2) SLessThan 590 167 713 592: 168(bvec2) GroupNonUniformQuadSwap 35 591 478 714 593: 72(ivec2) Select 592 171 167 715 594: 73(ptr) AccessChain 27(data) 587 39 716 595: 20(ivec4) Load 594 717 596: 20(ivec4) VectorShuffle 595 593 4 5 2 3 718 Store 594 596 719 597: 6(int) Load 8(invocation) 720 598: 73(ptr) AccessChain 27(data) 39 39 721 599: 20(ivec4) Load 598 722 600: 82(ivec3) VectorShuffle 599 599 0 1 2 723 601: 181(bvec3) SLessThan 600 180 724 602: 181(bvec3) GroupNonUniformQuadSwap 35 601 478 725 603: 82(ivec3) Select 602 184 180 726 604: 73(ptr) AccessChain 27(data) 597 39 727 605: 20(ivec4) Load 604 728 606: 20(ivec4) VectorShuffle 605 603 4 5 6 3 729 Store 604 606 730 607: 6(int) Load 8(invocation) 731 608: 73(ptr) AccessChain 27(data) 39 39 732 609: 20(ivec4) Load 608 733 610: 193(bvec4) SLessThan 609 192 734 611: 193(bvec4) GroupNonUniformQuadSwap 35 610 478 735 612: 20(ivec4) Select 611 196 192 736 613: 73(ptr) AccessChain 27(data) 607 39 737 Store 613 612 738 Return 739 FunctionEnd 740