1spv.subgroupBallot.comp 2// Module Version 10300 3// Generated by (magic number): 8000a 4// Id's are bound by 397 5 6 Capability Shader 7 Capability Float64 8 Capability GroupNonUniform 9 Capability GroupNonUniformBallot 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel Logical GLSL450 12 EntryPoint GLCompute 4 "main" 10 12 21 23 26 29 32 13 ExecutionMode 4 LocalSize 8 8 1 14 Source GLSL 450 15 SourceExtension "GL_KHR_shader_subgroup_ballot" 16 SourceExtension "GL_KHR_shader_subgroup_basic" 17 Name 4 "main" 18 Name 8 "invocation" 19 Name 10 "gl_SubgroupInvocationID" 20 Name 12 "gl_SubgroupSize" 21 Name 19 "relMask" 22 Name 21 "gl_SubgroupEqMask" 23 Name 23 "gl_SubgroupGeMask" 24 Name 26 "gl_SubgroupGtMask" 25 Name 29 "gl_SubgroupLeMask" 26 Name 32 "gl_SubgroupLtMask" 27 Name 35 "result" 28 Name 46 "Buffers" 29 MemberName 46(Buffers) 0 "f4" 30 MemberName 46(Buffers) 1 "i4" 31 MemberName 46(Buffers) 2 "u4" 32 MemberName 46(Buffers) 3 "d4" 33 Name 49 "data" 34 Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision 35 Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId 36 Decorate 11 RelaxedPrecision 37 Decorate 12(gl_SubgroupSize) RelaxedPrecision 38 Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize 39 Decorate 13 RelaxedPrecision 40 Decorate 14 RelaxedPrecision 41 Decorate 16 RelaxedPrecision 42 Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR 43 Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR 44 Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR 45 Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR 46 Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR 47 MemberDecorate 46(Buffers) 0 Offset 0 48 MemberDecorate 46(Buffers) 1 Offset 16 49 MemberDecorate 46(Buffers) 2 Offset 32 50 MemberDecorate 46(Buffers) 3 Offset 64 51 Decorate 46(Buffers) Block 52 Decorate 49(data) DescriptorSet 0 53 Decorate 49(data) Binding 0 54 Decorate 396 BuiltIn WorkgroupSize 55 2: TypeVoid 56 3: TypeFunction 2 57 6: TypeInt 32 0 58 7: TypePointer Function 6(int) 59 9: TypePointer Input 6(int) 6010(gl_SubgroupInvocationID): 9(ptr) Variable Input 6112(gl_SubgroupSize): 9(ptr) Variable Input 62 15: 6(int) Constant 4 63 17: TypeVector 6(int) 4 64 18: TypePointer Function 17(ivec4) 65 20: TypePointer Input 17(ivec4) 6621(gl_SubgroupEqMask): 20(ptr) Variable Input 6723(gl_SubgroupGeMask): 20(ptr) Variable Input 6826(gl_SubgroupGtMask): 20(ptr) Variable Input 6929(gl_SubgroupLeMask): 20(ptr) Variable Input 7032(gl_SubgroupLtMask): 20(ptr) Variable Input 71 36: TypeBool 72 37: 36(bool) ConstantTrue 73 38: 6(int) Constant 3 74 40: TypeFloat 32 75 41: TypeVector 40(float) 4 76 42: TypeInt 32 1 77 43: TypeVector 42(int) 4 78 44: TypeFloat 64 79 45: TypeVector 44(float64_t) 4 80 46(Buffers): TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4) 81 47: TypeArray 46(Buffers) 15 82 48: TypePointer StorageBuffer 47 83 49(data): 48(ptr) Variable StorageBuffer 84 51: 42(int) Constant 2 85 54: 6(int) Constant 0 86 55: TypePointer StorageBuffer 6(int) 87 60: 42(int) Constant 1 88 61: 42(int) Constant 0 89 64: 6(int) Constant 1 90 72: 6(int) Constant 2 91 83: TypeVector 36(bool) 4 92 88: TypePointer StorageBuffer 17(ivec4) 93 96: TypePointer StorageBuffer 40(float) 94 102: TypeVector 40(float) 2 95 103: TypePointer StorageBuffer 41(fvec4) 96 112: TypeVector 40(float) 3 97 121: 42(int) Constant 3 98 127: TypePointer StorageBuffer 42(int) 99 133: TypeVector 42(int) 2 100 134: TypePointer StorageBuffer 43(ivec4) 101 143: TypeVector 42(int) 3 102 162: TypeVector 6(int) 2 103 171: TypeVector 6(int) 3 104 185: TypePointer StorageBuffer 44(float64_t) 105 191: TypeVector 44(float64_t) 2 106 192: TypePointer StorageBuffer 45(f64vec4) 107 201: TypeVector 44(float64_t) 3 108 225: 133(ivec2) ConstantComposite 61 61 109 226: TypeVector 36(bool) 2 110 229: 133(ivec2) ConstantComposite 60 60 111 238: 143(ivec3) ConstantComposite 61 61 61 112 239: TypeVector 36(bool) 3 113 242: 143(ivec3) ConstantComposite 60 60 60 114 250: 43(ivec4) ConstantComposite 61 61 61 61 115 253: 43(ivec4) ConstantComposite 60 60 60 60 116 395: 6(int) Constant 8 117 396: 171(ivec3) ConstantComposite 395 395 64 118 4(main): 2 Function None 3 119 5: Label 120 8(invocation): 7(ptr) Variable Function 121 19(relMask): 18(ptr) Variable Function 122 35(result): 18(ptr) Variable Function 123 11: 6(int) Load 10(gl_SubgroupInvocationID) 124 13: 6(int) Load 12(gl_SubgroupSize) 125 14: 6(int) IAdd 11 13 126 16: 6(int) UMod 14 15 127 Store 8(invocation) 16 128 22: 17(ivec4) Load 21(gl_SubgroupEqMask) 129 24: 17(ivec4) Load 23(gl_SubgroupGeMask) 130 25: 17(ivec4) IAdd 22 24 131 27: 17(ivec4) Load 26(gl_SubgroupGtMask) 132 28: 17(ivec4) IAdd 25 27 133 30: 17(ivec4) Load 29(gl_SubgroupLeMask) 134 31: 17(ivec4) IAdd 28 30 135 33: 17(ivec4) Load 32(gl_SubgroupLtMask) 136 34: 17(ivec4) IAdd 31 33 137 Store 19(relMask) 34 138 39: 17(ivec4) GroupNonUniformBallot 38 37 139 Store 35(result) 39 140 50: 6(int) Load 8(invocation) 141 52: 17(ivec4) Load 35(result) 142 53: 6(int) GroupNonUniformBallotBitCount 38 Reduce 52 143 56: 55(ptr) AccessChain 49(data) 50 51 54 144 Store 56 53 145 57: 6(int) Load 8(invocation) 146 58: 17(ivec4) Load 35(result) 147 59: 36(bool) GroupNonUniformBallotBitExtract 38 58 54 148 62: 42(int) Select 59 60 61 149 63: 6(int) Bitcast 62 150 65: 55(ptr) AccessChain 49(data) 57 51 64 151 Store 65 63 152 66: 6(int) Load 8(invocation) 153 67: 17(ivec4) Load 35(result) 154 68: 6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67 155 69: 17(ivec4) Load 35(result) 156 70: 6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69 157 71: 6(int) IAdd 68 70 158 73: 55(ptr) AccessChain 49(data) 66 51 72 159 Store 73 71 160 74: 6(int) Load 8(invocation) 161 75: 17(ivec4) Load 35(result) 162 76: 6(int) GroupNonUniformBallotFindLSB 38 75 163 77: 17(ivec4) Load 35(result) 164 78: 6(int) GroupNonUniformBallotFindMSB 38 77 165 79: 6(int) IAdd 76 78 166 80: 55(ptr) AccessChain 49(data) 74 51 38 167 Store 80 79 168 81: 17(ivec4) Load 19(relMask) 169 82: 17(ivec4) Load 35(result) 170 84: 83(bvec4) IEqual 81 82 171 85: 36(bool) All 84 172 SelectionMerge 87 None 173 BranchConditional 85 86 87 174 86: Label 175 89: 88(ptr) AccessChain 49(data) 61 51 176 90: 17(ivec4) Load 89 177 91: 36(bool) GroupNonUniformInverseBallot 38 90 178 Branch 87 179 87: Label 180 92: 36(bool) Phi 85 5 91 86 181 SelectionMerge 94 None 182 BranchConditional 92 93 256 183 93: Label 184 95: 6(int) Load 8(invocation) 185 97: 96(ptr) AccessChain 49(data) 61 61 54 186 98: 40(float) Load 97 187 99: 40(float) GroupNonUniformBroadcast 38 98 38 188 100: 96(ptr) AccessChain 49(data) 95 61 54 189 Store 100 99 190 101: 6(int) Load 8(invocation) 191 104: 103(ptr) AccessChain 49(data) 60 61 192 105: 41(fvec4) Load 104 193 106: 102(fvec2) VectorShuffle 105 105 0 1 194 107: 102(fvec2) GroupNonUniformBroadcast 38 106 38 195 108: 103(ptr) AccessChain 49(data) 101 61 196 109: 41(fvec4) Load 108 197 110: 41(fvec4) VectorShuffle 109 107 4 5 2 3 198 Store 108 110 199 111: 6(int) Load 8(invocation) 200 113: 103(ptr) AccessChain 49(data) 51 61 201 114: 41(fvec4) Load 113 202 115: 112(fvec3) VectorShuffle 114 114 0 1 2 203 116: 112(fvec3) GroupNonUniformBroadcast 38 115 38 204 117: 103(ptr) AccessChain 49(data) 111 61 205 118: 41(fvec4) Load 117 206 119: 41(fvec4) VectorShuffle 118 116 4 5 6 3 207 Store 117 119 208 120: 6(int) Load 8(invocation) 209 122: 103(ptr) AccessChain 49(data) 121 61 210 123: 41(fvec4) Load 122 211 124: 41(fvec4) GroupNonUniformBroadcast 38 123 38 212 125: 103(ptr) AccessChain 49(data) 120 61 213 Store 125 124 214 126: 6(int) Load 8(invocation) 215 128: 127(ptr) AccessChain 49(data) 61 60 54 216 129: 42(int) Load 128 217 130: 42(int) GroupNonUniformBroadcast 38 129 72 218 131: 127(ptr) AccessChain 49(data) 126 60 54 219 Store 131 130 220 132: 6(int) Load 8(invocation) 221 135: 134(ptr) AccessChain 49(data) 60 60 222 136: 43(ivec4) Load 135 223 137: 133(ivec2) VectorShuffle 136 136 0 1 224 138: 133(ivec2) GroupNonUniformBroadcast 38 137 72 225 139: 134(ptr) AccessChain 49(data) 132 60 226 140: 43(ivec4) Load 139 227 141: 43(ivec4) VectorShuffle 140 138 4 5 2 3 228 Store 139 141 229 142: 6(int) Load 8(invocation) 230 144: 134(ptr) AccessChain 49(data) 51 60 231 145: 43(ivec4) Load 144 232 146: 143(ivec3) VectorShuffle 145 145 0 1 2 233 147: 143(ivec3) GroupNonUniformBroadcast 38 146 72 234 148: 134(ptr) AccessChain 49(data) 142 60 235 149: 43(ivec4) Load 148 236 150: 43(ivec4) VectorShuffle 149 147 4 5 6 3 237 Store 148 150 238 151: 6(int) Load 8(invocation) 239 152: 134(ptr) AccessChain 49(data) 121 60 240 153: 43(ivec4) Load 152 241 154: 43(ivec4) GroupNonUniformBroadcast 38 153 72 242 155: 134(ptr) AccessChain 49(data) 151 60 243 Store 155 154 244 156: 6(int) Load 8(invocation) 245 157: 55(ptr) AccessChain 49(data) 61 51 54 246 158: 6(int) Load 157 247 159: 6(int) GroupNonUniformBroadcast 38 158 64 248 160: 55(ptr) AccessChain 49(data) 156 51 54 249 Store 160 159 250 161: 6(int) Load 8(invocation) 251 163: 88(ptr) AccessChain 49(data) 60 51 252 164: 17(ivec4) Load 163 253 165: 162(ivec2) VectorShuffle 164 164 0 1 254 166: 162(ivec2) GroupNonUniformBroadcast 38 165 64 255 167: 88(ptr) AccessChain 49(data) 161 51 256 168: 17(ivec4) Load 167 257 169: 17(ivec4) VectorShuffle 168 166 4 5 2 3 258 Store 167 169 259 170: 6(int) Load 8(invocation) 260 172: 88(ptr) AccessChain 49(data) 51 51 261 173: 17(ivec4) Load 172 262 174: 171(ivec3) VectorShuffle 173 173 0 1 2 263 175: 171(ivec3) GroupNonUniformBroadcast 38 174 64 264 176: 88(ptr) AccessChain 49(data) 170 51 265 177: 17(ivec4) Load 176 266 178: 17(ivec4) VectorShuffle 177 175 4 5 6 3 267 Store 176 178 268 179: 6(int) Load 8(invocation) 269 180: 88(ptr) AccessChain 49(data) 121 51 270 181: 17(ivec4) Load 180 271 182: 17(ivec4) GroupNonUniformBroadcast 38 181 64 272 183: 88(ptr) AccessChain 49(data) 179 51 273 Store 183 182 274 184: 6(int) Load 8(invocation) 275 186: 185(ptr) AccessChain 49(data) 61 121 54 276 187:44(float64_t) Load 186 277 188:44(float64_t) GroupNonUniformBroadcast 38 187 54 278 189: 185(ptr) AccessChain 49(data) 184 121 54 279 Store 189 188 280 190: 6(int) Load 8(invocation) 281 193: 192(ptr) AccessChain 49(data) 60 121 282 194: 45(f64vec4) Load 193 283 195:191(f64vec2) VectorShuffle 194 194 0 1 284 196:191(f64vec2) GroupNonUniformBroadcast 38 195 54 285 197: 192(ptr) AccessChain 49(data) 190 121 286 198: 45(f64vec4) Load 197 287 199: 45(f64vec4) VectorShuffle 198 196 4 5 2 3 288 Store 197 199 289 200: 6(int) Load 8(invocation) 290 202: 192(ptr) AccessChain 49(data) 51 121 291 203: 45(f64vec4) Load 202 292 204:201(f64vec3) VectorShuffle 203 203 0 1 2 293 205:201(f64vec3) GroupNonUniformBroadcast 38 204 54 294 206: 192(ptr) AccessChain 49(data) 200 121 295 207: 45(f64vec4) Load 206 296 208: 45(f64vec4) VectorShuffle 207 205 4 5 6 3 297 Store 206 208 298 209: 6(int) Load 8(invocation) 299 210: 192(ptr) AccessChain 49(data) 121 121 300 211: 45(f64vec4) Load 210 301 212: 45(f64vec4) GroupNonUniformBroadcast 38 211 54 302 213: 192(ptr) AccessChain 49(data) 209 121 303 Store 213 212 304 214: 6(int) Load 8(invocation) 305 215: 127(ptr) AccessChain 49(data) 61 60 54 306 216: 42(int) Load 215 307 217: 36(bool) SLessThan 216 61 308 218: 36(bool) GroupNonUniformBroadcast 38 217 64 309 219: 42(int) Select 218 60 61 310 220: 127(ptr) AccessChain 49(data) 214 60 54 311 Store 220 219 312 221: 6(int) Load 8(invocation) 313 222: 134(ptr) AccessChain 49(data) 60 60 314 223: 43(ivec4) Load 222 315 224: 133(ivec2) VectorShuffle 223 223 0 1 316 227: 226(bvec2) SLessThan 224 225 317 228: 226(bvec2) GroupNonUniformBroadcast 38 227 64 318 230: 133(ivec2) Select 228 229 225 319 231: 134(ptr) AccessChain 49(data) 221 60 320 232: 43(ivec4) Load 231 321 233: 43(ivec4) VectorShuffle 232 230 4 5 2 3 322 Store 231 233 323 234: 6(int) Load 8(invocation) 324 235: 134(ptr) AccessChain 49(data) 60 60 325 236: 43(ivec4) Load 235 326 237: 143(ivec3) VectorShuffle 236 236 0 1 2 327 240: 239(bvec3) SLessThan 237 238 328 241: 239(bvec3) GroupNonUniformBroadcast 38 240 64 329 243: 143(ivec3) Select 241 242 238 330 244: 134(ptr) AccessChain 49(data) 234 60 331 245: 43(ivec4) Load 244 332 246: 43(ivec4) VectorShuffle 245 243 4 5 6 3 333 Store 244 246 334 247: 6(int) Load 8(invocation) 335 248: 134(ptr) AccessChain 49(data) 60 60 336 249: 43(ivec4) Load 248 337 251: 83(bvec4) SLessThan 249 250 338 252: 83(bvec4) GroupNonUniformBroadcast 38 251 64 339 254: 43(ivec4) Select 252 253 250 340 255: 134(ptr) AccessChain 49(data) 247 60 341 Store 255 254 342 Branch 94 343 256: Label 344 257: 6(int) Load 8(invocation) 345 258: 96(ptr) AccessChain 49(data) 61 61 54 346 259: 40(float) Load 258 347 260: 40(float) GroupNonUniformBroadcastFirst 38 259 348 261: 96(ptr) AccessChain 49(data) 257 61 54 349 Store 261 260 350 262: 6(int) Load 8(invocation) 351 263: 103(ptr) AccessChain 49(data) 60 61 352 264: 41(fvec4) Load 263 353 265: 102(fvec2) VectorShuffle 264 264 0 1 354 266: 102(fvec2) GroupNonUniformBroadcastFirst 38 265 355 267: 103(ptr) AccessChain 49(data) 262 61 356 268: 41(fvec4) Load 267 357 269: 41(fvec4) VectorShuffle 268 266 4 5 2 3 358 Store 267 269 359 270: 6(int) Load 8(invocation) 360 271: 103(ptr) AccessChain 49(data) 51 61 361 272: 41(fvec4) Load 271 362 273: 112(fvec3) VectorShuffle 272 272 0 1 2 363 274: 112(fvec3) GroupNonUniformBroadcastFirst 38 273 364 275: 103(ptr) AccessChain 49(data) 270 61 365 276: 41(fvec4) Load 275 366 277: 41(fvec4) VectorShuffle 276 274 4 5 6 3 367 Store 275 277 368 278: 6(int) Load 8(invocation) 369 279: 103(ptr) AccessChain 49(data) 121 61 370 280: 41(fvec4) Load 279 371 281: 41(fvec4) GroupNonUniformBroadcastFirst 38 280 372 282: 103(ptr) AccessChain 49(data) 278 61 373 Store 282 281 374 283: 6(int) Load 8(invocation) 375 284: 127(ptr) AccessChain 49(data) 61 60 54 376 285: 42(int) Load 284 377 286: 42(int) GroupNonUniformBroadcastFirst 38 285 378 287: 127(ptr) AccessChain 49(data) 283 60 54 379 Store 287 286 380 288: 6(int) Load 8(invocation) 381 289: 134(ptr) AccessChain 49(data) 60 60 382 290: 43(ivec4) Load 289 383 291: 133(ivec2) VectorShuffle 290 290 0 1 384 292: 133(ivec2) GroupNonUniformBroadcastFirst 38 291 385 293: 134(ptr) AccessChain 49(data) 288 60 386 294: 43(ivec4) Load 293 387 295: 43(ivec4) VectorShuffle 294 292 4 5 2 3 388 Store 293 295 389 296: 6(int) Load 8(invocation) 390 297: 134(ptr) AccessChain 49(data) 51 60 391 298: 43(ivec4) Load 297 392 299: 143(ivec3) VectorShuffle 298 298 0 1 2 393 300: 143(ivec3) GroupNonUniformBroadcastFirst 38 299 394 301: 134(ptr) AccessChain 49(data) 296 60 395 302: 43(ivec4) Load 301 396 303: 43(ivec4) VectorShuffle 302 300 4 5 6 3 397 Store 301 303 398 304: 6(int) Load 8(invocation) 399 305: 134(ptr) AccessChain 49(data) 121 60 400 306: 43(ivec4) Load 305 401 307: 43(ivec4) GroupNonUniformBroadcastFirst 38 306 402 308: 134(ptr) AccessChain 49(data) 304 60 403 Store 308 307 404 309: 6(int) Load 8(invocation) 405 310: 55(ptr) AccessChain 49(data) 61 51 54 406 311: 6(int) Load 310 407 312: 6(int) GroupNonUniformBroadcastFirst 38 311 408 313: 55(ptr) AccessChain 49(data) 309 51 54 409 Store 313 312 410 314: 6(int) Load 8(invocation) 411 315: 88(ptr) AccessChain 49(data) 60 51 412 316: 17(ivec4) Load 315 413 317: 162(ivec2) VectorShuffle 316 316 0 1 414 318: 162(ivec2) GroupNonUniformBroadcastFirst 38 317 415 319: 88(ptr) AccessChain 49(data) 314 51 416 320: 17(ivec4) Load 319 417 321: 17(ivec4) VectorShuffle 320 318 4 5 2 3 418 Store 319 321 419 322: 6(int) Load 8(invocation) 420 323: 88(ptr) AccessChain 49(data) 51 51 421 324: 17(ivec4) Load 323 422 325: 171(ivec3) VectorShuffle 324 324 0 1 2 423 326: 171(ivec3) GroupNonUniformBroadcastFirst 38 325 424 327: 88(ptr) AccessChain 49(data) 322 51 425 328: 17(ivec4) Load 327 426 329: 17(ivec4) VectorShuffle 328 326 4 5 6 3 427 Store 327 329 428 330: 6(int) Load 8(invocation) 429 331: 88(ptr) AccessChain 49(data) 121 51 430 332: 17(ivec4) Load 331 431 333: 17(ivec4) GroupNonUniformBroadcastFirst 38 332 432 334: 88(ptr) AccessChain 49(data) 330 51 433 Store 334 333 434 335: 6(int) Load 8(invocation) 435 336: 185(ptr) AccessChain 49(data) 61 121 54 436 337:44(float64_t) Load 336 437 338:44(float64_t) GroupNonUniformBroadcastFirst 38 337 438 339: 185(ptr) AccessChain 49(data) 335 121 54 439 Store 339 338 440 340: 6(int) Load 8(invocation) 441 341: 192(ptr) AccessChain 49(data) 60 121 442 342: 45(f64vec4) Load 341 443 343:191(f64vec2) VectorShuffle 342 342 0 1 444 344:191(f64vec2) GroupNonUniformBroadcastFirst 38 343 445 345: 192(ptr) AccessChain 49(data) 340 121 446 346: 45(f64vec4) Load 345 447 347: 45(f64vec4) VectorShuffle 346 344 4 5 2 3 448 Store 345 347 449 348: 6(int) Load 8(invocation) 450 349: 192(ptr) AccessChain 49(data) 51 121 451 350: 45(f64vec4) Load 349 452 351:201(f64vec3) VectorShuffle 350 350 0 1 2 453 352:201(f64vec3) GroupNonUniformBroadcastFirst 38 351 454 353: 192(ptr) AccessChain 49(data) 348 121 455 354: 45(f64vec4) Load 353 456 355: 45(f64vec4) VectorShuffle 354 352 4 5 6 3 457 Store 353 355 458 356: 6(int) Load 8(invocation) 459 357: 192(ptr) AccessChain 49(data) 121 121 460 358: 45(f64vec4) Load 357 461 359: 45(f64vec4) GroupNonUniformBroadcastFirst 38 358 462 360: 192(ptr) AccessChain 49(data) 356 121 463 Store 360 359 464 361: 6(int) Load 8(invocation) 465 362: 127(ptr) AccessChain 49(data) 61 60 54 466 363: 42(int) Load 362 467 364: 36(bool) SLessThan 363 61 468 365: 36(bool) GroupNonUniformBroadcastFirst 38 364 469 366: 42(int) Select 365 60 61 470 367: 127(ptr) AccessChain 49(data) 361 60 54 471 Store 367 366 472 368: 6(int) Load 8(invocation) 473 369: 134(ptr) AccessChain 49(data) 60 60 474 370: 43(ivec4) Load 369 475 371: 133(ivec2) VectorShuffle 370 370 0 1 476 372: 226(bvec2) SLessThan 371 225 477 373: 226(bvec2) GroupNonUniformBroadcastFirst 38 372 478 374: 133(ivec2) Select 373 229 225 479 375: 134(ptr) AccessChain 49(data) 368 60 480 376: 43(ivec4) Load 375 481 377: 43(ivec4) VectorShuffle 376 374 4 5 2 3 482 Store 375 377 483 378: 6(int) Load 8(invocation) 484 379: 134(ptr) AccessChain 49(data) 60 60 485 380: 43(ivec4) Load 379 486 381: 143(ivec3) VectorShuffle 380 380 0 1 2 487 382: 239(bvec3) SLessThan 381 238 488 383: 239(bvec3) GroupNonUniformBroadcastFirst 38 382 489 384: 143(ivec3) Select 383 242 238 490 385: 134(ptr) AccessChain 49(data) 378 60 491 386: 43(ivec4) Load 385 492 387: 43(ivec4) VectorShuffle 386 384 4 5 6 3 493 Store 385 387 494 388: 6(int) Load 8(invocation) 495 389: 134(ptr) AccessChain 49(data) 60 60 496 390: 43(ivec4) Load 389 497 391: 83(bvec4) SLessThan 390 250 498 392: 83(bvec4) GroupNonUniformBroadcastFirst 38 391 499 393: 43(ivec4) Select 392 253 250 500 394: 134(ptr) AccessChain 49(data) 388 60 501 Store 394 393 502 Branch 94 503 94: Label 504 Return 505 FunctionEnd 506