1spv.subgroupClustered.comp 2// Module Version 10300 3// Generated by (magic number): 8000a 4// Id's are bound by 737 5 6 Capability Shader 7 Capability Float64 8 Capability GroupNonUniform 9 Capability GroupNonUniformClustered 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_clustered" 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 736 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 522: TypeBool 86 531: 72(ivec2) ConstantComposite 29 29 87 532: TypeVector 522(bool) 2 88 535: 72(ivec2) ConstantComposite 39 39 89 544: 82(ivec3) ConstantComposite 29 29 29 90 545: TypeVector 522(bool) 3 91 548: 82(ivec3) ConstantComposite 39 39 39 92 556: 20(ivec4) ConstantComposite 29 29 29 29 93 557: TypeVector 522(bool) 4 94 560: 20(ivec4) ConstantComposite 39 39 39 39 95 735: 6(int) Constant 8 96 736: 112(ivec3) ConstantComposite 735 34 34 97 4(main): 2 Function None 3 98 5: Label 99 8(invocation): 7(ptr) Variable Function 100 11: 6(int) Load 10(gl_SubgroupInvocationID) 101 13: 6(int) Load 12(gl_SubgroupSize) 102 14: 6(int) IAdd 11 13 103 16: 6(int) UMod 14 15 104 Store 8(invocation) 16 105 28: 6(int) Load 8(invocation) 106 32: 31(ptr) AccessChain 27(data) 29 29 30 107 33: 17(float) Load 32 108 36: 17(float) GroupNonUniformFAdd 35 ClusteredReduce 33 34 109 37: 31(ptr) AccessChain 27(data) 28 29 30 110 Store 37 36 111 38: 6(int) Load 8(invocation) 112 42: 41(ptr) AccessChain 27(data) 39 29 113 43: 18(fvec4) Load 42 114 44: 40(fvec2) VectorShuffle 43 43 0 1 115 45: 40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34 116 46: 41(ptr) AccessChain 27(data) 38 29 117 47: 18(fvec4) Load 46 118 48: 18(fvec4) VectorShuffle 47 45 4 5 2 3 119 Store 46 48 120 49: 6(int) Load 8(invocation) 121 52: 41(ptr) AccessChain 27(data) 50 29 122 53: 18(fvec4) Load 52 123 54: 51(fvec3) VectorShuffle 53 53 0 1 2 124 55: 51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34 125 56: 41(ptr) AccessChain 27(data) 49 29 126 57: 18(fvec4) Load 56 127 58: 18(fvec4) VectorShuffle 57 55 4 5 6 3 128 Store 56 58 129 59: 6(int) Load 8(invocation) 130 61: 41(ptr) AccessChain 27(data) 60 29 131 62: 18(fvec4) Load 61 132 63: 18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34 133 64: 41(ptr) AccessChain 27(data) 59 29 134 Store 64 63 135 65: 6(int) Load 8(invocation) 136 67: 66(ptr) AccessChain 27(data) 29 39 30 137 68: 19(int) Load 67 138 69: 19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34 139 70: 66(ptr) AccessChain 27(data) 65 39 30 140 Store 70 69 141 71: 6(int) Load 8(invocation) 142 74: 73(ptr) AccessChain 27(data) 39 39 143 75: 20(ivec4) Load 74 144 76: 72(ivec2) VectorShuffle 75 75 0 1 145 77: 72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34 146 78: 73(ptr) AccessChain 27(data) 71 39 147 79: 20(ivec4) Load 78 148 80: 20(ivec4) VectorShuffle 79 77 4 5 2 3 149 Store 78 80 150 81: 6(int) Load 8(invocation) 151 83: 73(ptr) AccessChain 27(data) 50 39 152 84: 20(ivec4) Load 83 153 85: 82(ivec3) VectorShuffle 84 84 0 1 2 154 86: 82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34 155 87: 73(ptr) AccessChain 27(data) 81 39 156 88: 20(ivec4) Load 87 157 89: 20(ivec4) VectorShuffle 88 86 4 5 6 3 158 Store 87 89 159 90: 6(int) Load 8(invocation) 160 91: 73(ptr) AccessChain 27(data) 60 39 161 92: 20(ivec4) Load 91 162 93: 20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34 163 94: 73(ptr) AccessChain 27(data) 90 39 164 Store 94 93 165 95: 6(int) Load 8(invocation) 166 97: 96(ptr) AccessChain 27(data) 29 50 30 167 98: 6(int) Load 97 168 99: 6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34 169 100: 96(ptr) AccessChain 27(data) 95 50 30 170 Store 100 99 171 101: 6(int) Load 8(invocation) 172 104: 103(ptr) AccessChain 27(data) 39 50 173 105: 21(ivec4) Load 104 174 106: 102(ivec2) VectorShuffle 105 105 0 1 175 107: 102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34 176 108: 103(ptr) AccessChain 27(data) 101 50 177 109: 21(ivec4) Load 108 178 110: 21(ivec4) VectorShuffle 109 107 4 5 2 3 179 Store 108 110 180 111: 6(int) Load 8(invocation) 181 113: 103(ptr) AccessChain 27(data) 50 50 182 114: 21(ivec4) Load 113 183 115: 112(ivec3) VectorShuffle 114 114 0 1 2 184 116: 112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34 185 117: 103(ptr) AccessChain 27(data) 111 50 186 118: 21(ivec4) Load 117 187 119: 21(ivec4) VectorShuffle 118 116 4 5 6 3 188 Store 117 119 189 120: 6(int) Load 8(invocation) 190 121: 103(ptr) AccessChain 27(data) 60 50 191 122: 21(ivec4) Load 121 192 123: 21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34 193 124: 103(ptr) AccessChain 27(data) 120 50 194 Store 124 123 195 125: 6(int) Load 8(invocation) 196 127: 126(ptr) AccessChain 27(data) 29 60 30 197 128:22(float64_t) Load 127 198 129:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 128 34 199 130: 126(ptr) AccessChain 27(data) 125 60 30 200 Store 130 129 201 131: 6(int) Load 8(invocation) 202 134: 133(ptr) AccessChain 27(data) 39 60 203 135: 23(f64vec4) Load 134 204 136:132(f64vec2) VectorShuffle 135 135 0 1 205 137:132(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34 206 138: 133(ptr) AccessChain 27(data) 131 60 207 139: 23(f64vec4) Load 138 208 140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3 209 Store 138 140 210 141: 6(int) Load 8(invocation) 211 143: 133(ptr) AccessChain 27(data) 50 60 212 144: 23(f64vec4) Load 143 213 145:142(f64vec3) VectorShuffle 144 144 0 1 2 214 146:142(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34 215 147: 133(ptr) AccessChain 27(data) 141 60 216 148: 23(f64vec4) Load 147 217 149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3 218 Store 147 149 219 150: 6(int) Load 8(invocation) 220 151: 133(ptr) AccessChain 27(data) 60 60 221 152: 23(f64vec4) Load 151 222 153: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34 223 154: 133(ptr) AccessChain 27(data) 150 60 224 Store 154 153 225 155: 6(int) Load 8(invocation) 226 156: 31(ptr) AccessChain 27(data) 29 29 30 227 157: 17(float) Load 156 228 158: 17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34 229 159: 31(ptr) AccessChain 27(data) 155 29 30 230 Store 159 158 231 160: 6(int) Load 8(invocation) 232 161: 41(ptr) AccessChain 27(data) 39 29 233 162: 18(fvec4) Load 161 234 163: 40(fvec2) VectorShuffle 162 162 0 1 235 164: 40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34 236 165: 41(ptr) AccessChain 27(data) 160 29 237 166: 18(fvec4) Load 165 238 167: 18(fvec4) VectorShuffle 166 164 4 5 2 3 239 Store 165 167 240 168: 6(int) Load 8(invocation) 241 169: 41(ptr) AccessChain 27(data) 50 29 242 170: 18(fvec4) Load 169 243 171: 51(fvec3) VectorShuffle 170 170 0 1 2 244 172: 51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34 245 173: 41(ptr) AccessChain 27(data) 168 29 246 174: 18(fvec4) Load 173 247 175: 18(fvec4) VectorShuffle 174 172 4 5 6 3 248 Store 173 175 249 176: 6(int) Load 8(invocation) 250 177: 41(ptr) AccessChain 27(data) 60 29 251 178: 18(fvec4) Load 177 252 179: 18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34 253 180: 41(ptr) AccessChain 27(data) 176 29 254 Store 180 179 255 181: 6(int) Load 8(invocation) 256 182: 66(ptr) AccessChain 27(data) 29 39 30 257 183: 19(int) Load 182 258 184: 19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34 259 185: 66(ptr) AccessChain 27(data) 181 39 30 260 Store 185 184 261 186: 6(int) Load 8(invocation) 262 187: 73(ptr) AccessChain 27(data) 39 39 263 188: 20(ivec4) Load 187 264 189: 72(ivec2) VectorShuffle 188 188 0 1 265 190: 72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34 266 191: 73(ptr) AccessChain 27(data) 186 39 267 192: 20(ivec4) Load 191 268 193: 20(ivec4) VectorShuffle 192 190 4 5 2 3 269 Store 191 193 270 194: 6(int) Load 8(invocation) 271 195: 73(ptr) AccessChain 27(data) 50 39 272 196: 20(ivec4) Load 195 273 197: 82(ivec3) VectorShuffle 196 196 0 1 2 274 198: 82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34 275 199: 73(ptr) AccessChain 27(data) 194 39 276 200: 20(ivec4) Load 199 277 201: 20(ivec4) VectorShuffle 200 198 4 5 6 3 278 Store 199 201 279 202: 6(int) Load 8(invocation) 280 203: 73(ptr) AccessChain 27(data) 60 39 281 204: 20(ivec4) Load 203 282 205: 20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34 283 206: 73(ptr) AccessChain 27(data) 202 39 284 Store 206 205 285 207: 6(int) Load 8(invocation) 286 208: 96(ptr) AccessChain 27(data) 29 50 30 287 209: 6(int) Load 208 288 210: 6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34 289 211: 96(ptr) AccessChain 27(data) 207 50 30 290 Store 211 210 291 212: 6(int) Load 8(invocation) 292 213: 103(ptr) AccessChain 27(data) 39 50 293 214: 21(ivec4) Load 213 294 215: 102(ivec2) VectorShuffle 214 214 0 1 295 216: 102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34 296 217: 103(ptr) AccessChain 27(data) 212 50 297 218: 21(ivec4) Load 217 298 219: 21(ivec4) VectorShuffle 218 216 4 5 2 3 299 Store 217 219 300 220: 6(int) Load 8(invocation) 301 221: 103(ptr) AccessChain 27(data) 50 50 302 222: 21(ivec4) Load 221 303 223: 112(ivec3) VectorShuffle 222 222 0 1 2 304 224: 112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34 305 225: 103(ptr) AccessChain 27(data) 220 50 306 226: 21(ivec4) Load 225 307 227: 21(ivec4) VectorShuffle 226 224 4 5 6 3 308 Store 225 227 309 228: 6(int) Load 8(invocation) 310 229: 103(ptr) AccessChain 27(data) 60 50 311 230: 21(ivec4) Load 229 312 231: 21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34 313 232: 103(ptr) AccessChain 27(data) 228 50 314 Store 232 231 315 233: 6(int) Load 8(invocation) 316 234: 126(ptr) AccessChain 27(data) 29 60 30 317 235:22(float64_t) Load 234 318 236:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 235 34 319 237: 126(ptr) AccessChain 27(data) 233 60 30 320 Store 237 236 321 238: 6(int) Load 8(invocation) 322 239: 133(ptr) AccessChain 27(data) 39 60 323 240: 23(f64vec4) Load 239 324 241:132(f64vec2) VectorShuffle 240 240 0 1 325 242:132(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 241 34 326 243: 133(ptr) AccessChain 27(data) 238 60 327 244: 23(f64vec4) Load 243 328 245: 23(f64vec4) VectorShuffle 244 242 4 5 2 3 329 Store 243 245 330 246: 6(int) Load 8(invocation) 331 247: 133(ptr) AccessChain 27(data) 50 60 332 248: 23(f64vec4) Load 247 333 249:142(f64vec3) VectorShuffle 248 248 0 1 2 334 250:142(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 249 34 335 251: 133(ptr) AccessChain 27(data) 246 60 336 252: 23(f64vec4) Load 251 337 253: 23(f64vec4) VectorShuffle 252 250 4 5 6 3 338 Store 251 253 339 254: 6(int) Load 8(invocation) 340 255: 133(ptr) AccessChain 27(data) 60 60 341 256: 23(f64vec4) Load 255 342 257: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 256 34 343 258: 133(ptr) AccessChain 27(data) 254 60 344 Store 258 257 345 259: 6(int) Load 8(invocation) 346 260: 31(ptr) AccessChain 27(data) 29 29 30 347 261: 17(float) Load 260 348 262: 17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34 349 263: 31(ptr) AccessChain 27(data) 259 29 30 350 Store 263 262 351 264: 6(int) Load 8(invocation) 352 265: 41(ptr) AccessChain 27(data) 39 29 353 266: 18(fvec4) Load 265 354 267: 40(fvec2) VectorShuffle 266 266 0 1 355 268: 40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34 356 269: 41(ptr) AccessChain 27(data) 264 29 357 270: 18(fvec4) Load 269 358 271: 18(fvec4) VectorShuffle 270 268 4 5 2 3 359 Store 269 271 360 272: 6(int) Load 8(invocation) 361 273: 41(ptr) AccessChain 27(data) 50 29 362 274: 18(fvec4) Load 273 363 275: 51(fvec3) VectorShuffle 274 274 0 1 2 364 276: 51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34 365 277: 41(ptr) AccessChain 27(data) 272 29 366 278: 18(fvec4) Load 277 367 279: 18(fvec4) VectorShuffle 278 276 4 5 6 3 368 Store 277 279 369 280: 6(int) Load 8(invocation) 370 281: 41(ptr) AccessChain 27(data) 60 29 371 282: 18(fvec4) Load 281 372 283: 18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34 373 284: 41(ptr) AccessChain 27(data) 280 29 374 Store 284 283 375 285: 6(int) Load 8(invocation) 376 286: 66(ptr) AccessChain 27(data) 29 39 30 377 287: 19(int) Load 286 378 288: 19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34 379 289: 66(ptr) AccessChain 27(data) 285 39 30 380 Store 289 288 381 290: 6(int) Load 8(invocation) 382 291: 73(ptr) AccessChain 27(data) 39 39 383 292: 20(ivec4) Load 291 384 293: 72(ivec2) VectorShuffle 292 292 0 1 385 294: 72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34 386 295: 73(ptr) AccessChain 27(data) 290 39 387 296: 20(ivec4) Load 295 388 297: 20(ivec4) VectorShuffle 296 294 4 5 2 3 389 Store 295 297 390 298: 6(int) Load 8(invocation) 391 299: 73(ptr) AccessChain 27(data) 50 39 392 300: 20(ivec4) Load 299 393 301: 82(ivec3) VectorShuffle 300 300 0 1 2 394 302: 82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34 395 303: 73(ptr) AccessChain 27(data) 298 39 396 304: 20(ivec4) Load 303 397 305: 20(ivec4) VectorShuffle 304 302 4 5 6 3 398 Store 303 305 399 306: 6(int) Load 8(invocation) 400 307: 73(ptr) AccessChain 27(data) 60 39 401 308: 20(ivec4) Load 307 402 309: 20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34 403 310: 73(ptr) AccessChain 27(data) 306 39 404 Store 310 309 405 311: 6(int) Load 8(invocation) 406 312: 96(ptr) AccessChain 27(data) 29 50 30 407 313: 6(int) Load 312 408 314: 6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34 409 315: 96(ptr) AccessChain 27(data) 311 50 30 410 Store 315 314 411 316: 6(int) Load 8(invocation) 412 317: 103(ptr) AccessChain 27(data) 39 50 413 318: 21(ivec4) Load 317 414 319: 102(ivec2) VectorShuffle 318 318 0 1 415 320: 102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34 416 321: 103(ptr) AccessChain 27(data) 316 50 417 322: 21(ivec4) Load 321 418 323: 21(ivec4) VectorShuffle 322 320 4 5 2 3 419 Store 321 323 420 324: 6(int) Load 8(invocation) 421 325: 103(ptr) AccessChain 27(data) 50 50 422 326: 21(ivec4) Load 325 423 327: 112(ivec3) VectorShuffle 326 326 0 1 2 424 328: 112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34 425 329: 103(ptr) AccessChain 27(data) 324 50 426 330: 21(ivec4) Load 329 427 331: 21(ivec4) VectorShuffle 330 328 4 5 6 3 428 Store 329 331 429 332: 6(int) Load 8(invocation) 430 333: 103(ptr) AccessChain 27(data) 60 50 431 334: 21(ivec4) Load 333 432 335: 21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34 433 336: 103(ptr) AccessChain 27(data) 332 50 434 Store 336 335 435 337: 6(int) Load 8(invocation) 436 338: 126(ptr) AccessChain 27(data) 29 60 30 437 339:22(float64_t) Load 338 438 340:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 339 34 439 341: 126(ptr) AccessChain 27(data) 337 60 30 440 Store 341 340 441 342: 6(int) Load 8(invocation) 442 343: 133(ptr) AccessChain 27(data) 39 60 443 344: 23(f64vec4) Load 343 444 345:132(f64vec2) VectorShuffle 344 344 0 1 445 346:132(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 345 34 446 347: 133(ptr) AccessChain 27(data) 342 60 447 348: 23(f64vec4) Load 347 448 349: 23(f64vec4) VectorShuffle 348 346 4 5 2 3 449 Store 347 349 450 350: 6(int) Load 8(invocation) 451 351: 133(ptr) AccessChain 27(data) 50 60 452 352: 23(f64vec4) Load 351 453 353:142(f64vec3) VectorShuffle 352 352 0 1 2 454 354:142(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 353 34 455 355: 133(ptr) AccessChain 27(data) 350 60 456 356: 23(f64vec4) Load 355 457 357: 23(f64vec4) VectorShuffle 356 354 4 5 6 3 458 Store 355 357 459 358: 6(int) Load 8(invocation) 460 359: 133(ptr) AccessChain 27(data) 60 60 461 360: 23(f64vec4) Load 359 462 361: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 360 34 463 362: 133(ptr) AccessChain 27(data) 358 60 464 Store 362 361 465 363: 6(int) Load 8(invocation) 466 364: 31(ptr) AccessChain 27(data) 29 29 30 467 365: 17(float) Load 364 468 366: 17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34 469 367: 31(ptr) AccessChain 27(data) 363 29 30 470 Store 367 366 471 368: 6(int) Load 8(invocation) 472 369: 41(ptr) AccessChain 27(data) 39 29 473 370: 18(fvec4) Load 369 474 371: 40(fvec2) VectorShuffle 370 370 0 1 475 372: 40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34 476 373: 41(ptr) AccessChain 27(data) 368 29 477 374: 18(fvec4) Load 373 478 375: 18(fvec4) VectorShuffle 374 372 4 5 2 3 479 Store 373 375 480 376: 6(int) Load 8(invocation) 481 377: 41(ptr) AccessChain 27(data) 50 29 482 378: 18(fvec4) Load 377 483 379: 51(fvec3) VectorShuffle 378 378 0 1 2 484 380: 51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34 485 381: 41(ptr) AccessChain 27(data) 376 29 486 382: 18(fvec4) Load 381 487 383: 18(fvec4) VectorShuffle 382 380 4 5 6 3 488 Store 381 383 489 384: 6(int) Load 8(invocation) 490 385: 41(ptr) AccessChain 27(data) 60 29 491 386: 18(fvec4) Load 385 492 387: 18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34 493 388: 41(ptr) AccessChain 27(data) 384 29 494 Store 388 387 495 389: 6(int) Load 8(invocation) 496 390: 66(ptr) AccessChain 27(data) 29 39 30 497 391: 19(int) Load 390 498 392: 19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34 499 393: 66(ptr) AccessChain 27(data) 389 39 30 500 Store 393 392 501 394: 6(int) Load 8(invocation) 502 395: 73(ptr) AccessChain 27(data) 39 39 503 396: 20(ivec4) Load 395 504 397: 72(ivec2) VectorShuffle 396 396 0 1 505 398: 72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34 506 399: 73(ptr) AccessChain 27(data) 394 39 507 400: 20(ivec4) Load 399 508 401: 20(ivec4) VectorShuffle 400 398 4 5 2 3 509 Store 399 401 510 402: 6(int) Load 8(invocation) 511 403: 73(ptr) AccessChain 27(data) 50 39 512 404: 20(ivec4) Load 403 513 405: 82(ivec3) VectorShuffle 404 404 0 1 2 514 406: 82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34 515 407: 73(ptr) AccessChain 27(data) 402 39 516 408: 20(ivec4) Load 407 517 409: 20(ivec4) VectorShuffle 408 406 4 5 6 3 518 Store 407 409 519 410: 6(int) Load 8(invocation) 520 411: 73(ptr) AccessChain 27(data) 60 39 521 412: 20(ivec4) Load 411 522 413: 20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34 523 414: 73(ptr) AccessChain 27(data) 410 39 524 Store 414 413 525 415: 6(int) Load 8(invocation) 526 416: 96(ptr) AccessChain 27(data) 29 50 30 527 417: 6(int) Load 416 528 418: 6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34 529 419: 96(ptr) AccessChain 27(data) 415 50 30 530 Store 419 418 531 420: 6(int) Load 8(invocation) 532 421: 103(ptr) AccessChain 27(data) 39 50 533 422: 21(ivec4) Load 421 534 423: 102(ivec2) VectorShuffle 422 422 0 1 535 424: 102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34 536 425: 103(ptr) AccessChain 27(data) 420 50 537 426: 21(ivec4) Load 425 538 427: 21(ivec4) VectorShuffle 426 424 4 5 2 3 539 Store 425 427 540 428: 6(int) Load 8(invocation) 541 429: 103(ptr) AccessChain 27(data) 50 50 542 430: 21(ivec4) Load 429 543 431: 112(ivec3) VectorShuffle 430 430 0 1 2 544 432: 112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34 545 433: 103(ptr) AccessChain 27(data) 428 50 546 434: 21(ivec4) Load 433 547 435: 21(ivec4) VectorShuffle 434 432 4 5 6 3 548 Store 433 435 549 436: 6(int) Load 8(invocation) 550 437: 103(ptr) AccessChain 27(data) 60 50 551 438: 21(ivec4) Load 437 552 439: 21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34 553 440: 103(ptr) AccessChain 27(data) 436 50 554 Store 440 439 555 441: 6(int) Load 8(invocation) 556 442: 126(ptr) AccessChain 27(data) 29 60 30 557 443:22(float64_t) Load 442 558 444:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 443 34 559 445: 126(ptr) AccessChain 27(data) 441 60 30 560 Store 445 444 561 446: 6(int) Load 8(invocation) 562 447: 133(ptr) AccessChain 27(data) 39 60 563 448: 23(f64vec4) Load 447 564 449:132(f64vec2) VectorShuffle 448 448 0 1 565 450:132(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 449 34 566 451: 133(ptr) AccessChain 27(data) 446 60 567 452: 23(f64vec4) Load 451 568 453: 23(f64vec4) VectorShuffle 452 450 4 5 2 3 569 Store 451 453 570 454: 6(int) Load 8(invocation) 571 455: 133(ptr) AccessChain 27(data) 50 60 572 456: 23(f64vec4) Load 455 573 457:142(f64vec3) VectorShuffle 456 456 0 1 2 574 458:142(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 457 34 575 459: 133(ptr) AccessChain 27(data) 454 60 576 460: 23(f64vec4) Load 459 577 461: 23(f64vec4) VectorShuffle 460 458 4 5 6 3 578 Store 459 461 579 462: 6(int) Load 8(invocation) 580 463: 133(ptr) AccessChain 27(data) 60 60 581 464: 23(f64vec4) Load 463 582 465: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 464 34 583 466: 133(ptr) AccessChain 27(data) 462 60 584 Store 466 465 585 467: 6(int) Load 8(invocation) 586 468: 66(ptr) AccessChain 27(data) 29 39 30 587 469: 19(int) Load 468 588 470: 19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34 589 471: 66(ptr) AccessChain 27(data) 467 39 30 590 Store 471 470 591 472: 6(int) Load 8(invocation) 592 473: 73(ptr) AccessChain 27(data) 39 39 593 474: 20(ivec4) Load 473 594 475: 72(ivec2) VectorShuffle 474 474 0 1 595 476: 72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34 596 477: 73(ptr) AccessChain 27(data) 472 39 597 478: 20(ivec4) Load 477 598 479: 20(ivec4) VectorShuffle 478 476 4 5 2 3 599 Store 477 479 600 480: 6(int) Load 8(invocation) 601 481: 73(ptr) AccessChain 27(data) 50 39 602 482: 20(ivec4) Load 481 603 483: 82(ivec3) VectorShuffle 482 482 0 1 2 604 484: 82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34 605 485: 73(ptr) AccessChain 27(data) 480 39 606 486: 20(ivec4) Load 485 607 487: 20(ivec4) VectorShuffle 486 484 4 5 6 3 608 Store 485 487 609 488: 6(int) Load 8(invocation) 610 489: 73(ptr) AccessChain 27(data) 60 39 611 490: 20(ivec4) Load 489 612 491: 20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34 613 492: 73(ptr) AccessChain 27(data) 488 39 614 Store 492 491 615 493: 6(int) Load 8(invocation) 616 494: 96(ptr) AccessChain 27(data) 29 50 30 617 495: 6(int) Load 494 618 496: 6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34 619 497: 96(ptr) AccessChain 27(data) 493 50 30 620 Store 497 496 621 498: 6(int) Load 8(invocation) 622 499: 103(ptr) AccessChain 27(data) 39 50 623 500: 21(ivec4) Load 499 624 501: 102(ivec2) VectorShuffle 500 500 0 1 625 502: 102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34 626 503: 103(ptr) AccessChain 27(data) 498 50 627 504: 21(ivec4) Load 503 628 505: 21(ivec4) VectorShuffle 504 502 4 5 2 3 629 Store 503 505 630 506: 6(int) Load 8(invocation) 631 507: 103(ptr) AccessChain 27(data) 50 50 632 508: 21(ivec4) Load 507 633 509: 112(ivec3) VectorShuffle 508 508 0 1 2 634 510: 112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34 635 511: 103(ptr) AccessChain 27(data) 506 50 636 512: 21(ivec4) Load 511 637 513: 21(ivec4) VectorShuffle 512 510 4 5 6 3 638 Store 511 513 639 514: 6(int) Load 8(invocation) 640 515: 103(ptr) AccessChain 27(data) 60 50 641 516: 21(ivec4) Load 515 642 517: 21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34 643 518: 103(ptr) AccessChain 27(data) 514 50 644 Store 518 517 645 519: 6(int) Load 8(invocation) 646 520: 66(ptr) AccessChain 27(data) 29 39 30 647 521: 19(int) Load 520 648 523: 522(bool) SLessThan 521 29 649 524: 522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34 650 525: 19(int) Select 524 39 29 651 526: 66(ptr) AccessChain 27(data) 519 39 30 652 Store 526 525 653 527: 6(int) Load 8(invocation) 654 528: 73(ptr) AccessChain 27(data) 39 39 655 529: 20(ivec4) Load 528 656 530: 72(ivec2) VectorShuffle 529 529 0 1 657 533: 532(bvec2) SLessThan 530 531 658 534: 532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34 659 536: 72(ivec2) Select 534 535 531 660 537: 73(ptr) AccessChain 27(data) 527 39 661 538: 20(ivec4) Load 537 662 539: 20(ivec4) VectorShuffle 538 536 4 5 2 3 663 Store 537 539 664 540: 6(int) Load 8(invocation) 665 541: 73(ptr) AccessChain 27(data) 39 39 666 542: 20(ivec4) Load 541 667 543: 82(ivec3) VectorShuffle 542 542 0 1 2 668 546: 545(bvec3) SLessThan 543 544 669 547: 545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34 670 549: 82(ivec3) Select 547 548 544 671 550: 73(ptr) AccessChain 27(data) 540 39 672 551: 20(ivec4) Load 550 673 552: 20(ivec4) VectorShuffle 551 549 4 5 6 3 674 Store 550 552 675 553: 6(int) Load 8(invocation) 676 554: 73(ptr) AccessChain 27(data) 39 39 677 555: 20(ivec4) Load 554 678 558: 557(bvec4) SLessThan 555 556 679 559: 557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34 680 561: 20(ivec4) Select 559 560 556 681 562: 73(ptr) AccessChain 27(data) 553 39 682 Store 562 561 683 563: 6(int) Load 8(invocation) 684 564: 66(ptr) AccessChain 27(data) 29 39 30 685 565: 19(int) Load 564 686 566: 19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34 687 567: 66(ptr) AccessChain 27(data) 563 39 30 688 Store 567 566 689 568: 6(int) Load 8(invocation) 690 569: 73(ptr) AccessChain 27(data) 39 39 691 570: 20(ivec4) Load 569 692 571: 72(ivec2) VectorShuffle 570 570 0 1 693 572: 72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34 694 573: 73(ptr) AccessChain 27(data) 568 39 695 574: 20(ivec4) Load 573 696 575: 20(ivec4) VectorShuffle 574 572 4 5 2 3 697 Store 573 575 698 576: 6(int) Load 8(invocation) 699 577: 73(ptr) AccessChain 27(data) 50 39 700 578: 20(ivec4) Load 577 701 579: 82(ivec3) VectorShuffle 578 578 0 1 2 702 580: 82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34 703 581: 73(ptr) AccessChain 27(data) 576 39 704 582: 20(ivec4) Load 581 705 583: 20(ivec4) VectorShuffle 582 580 4 5 6 3 706 Store 581 583 707 584: 6(int) Load 8(invocation) 708 585: 73(ptr) AccessChain 27(data) 60 39 709 586: 20(ivec4) Load 585 710 587: 20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34 711 588: 73(ptr) AccessChain 27(data) 584 39 712 Store 588 587 713 589: 6(int) Load 8(invocation) 714 590: 96(ptr) AccessChain 27(data) 29 50 30 715 591: 6(int) Load 590 716 592: 6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34 717 593: 96(ptr) AccessChain 27(data) 589 50 30 718 Store 593 592 719 594: 6(int) Load 8(invocation) 720 595: 103(ptr) AccessChain 27(data) 39 50 721 596: 21(ivec4) Load 595 722 597: 102(ivec2) VectorShuffle 596 596 0 1 723 598: 102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34 724 599: 103(ptr) AccessChain 27(data) 594 50 725 600: 21(ivec4) Load 599 726 601: 21(ivec4) VectorShuffle 600 598 4 5 2 3 727 Store 599 601 728 602: 6(int) Load 8(invocation) 729 603: 103(ptr) AccessChain 27(data) 50 50 730 604: 21(ivec4) Load 603 731 605: 112(ivec3) VectorShuffle 604 604 0 1 2 732 606: 112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34 733 607: 103(ptr) AccessChain 27(data) 602 50 734 608: 21(ivec4) Load 607 735 609: 21(ivec4) VectorShuffle 608 606 4 5 6 3 736 Store 607 609 737 610: 6(int) Load 8(invocation) 738 611: 103(ptr) AccessChain 27(data) 60 50 739 612: 21(ivec4) Load 611 740 613: 21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34 741 614: 103(ptr) AccessChain 27(data) 610 50 742 Store 614 613 743 615: 6(int) Load 8(invocation) 744 616: 66(ptr) AccessChain 27(data) 29 39 30 745 617: 19(int) Load 616 746 618: 522(bool) SLessThan 617 29 747 619: 522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34 748 620: 19(int) Select 619 39 29 749 621: 66(ptr) AccessChain 27(data) 615 39 30 750 Store 621 620 751 622: 6(int) Load 8(invocation) 752 623: 73(ptr) AccessChain 27(data) 39 39 753 624: 20(ivec4) Load 623 754 625: 72(ivec2) VectorShuffle 624 624 0 1 755 626: 532(bvec2) SLessThan 625 531 756 627: 532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34 757 628: 72(ivec2) Select 627 535 531 758 629: 73(ptr) AccessChain 27(data) 622 39 759 630: 20(ivec4) Load 629 760 631: 20(ivec4) VectorShuffle 630 628 4 5 2 3 761 Store 629 631 762 632: 6(int) Load 8(invocation) 763 633: 73(ptr) AccessChain 27(data) 39 39 764 634: 20(ivec4) Load 633 765 635: 82(ivec3) VectorShuffle 634 634 0 1 2 766 636: 545(bvec3) SLessThan 635 544 767 637: 545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34 768 638: 82(ivec3) Select 637 548 544 769 639: 73(ptr) AccessChain 27(data) 632 39 770 640: 20(ivec4) Load 639 771 641: 20(ivec4) VectorShuffle 640 638 4 5 6 3 772 Store 639 641 773 642: 6(int) Load 8(invocation) 774 643: 73(ptr) AccessChain 27(data) 39 39 775 644: 20(ivec4) Load 643 776 645: 557(bvec4) SLessThan 644 556 777 646: 557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34 778 647: 20(ivec4) Select 646 560 556 779 648: 73(ptr) AccessChain 27(data) 642 39 780 Store 648 647 781 649: 6(int) Load 8(invocation) 782 650: 66(ptr) AccessChain 27(data) 29 39 30 783 651: 19(int) Load 650 784 652: 19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34 785 653: 66(ptr) AccessChain 27(data) 649 39 30 786 Store 653 652 787 654: 6(int) Load 8(invocation) 788 655: 73(ptr) AccessChain 27(data) 39 39 789 656: 20(ivec4) Load 655 790 657: 72(ivec2) VectorShuffle 656 656 0 1 791 658: 72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34 792 659: 73(ptr) AccessChain 27(data) 654 39 793 660: 20(ivec4) Load 659 794 661: 20(ivec4) VectorShuffle 660 658 4 5 2 3 795 Store 659 661 796 662: 6(int) Load 8(invocation) 797 663: 73(ptr) AccessChain 27(data) 50 39 798 664: 20(ivec4) Load 663 799 665: 82(ivec3) VectorShuffle 664 664 0 1 2 800 666: 82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34 801 667: 73(ptr) AccessChain 27(data) 662 39 802 668: 20(ivec4) Load 667 803 669: 20(ivec4) VectorShuffle 668 666 4 5 6 3 804 Store 667 669 805 670: 6(int) Load 8(invocation) 806 671: 73(ptr) AccessChain 27(data) 60 39 807 672: 20(ivec4) Load 671 808 673: 20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34 809 674: 73(ptr) AccessChain 27(data) 670 39 810 Store 674 673 811 675: 6(int) Load 8(invocation) 812 676: 96(ptr) AccessChain 27(data) 29 50 30 813 677: 6(int) Load 676 814 678: 6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34 815 679: 96(ptr) AccessChain 27(data) 675 50 30 816 Store 679 678 817 680: 6(int) Load 8(invocation) 818 681: 103(ptr) AccessChain 27(data) 39 50 819 682: 21(ivec4) Load 681 820 683: 102(ivec2) VectorShuffle 682 682 0 1 821 684: 102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34 822 685: 103(ptr) AccessChain 27(data) 680 50 823 686: 21(ivec4) Load 685 824 687: 21(ivec4) VectorShuffle 686 684 4 5 2 3 825 Store 685 687 826 688: 6(int) Load 8(invocation) 827 689: 103(ptr) AccessChain 27(data) 50 50 828 690: 21(ivec4) Load 689 829 691: 112(ivec3) VectorShuffle 690 690 0 1 2 830 692: 112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34 831 693: 103(ptr) AccessChain 27(data) 688 50 832 694: 21(ivec4) Load 693 833 695: 21(ivec4) VectorShuffle 694 692 4 5 6 3 834 Store 693 695 835 696: 6(int) Load 8(invocation) 836 697: 103(ptr) AccessChain 27(data) 60 50 837 698: 21(ivec4) Load 697 838 699: 21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34 839 700: 103(ptr) AccessChain 27(data) 696 50 840 Store 700 699 841 701: 6(int) Load 8(invocation) 842 702: 66(ptr) AccessChain 27(data) 29 39 30 843 703: 19(int) Load 702 844 704: 522(bool) SLessThan 703 29 845 705: 522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34 846 706: 19(int) Select 705 39 29 847 707: 66(ptr) AccessChain 27(data) 701 39 30 848 Store 707 706 849 708: 6(int) Load 8(invocation) 850 709: 73(ptr) AccessChain 27(data) 39 39 851 710: 20(ivec4) Load 709 852 711: 72(ivec2) VectorShuffle 710 710 0 1 853 712: 532(bvec2) SLessThan 711 531 854 713: 532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34 855 714: 72(ivec2) Select 713 535 531 856 715: 73(ptr) AccessChain 27(data) 708 39 857 716: 20(ivec4) Load 715 858 717: 20(ivec4) VectorShuffle 716 714 4 5 2 3 859 Store 715 717 860 718: 6(int) Load 8(invocation) 861 719: 73(ptr) AccessChain 27(data) 39 39 862 720: 20(ivec4) Load 719 863 721: 82(ivec3) VectorShuffle 720 720 0 1 2 864 722: 545(bvec3) SLessThan 721 544 865 723: 545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34 866 724: 82(ivec3) Select 723 548 544 867 725: 73(ptr) AccessChain 27(data) 718 39 868 726: 20(ivec4) Load 725 869 727: 20(ivec4) VectorShuffle 726 724 4 5 6 3 870 Store 725 727 871 728: 6(int) Load 8(invocation) 872 729: 73(ptr) AccessChain 27(data) 39 39 873 730: 20(ivec4) Load 729 874 731: 557(bvec4) SLessThan 730 556 875 732: 557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34 876 733: 20(ivec4) Select 732 560 556 877 734: 73(ptr) AccessChain 27(data) 728 39 878 Store 734 733 879 Return 880 FunctionEnd 881