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