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