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