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