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