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