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