1spv.subgroupBallot.comp 2// Module Version 10300 3// Generated by (magic number): 80007 4// Id's are bound by 417 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) BufferBlock 52 Decorate 49(data) DescriptorSet 0 53 Decorate 49(data) Binding 0 54 Decorate 416 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 Uniform 47 83 49(data): 48(ptr) Variable Uniform 84 51: 42(int) Constant 2 85 54: 6(int) Constant 0 86 55: TypePointer Uniform 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 Uniform 17(ivec4) 93 96: TypePointer Uniform 40(float) 94 103: TypeVector 40(float) 2 95 104: TypePointer Uniform 41(fvec4) 96 114: TypeVector 40(float) 3 97 124: 42(int) Constant 3 98 131: TypePointer Uniform 42(int) 99 138: TypeVector 42(int) 2 100 139: TypePointer Uniform 43(ivec4) 101 149: TypeVector 42(int) 3 102 171: TypeVector 6(int) 2 103 181: TypeVector 6(int) 3 104 197: TypePointer Uniform 44(float64_t) 105 204: TypeVector 44(float64_t) 2 106 205: TypePointer Uniform 45(f64vec4) 107 215: TypeVector 44(float64_t) 3 108 242: 138(ivec2) ConstantComposite 61 61 109 243: TypeVector 36(bool) 2 110 247: 138(ivec2) ConstantComposite 60 60 111 256: 149(ivec3) ConstantComposite 61 61 61 112 257: TypeVector 36(bool) 3 113 261: 149(ivec3) ConstantComposite 60 60 60 114 269: 43(ivec4) ConstantComposite 61 61 61 61 115 273: 43(ivec4) ConstantComposite 60 60 60 60 116 415: 6(int) Constant 8 117 416: 181(ivec3) ConstantComposite 415 415 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 276 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: 6(int) Load 8(invocation) 188 100: 40(float) GroupNonUniformBroadcast 38 98 99 189 101: 96(ptr) AccessChain 49(data) 95 61 54 190 Store 101 100 191 102: 6(int) Load 8(invocation) 192 105: 104(ptr) AccessChain 49(data) 60 61 193 106: 41(fvec4) Load 105 194 107: 103(fvec2) VectorShuffle 106 106 0 1 195 108: 6(int) Load 8(invocation) 196 109: 103(fvec2) GroupNonUniformBroadcast 38 107 108 197 110: 104(ptr) AccessChain 49(data) 102 61 198 111: 41(fvec4) Load 110 199 112: 41(fvec4) VectorShuffle 111 109 4 5 2 3 200 Store 110 112 201 113: 6(int) Load 8(invocation) 202 115: 104(ptr) AccessChain 49(data) 51 61 203 116: 41(fvec4) Load 115 204 117: 114(fvec3) VectorShuffle 116 116 0 1 2 205 118: 6(int) Load 8(invocation) 206 119: 114(fvec3) GroupNonUniformBroadcast 38 117 118 207 120: 104(ptr) AccessChain 49(data) 113 61 208 121: 41(fvec4) Load 120 209 122: 41(fvec4) VectorShuffle 121 119 4 5 6 3 210 Store 120 122 211 123: 6(int) Load 8(invocation) 212 125: 104(ptr) AccessChain 49(data) 124 61 213 126: 41(fvec4) Load 125 214 127: 6(int) Load 8(invocation) 215 128: 41(fvec4) GroupNonUniformBroadcast 38 126 127 216 129: 104(ptr) AccessChain 49(data) 123 61 217 Store 129 128 218 130: 6(int) Load 8(invocation) 219 132: 131(ptr) AccessChain 49(data) 61 60 54 220 133: 42(int) Load 132 221 134: 6(int) Load 8(invocation) 222 135: 42(int) GroupNonUniformBroadcast 38 133 134 223 136: 131(ptr) AccessChain 49(data) 130 60 54 224 Store 136 135 225 137: 6(int) Load 8(invocation) 226 140: 139(ptr) AccessChain 49(data) 60 60 227 141: 43(ivec4) Load 140 228 142: 138(ivec2) VectorShuffle 141 141 0 1 229 143: 6(int) Load 8(invocation) 230 144: 138(ivec2) GroupNonUniformBroadcast 38 142 143 231 145: 139(ptr) AccessChain 49(data) 137 60 232 146: 43(ivec4) Load 145 233 147: 43(ivec4) VectorShuffle 146 144 4 5 2 3 234 Store 145 147 235 148: 6(int) Load 8(invocation) 236 150: 139(ptr) AccessChain 49(data) 51 60 237 151: 43(ivec4) Load 150 238 152: 149(ivec3) VectorShuffle 151 151 0 1 2 239 153: 6(int) Load 8(invocation) 240 154: 149(ivec3) GroupNonUniformBroadcast 38 152 153 241 155: 139(ptr) AccessChain 49(data) 148 60 242 156: 43(ivec4) Load 155 243 157: 43(ivec4) VectorShuffle 156 154 4 5 6 3 244 Store 155 157 245 158: 6(int) Load 8(invocation) 246 159: 139(ptr) AccessChain 49(data) 124 60 247 160: 43(ivec4) Load 159 248 161: 6(int) Load 8(invocation) 249 162: 43(ivec4) GroupNonUniformBroadcast 38 160 161 250 163: 139(ptr) AccessChain 49(data) 158 60 251 Store 163 162 252 164: 6(int) Load 8(invocation) 253 165: 55(ptr) AccessChain 49(data) 61 51 54 254 166: 6(int) Load 165 255 167: 6(int) Load 8(invocation) 256 168: 6(int) GroupNonUniformBroadcast 38 166 167 257 169: 55(ptr) AccessChain 49(data) 164 51 54 258 Store 169 168 259 170: 6(int) Load 8(invocation) 260 172: 88(ptr) AccessChain 49(data) 60 51 261 173: 17(ivec4) Load 172 262 174: 171(ivec2) VectorShuffle 173 173 0 1 263 175: 6(int) Load 8(invocation) 264 176: 171(ivec2) GroupNonUniformBroadcast 38 174 175 265 177: 88(ptr) AccessChain 49(data) 170 51 266 178: 17(ivec4) Load 177 267 179: 17(ivec4) VectorShuffle 178 176 4 5 2 3 268 Store 177 179 269 180: 6(int) Load 8(invocation) 270 182: 88(ptr) AccessChain 49(data) 51 51 271 183: 17(ivec4) Load 182 272 184: 181(ivec3) VectorShuffle 183 183 0 1 2 273 185: 6(int) Load 8(invocation) 274 186: 181(ivec3) GroupNonUniformBroadcast 38 184 185 275 187: 88(ptr) AccessChain 49(data) 180 51 276 188: 17(ivec4) Load 187 277 189: 17(ivec4) VectorShuffle 188 186 4 5 6 3 278 Store 187 189 279 190: 6(int) Load 8(invocation) 280 191: 88(ptr) AccessChain 49(data) 124 51 281 192: 17(ivec4) Load 191 282 193: 6(int) Load 8(invocation) 283 194: 17(ivec4) GroupNonUniformBroadcast 38 192 193 284 195: 88(ptr) AccessChain 49(data) 190 51 285 Store 195 194 286 196: 6(int) Load 8(invocation) 287 198: 197(ptr) AccessChain 49(data) 61 124 54 288 199:44(float64_t) Load 198 289 200: 6(int) Load 8(invocation) 290 201:44(float64_t) GroupNonUniformBroadcast 38 199 200 291 202: 197(ptr) AccessChain 49(data) 196 124 54 292 Store 202 201 293 203: 6(int) Load 8(invocation) 294 206: 205(ptr) AccessChain 49(data) 60 124 295 207: 45(f64vec4) Load 206 296 208:204(f64vec2) VectorShuffle 207 207 0 1 297 209: 6(int) Load 8(invocation) 298 210:204(f64vec2) GroupNonUniformBroadcast 38 208 209 299 211: 205(ptr) AccessChain 49(data) 203 124 300 212: 45(f64vec4) Load 211 301 213: 45(f64vec4) VectorShuffle 212 210 4 5 2 3 302 Store 211 213 303 214: 6(int) Load 8(invocation) 304 216: 205(ptr) AccessChain 49(data) 51 124 305 217: 45(f64vec4) Load 216 306 218:215(f64vec3) VectorShuffle 217 217 0 1 2 307 219: 6(int) Load 8(invocation) 308 220:215(f64vec3) GroupNonUniformBroadcast 38 218 219 309 221: 205(ptr) AccessChain 49(data) 214 124 310 222: 45(f64vec4) Load 221 311 223: 45(f64vec4) VectorShuffle 222 220 4 5 6 3 312 Store 221 223 313 224: 6(int) Load 8(invocation) 314 225: 205(ptr) AccessChain 49(data) 124 124 315 226: 45(f64vec4) Load 225 316 227: 6(int) Load 8(invocation) 317 228: 45(f64vec4) GroupNonUniformBroadcast 38 226 227 318 229: 205(ptr) AccessChain 49(data) 224 124 319 Store 229 228 320 230: 6(int) Load 8(invocation) 321 231: 131(ptr) AccessChain 49(data) 61 60 54 322 232: 42(int) Load 231 323 233: 36(bool) SLessThan 232 61 324 234: 6(int) Load 8(invocation) 325 235: 36(bool) GroupNonUniformBroadcast 38 233 234 326 236: 42(int) Select 235 60 61 327 237: 131(ptr) AccessChain 49(data) 230 60 54 328 Store 237 236 329 238: 6(int) Load 8(invocation) 330 239: 139(ptr) AccessChain 49(data) 60 60 331 240: 43(ivec4) Load 239 332 241: 138(ivec2) VectorShuffle 240 240 0 1 333 244: 243(bvec2) SLessThan 241 242 334 245: 6(int) Load 8(invocation) 335 246: 243(bvec2) GroupNonUniformBroadcast 38 244 245 336 248: 138(ivec2) Select 246 247 242 337 249: 139(ptr) AccessChain 49(data) 238 60 338 250: 43(ivec4) Load 249 339 251: 43(ivec4) VectorShuffle 250 248 4 5 2 3 340 Store 249 251 341 252: 6(int) Load 8(invocation) 342 253: 139(ptr) AccessChain 49(data) 60 60 343 254: 43(ivec4) Load 253 344 255: 149(ivec3) VectorShuffle 254 254 0 1 2 345 258: 257(bvec3) SLessThan 255 256 346 259: 6(int) Load 8(invocation) 347 260: 257(bvec3) GroupNonUniformBroadcast 38 258 259 348 262: 149(ivec3) Select 260 261 256 349 263: 139(ptr) AccessChain 49(data) 252 60 350 264: 43(ivec4) Load 263 351 265: 43(ivec4) VectorShuffle 264 262 4 5 6 3 352 Store 263 265 353 266: 6(int) Load 8(invocation) 354 267: 139(ptr) AccessChain 49(data) 60 60 355 268: 43(ivec4) Load 267 356 270: 83(bvec4) SLessThan 268 269 357 271: 6(int) Load 8(invocation) 358 272: 83(bvec4) GroupNonUniformBroadcast 38 270 271 359 274: 43(ivec4) Select 272 273 269 360 275: 139(ptr) AccessChain 49(data) 266 60 361 Store 275 274 362 Branch 94 363 276: Label 364 277: 6(int) Load 8(invocation) 365 278: 96(ptr) AccessChain 49(data) 61 61 54 366 279: 40(float) Load 278 367 280: 40(float) GroupNonUniformBroadcastFirst 38 279 368 281: 96(ptr) AccessChain 49(data) 277 61 54 369 Store 281 280 370 282: 6(int) Load 8(invocation) 371 283: 104(ptr) AccessChain 49(data) 60 61 372 284: 41(fvec4) Load 283 373 285: 103(fvec2) VectorShuffle 284 284 0 1 374 286: 103(fvec2) GroupNonUniformBroadcastFirst 38 285 375 287: 104(ptr) AccessChain 49(data) 282 61 376 288: 41(fvec4) Load 287 377 289: 41(fvec4) VectorShuffle 288 286 4 5 2 3 378 Store 287 289 379 290: 6(int) Load 8(invocation) 380 291: 104(ptr) AccessChain 49(data) 51 61 381 292: 41(fvec4) Load 291 382 293: 114(fvec3) VectorShuffle 292 292 0 1 2 383 294: 114(fvec3) GroupNonUniformBroadcastFirst 38 293 384 295: 104(ptr) AccessChain 49(data) 290 61 385 296: 41(fvec4) Load 295 386 297: 41(fvec4) VectorShuffle 296 294 4 5 6 3 387 Store 295 297 388 298: 6(int) Load 8(invocation) 389 299: 104(ptr) AccessChain 49(data) 124 61 390 300: 41(fvec4) Load 299 391 301: 41(fvec4) GroupNonUniformBroadcastFirst 38 300 392 302: 104(ptr) AccessChain 49(data) 298 61 393 Store 302 301 394 303: 6(int) Load 8(invocation) 395 304: 131(ptr) AccessChain 49(data) 61 60 54 396 305: 42(int) Load 304 397 306: 42(int) GroupNonUniformBroadcastFirst 38 305 398 307: 131(ptr) AccessChain 49(data) 303 60 54 399 Store 307 306 400 308: 6(int) Load 8(invocation) 401 309: 139(ptr) AccessChain 49(data) 60 60 402 310: 43(ivec4) Load 309 403 311: 138(ivec2) VectorShuffle 310 310 0 1 404 312: 138(ivec2) GroupNonUniformBroadcastFirst 38 311 405 313: 139(ptr) AccessChain 49(data) 308 60 406 314: 43(ivec4) Load 313 407 315: 43(ivec4) VectorShuffle 314 312 4 5 2 3 408 Store 313 315 409 316: 6(int) Load 8(invocation) 410 317: 139(ptr) AccessChain 49(data) 51 60 411 318: 43(ivec4) Load 317 412 319: 149(ivec3) VectorShuffle 318 318 0 1 2 413 320: 149(ivec3) GroupNonUniformBroadcastFirst 38 319 414 321: 139(ptr) AccessChain 49(data) 316 60 415 322: 43(ivec4) Load 321 416 323: 43(ivec4) VectorShuffle 322 320 4 5 6 3 417 Store 321 323 418 324: 6(int) Load 8(invocation) 419 325: 139(ptr) AccessChain 49(data) 124 60 420 326: 43(ivec4) Load 325 421 327: 43(ivec4) GroupNonUniformBroadcastFirst 38 326 422 328: 139(ptr) AccessChain 49(data) 324 60 423 Store 328 327 424 329: 6(int) Load 8(invocation) 425 330: 55(ptr) AccessChain 49(data) 61 51 54 426 331: 6(int) Load 330 427 332: 6(int) GroupNonUniformBroadcastFirst 38 331 428 333: 55(ptr) AccessChain 49(data) 329 51 54 429 Store 333 332 430 334: 6(int) Load 8(invocation) 431 335: 88(ptr) AccessChain 49(data) 60 51 432 336: 17(ivec4) Load 335 433 337: 171(ivec2) VectorShuffle 336 336 0 1 434 338: 171(ivec2) GroupNonUniformBroadcastFirst 38 337 435 339: 88(ptr) AccessChain 49(data) 334 51 436 340: 17(ivec4) Load 339 437 341: 17(ivec4) VectorShuffle 340 338 4 5 2 3 438 Store 339 341 439 342: 6(int) Load 8(invocation) 440 343: 88(ptr) AccessChain 49(data) 51 51 441 344: 17(ivec4) Load 343 442 345: 181(ivec3) VectorShuffle 344 344 0 1 2 443 346: 181(ivec3) GroupNonUniformBroadcastFirst 38 345 444 347: 88(ptr) AccessChain 49(data) 342 51 445 348: 17(ivec4) Load 347 446 349: 17(ivec4) VectorShuffle 348 346 4 5 6 3 447 Store 347 349 448 350: 6(int) Load 8(invocation) 449 351: 88(ptr) AccessChain 49(data) 124 51 450 352: 17(ivec4) Load 351 451 353: 17(ivec4) GroupNonUniformBroadcastFirst 38 352 452 354: 88(ptr) AccessChain 49(data) 350 51 453 Store 354 353 454 355: 6(int) Load 8(invocation) 455 356: 197(ptr) AccessChain 49(data) 61 124 54 456 357:44(float64_t) Load 356 457 358:44(float64_t) GroupNonUniformBroadcastFirst 38 357 458 359: 197(ptr) AccessChain 49(data) 355 124 54 459 Store 359 358 460 360: 6(int) Load 8(invocation) 461 361: 205(ptr) AccessChain 49(data) 60 124 462 362: 45(f64vec4) Load 361 463 363:204(f64vec2) VectorShuffle 362 362 0 1 464 364:204(f64vec2) GroupNonUniformBroadcastFirst 38 363 465 365: 205(ptr) AccessChain 49(data) 360 124 466 366: 45(f64vec4) Load 365 467 367: 45(f64vec4) VectorShuffle 366 364 4 5 2 3 468 Store 365 367 469 368: 6(int) Load 8(invocation) 470 369: 205(ptr) AccessChain 49(data) 51 124 471 370: 45(f64vec4) Load 369 472 371:215(f64vec3) VectorShuffle 370 370 0 1 2 473 372:215(f64vec3) GroupNonUniformBroadcastFirst 38 371 474 373: 205(ptr) AccessChain 49(data) 368 124 475 374: 45(f64vec4) Load 373 476 375: 45(f64vec4) VectorShuffle 374 372 4 5 6 3 477 Store 373 375 478 376: 6(int) Load 8(invocation) 479 377: 205(ptr) AccessChain 49(data) 124 124 480 378: 45(f64vec4) Load 377 481 379: 45(f64vec4) GroupNonUniformBroadcastFirst 38 378 482 380: 205(ptr) AccessChain 49(data) 376 124 483 Store 380 379 484 381: 6(int) Load 8(invocation) 485 382: 131(ptr) AccessChain 49(data) 61 60 54 486 383: 42(int) Load 382 487 384: 36(bool) SLessThan 383 61 488 385: 36(bool) GroupNonUniformBroadcastFirst 38 384 489 386: 42(int) Select 385 60 61 490 387: 131(ptr) AccessChain 49(data) 381 60 54 491 Store 387 386 492 388: 6(int) Load 8(invocation) 493 389: 139(ptr) AccessChain 49(data) 60 60 494 390: 43(ivec4) Load 389 495 391: 138(ivec2) VectorShuffle 390 390 0 1 496 392: 243(bvec2) SLessThan 391 242 497 393: 243(bvec2) GroupNonUniformBroadcastFirst 38 392 498 394: 138(ivec2) Select 393 247 242 499 395: 139(ptr) AccessChain 49(data) 388 60 500 396: 43(ivec4) Load 395 501 397: 43(ivec4) VectorShuffle 396 394 4 5 2 3 502 Store 395 397 503 398: 6(int) Load 8(invocation) 504 399: 139(ptr) AccessChain 49(data) 60 60 505 400: 43(ivec4) Load 399 506 401: 149(ivec3) VectorShuffle 400 400 0 1 2 507 402: 257(bvec3) SLessThan 401 256 508 403: 257(bvec3) GroupNonUniformBroadcastFirst 38 402 509 404: 149(ivec3) Select 403 261 256 510 405: 139(ptr) AccessChain 49(data) 398 60 511 406: 43(ivec4) Load 405 512 407: 43(ivec4) VectorShuffle 406 404 4 5 6 3 513 Store 405 407 514 408: 6(int) Load 8(invocation) 515 409: 139(ptr) AccessChain 49(data) 60 60 516 410: 43(ivec4) Load 409 517 411: 83(bvec4) SLessThan 410 269 518 412: 83(bvec4) GroupNonUniformBroadcastFirst 38 411 519 413: 43(ivec4) Select 412 273 269 520 414: 139(ptr) AccessChain 49(data) 408 60 521 Store 414 413 522 Branch 94 523 94: Label 524 Return 525 FunctionEnd 526