• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.subgroupBallot.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 437
5
6                              Capability Shader
7                              Capability Float64
8                              Capability GroupNonUniform
9                              Capability GroupNonUniformBallot
10               1:             ExtInstImport  "GLSL.std.450"
11                              MemoryModel Logical GLSL450
12                              EntryPoint GLCompute 4  "main" 10 12 21 23 26 29 32
13                              ExecutionMode 4 LocalSize 8 8 1
14                              Source GLSL 450
15                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
16                              SourceExtension  "GL_KHR_shader_subgroup_basic"
17                              Name 4  "main"
18                              Name 8  "invocation"
19                              Name 10  "gl_SubgroupInvocationID"
20                              Name 12  "gl_SubgroupSize"
21                              Name 19  "relMask"
22                              Name 21  "gl_SubgroupEqMask"
23                              Name 23  "gl_SubgroupGeMask"
24                              Name 26  "gl_SubgroupGtMask"
25                              Name 29  "gl_SubgroupLeMask"
26                              Name 32  "gl_SubgroupLtMask"
27                              Name 35  "result"
28                              Name 46  "Buffers"
29                              MemberName 46(Buffers) 0  "f4"
30                              MemberName 46(Buffers) 1  "i4"
31                              MemberName 46(Buffers) 2  "u4"
32                              MemberName 46(Buffers) 3  "d4"
33                              Name 49  "data"
34                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
35                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
36                              Decorate 11 RelaxedPrecision
37                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
38                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
39                              Decorate 13 RelaxedPrecision
40                              Decorate 14 RelaxedPrecision
41                              Decorate 16 RelaxedPrecision
42                              Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
43                              Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
44                              Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
45                              Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
46                              Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
47                              MemberDecorate 46(Buffers) 0 Offset 0
48                              MemberDecorate 46(Buffers) 1 Offset 16
49                              MemberDecorate 46(Buffers) 2 Offset 32
50                              MemberDecorate 46(Buffers) 3 Offset 64
51                              Decorate 46(Buffers) Block
52                              Decorate 49(data) DescriptorSet 0
53                              Decorate 49(data) Binding 0
54                              Decorate 436 BuiltIn WorkgroupSize
55               2:             TypeVoid
56               3:             TypeFunction 2
57               6:             TypeInt 32 0
58               7:             TypePointer Function 6(int)
59               9:             TypePointer Input 6(int)
6010(gl_SubgroupInvocationID):      9(ptr) Variable Input
6112(gl_SubgroupSize):      9(ptr) Variable Input
62              15:      6(int) Constant 4
63              17:             TypeVector 6(int) 4
64              18:             TypePointer Function 17(ivec4)
65              20:             TypePointer Input 17(ivec4)
6621(gl_SubgroupEqMask):     20(ptr) Variable Input
6723(gl_SubgroupGeMask):     20(ptr) Variable Input
6826(gl_SubgroupGtMask):     20(ptr) Variable Input
6929(gl_SubgroupLeMask):     20(ptr) Variable Input
7032(gl_SubgroupLtMask):     20(ptr) Variable Input
71              36:             TypeBool
72              37:    36(bool) ConstantTrue
73              38:      6(int) Constant 3
74              40:             TypeFloat 32
75              41:             TypeVector 40(float) 4
76              42:             TypeInt 32 1
77              43:             TypeVector 42(int) 4
78              44:             TypeFloat 64
79              45:             TypeVector 44(float64_t) 4
80     46(Buffers):             TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4)
81              47:             TypeArray 46(Buffers) 15
82              48:             TypePointer StorageBuffer 47
83        49(data):     48(ptr) Variable StorageBuffer
84              51:     42(int) Constant 2
85              54:      6(int) Constant 0
86              55:             TypePointer StorageBuffer 6(int)
87              60:     42(int) Constant 1
88              61:     42(int) Constant 0
89              64:      6(int) Constant 1
90              72:      6(int) Constant 2
91              83:             TypeVector 36(bool) 4
92              88:             TypePointer StorageBuffer 17(ivec4)
93              96:             TypePointer StorageBuffer 40(float)
94             102:             TypeVector 40(float) 2
95             103:             TypePointer StorageBuffer 41(fvec4)
96             113:             TypeVector 40(float) 3
97             125:     42(int) Constant 3
98             131:             TypePointer StorageBuffer 42(int)
99             137:             TypeVector 42(int) 2
100             138:             TypePointer StorageBuffer 43(ivec4)
101             148:             TypeVector 42(int) 3
102             170:             TypeVector 6(int) 2
103             180:             TypeVector 6(int) 3
104             197:             TypePointer StorageBuffer 44(float64_t)
105             203:             TypeVector 44(float64_t) 2
106             204:             TypePointer StorageBuffer 45(f64vec4)
107             214:             TypeVector 44(float64_t) 3
108             241:  137(ivec2) ConstantComposite 61 61
109             242:             TypeVector 36(bool) 2
110             245:  137(ivec2) ConstantComposite 60 60
111             255:  148(ivec3) ConstantComposite 61 61 61
112             256:             TypeVector 36(bool) 3
113             259:  148(ivec3) ConstantComposite 60 60 60
114             270:   43(ivec4) ConstantComposite 61 61 61 61
115             273:   43(ivec4) ConstantComposite 60 60 60 60
116             435:      6(int) Constant 8
117             436:  180(ivec3) ConstantComposite 435 435 64
118         4(main):           2 Function None 3
119               5:             Label
120   8(invocation):      7(ptr) Variable Function
121     19(relMask):     18(ptr) Variable Function
122      35(result):     18(ptr) Variable Function
123              11:      6(int) Load 10(gl_SubgroupInvocationID)
124              13:      6(int) Load 12(gl_SubgroupSize)
125              14:      6(int) IAdd 11 13
126              16:      6(int) UMod 14 15
127                              Store 8(invocation) 16
128              22:   17(ivec4) Load 21(gl_SubgroupEqMask)
129              24:   17(ivec4) Load 23(gl_SubgroupGeMask)
130              25:   17(ivec4) IAdd 22 24
131              27:   17(ivec4) Load 26(gl_SubgroupGtMask)
132              28:   17(ivec4) IAdd 25 27
133              30:   17(ivec4) Load 29(gl_SubgroupLeMask)
134              31:   17(ivec4) IAdd 28 30
135              33:   17(ivec4) Load 32(gl_SubgroupLtMask)
136              34:   17(ivec4) IAdd 31 33
137                              Store 19(relMask) 34
138              39:   17(ivec4) GroupNonUniformBallot 38 37
139                              Store 35(result) 39
140              50:      6(int) Load 8(invocation)
141              52:   17(ivec4) Load 35(result)
142              53:      6(int) GroupNonUniformBallotBitCount 38 Reduce 52
143              56:     55(ptr) AccessChain 49(data) 50 51 54
144                              Store 56 53
145              57:      6(int) Load 8(invocation)
146              58:   17(ivec4) Load 35(result)
147              59:    36(bool) GroupNonUniformBallotBitExtract 38 58 54
148              62:     42(int) Select 59 60 61
149              63:      6(int) Bitcast 62
150              65:     55(ptr) AccessChain 49(data) 57 51 64
151                              Store 65 63
152              66:      6(int) Load 8(invocation)
153              67:   17(ivec4) Load 35(result)
154              68:      6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
155              69:   17(ivec4) Load 35(result)
156              70:      6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
157              71:      6(int) IAdd 68 70
158              73:     55(ptr) AccessChain 49(data) 66 51 72
159                              Store 73 71
160              74:      6(int) Load 8(invocation)
161              75:   17(ivec4) Load 35(result)
162              76:      6(int) GroupNonUniformBallotFindLSB 38 75
163              77:   17(ivec4) Load 35(result)
164              78:      6(int) GroupNonUniformBallotFindMSB 38 77
165              79:      6(int) IAdd 76 78
166              80:     55(ptr) AccessChain 49(data) 74 51 38
167                              Store 80 79
168              81:   17(ivec4) Load 19(relMask)
169              82:   17(ivec4) Load 35(result)
170              84:   83(bvec4) IEqual 81 82
171              85:    36(bool) All 84
172                              SelectionMerge 87 None
173                              BranchConditional 85 86 87
174              86:               Label
175              89:     88(ptr)   AccessChain 49(data) 61 51
176              90:   17(ivec4)   Load 89
177              91:    36(bool)   GroupNonUniformInverseBallot 38 90
178                                Branch 87
179              87:             Label
180              92:    36(bool) Phi 85 5 91 86
181                              SelectionMerge 94 None
182                              BranchConditional 92 93 276
183              93:               Label
184              95:      6(int)   Load 8(invocation)
185              97:     96(ptr)   AccessChain 49(data) 61 61 54
186              98:   40(float)   Load 97
187              99:   40(float)   GroupNonUniformBroadcast 38 98 38
188             100:     96(ptr)   AccessChain 49(data) 95 61 54
189                                Store 100 99
190             101:      6(int)   Load 8(invocation)
191             104:    103(ptr)   AccessChain 49(data) 60 61
192             105:   41(fvec4)   Load 104
193             106:  102(fvec2)   VectorShuffle 105 105 0 1
194             107:  102(fvec2)   GroupNonUniformBroadcast 38 106 38
195             108:     96(ptr)   AccessChain 49(data) 101 61 54
196             109:   40(float)   CompositeExtract 107 0
197                                Store 108 109
198             110:     96(ptr)   AccessChain 49(data) 101 61 64
199             111:   40(float)   CompositeExtract 107 1
200                                Store 110 111
201             112:      6(int)   Load 8(invocation)
202             114:    103(ptr)   AccessChain 49(data) 51 61
203             115:   41(fvec4)   Load 114
204             116:  113(fvec3)   VectorShuffle 115 115 0 1 2
205             117:  113(fvec3)   GroupNonUniformBroadcast 38 116 38
206             118:     96(ptr)   AccessChain 49(data) 112 61 54
207             119:   40(float)   CompositeExtract 117 0
208                                Store 118 119
209             120:     96(ptr)   AccessChain 49(data) 112 61 64
210             121:   40(float)   CompositeExtract 117 1
211                                Store 120 121
212             122:     96(ptr)   AccessChain 49(data) 112 61 72
213             123:   40(float)   CompositeExtract 117 2
214                                Store 122 123
215             124:      6(int)   Load 8(invocation)
216             126:    103(ptr)   AccessChain 49(data) 125 61
217             127:   41(fvec4)   Load 126
218             128:   41(fvec4)   GroupNonUniformBroadcast 38 127 38
219             129:    103(ptr)   AccessChain 49(data) 124 61
220                                Store 129 128
221             130:      6(int)   Load 8(invocation)
222             132:    131(ptr)   AccessChain 49(data) 61 60 54
223             133:     42(int)   Load 132
224             134:     42(int)   GroupNonUniformBroadcast 38 133 72
225             135:    131(ptr)   AccessChain 49(data) 130 60 54
226                                Store 135 134
227             136:      6(int)   Load 8(invocation)
228             139:    138(ptr)   AccessChain 49(data) 60 60
229             140:   43(ivec4)   Load 139
230             141:  137(ivec2)   VectorShuffle 140 140 0 1
231             142:  137(ivec2)   GroupNonUniformBroadcast 38 141 72
232             143:    131(ptr)   AccessChain 49(data) 136 60 54
233             144:     42(int)   CompositeExtract 142 0
234                                Store 143 144
235             145:    131(ptr)   AccessChain 49(data) 136 60 64
236             146:     42(int)   CompositeExtract 142 1
237                                Store 145 146
238             147:      6(int)   Load 8(invocation)
239             149:    138(ptr)   AccessChain 49(data) 51 60
240             150:   43(ivec4)   Load 149
241             151:  148(ivec3)   VectorShuffle 150 150 0 1 2
242             152:  148(ivec3)   GroupNonUniformBroadcast 38 151 72
243             153:    131(ptr)   AccessChain 49(data) 147 60 54
244             154:     42(int)   CompositeExtract 152 0
245                                Store 153 154
246             155:    131(ptr)   AccessChain 49(data) 147 60 64
247             156:     42(int)   CompositeExtract 152 1
248                                Store 155 156
249             157:    131(ptr)   AccessChain 49(data) 147 60 72
250             158:     42(int)   CompositeExtract 152 2
251                                Store 157 158
252             159:      6(int)   Load 8(invocation)
253             160:    138(ptr)   AccessChain 49(data) 125 60
254             161:   43(ivec4)   Load 160
255             162:   43(ivec4)   GroupNonUniformBroadcast 38 161 72
256             163:    138(ptr)   AccessChain 49(data) 159 60
257                                Store 163 162
258             164:      6(int)   Load 8(invocation)
259             165:     55(ptr)   AccessChain 49(data) 61 51 54
260             166:      6(int)   Load 165
261             167:      6(int)   GroupNonUniformBroadcast 38 166 64
262             168:     55(ptr)   AccessChain 49(data) 164 51 54
263                                Store 168 167
264             169:      6(int)   Load 8(invocation)
265             171:     88(ptr)   AccessChain 49(data) 60 51
266             172:   17(ivec4)   Load 171
267             173:  170(ivec2)   VectorShuffle 172 172 0 1
268             174:  170(ivec2)   GroupNonUniformBroadcast 38 173 64
269             175:     55(ptr)   AccessChain 49(data) 169 51 54
270             176:      6(int)   CompositeExtract 174 0
271                                Store 175 176
272             177:     55(ptr)   AccessChain 49(data) 169 51 64
273             178:      6(int)   CompositeExtract 174 1
274                                Store 177 178
275             179:      6(int)   Load 8(invocation)
276             181:     88(ptr)   AccessChain 49(data) 51 51
277             182:   17(ivec4)   Load 181
278             183:  180(ivec3)   VectorShuffle 182 182 0 1 2
279             184:  180(ivec3)   GroupNonUniformBroadcast 38 183 64
280             185:     55(ptr)   AccessChain 49(data) 179 51 54
281             186:      6(int)   CompositeExtract 184 0
282                                Store 185 186
283             187:     55(ptr)   AccessChain 49(data) 179 51 64
284             188:      6(int)   CompositeExtract 184 1
285                                Store 187 188
286             189:     55(ptr)   AccessChain 49(data) 179 51 72
287             190:      6(int)   CompositeExtract 184 2
288                                Store 189 190
289             191:      6(int)   Load 8(invocation)
290             192:     88(ptr)   AccessChain 49(data) 125 51
291             193:   17(ivec4)   Load 192
292             194:   17(ivec4)   GroupNonUniformBroadcast 38 193 64
293             195:     88(ptr)   AccessChain 49(data) 191 51
294                                Store 195 194
295             196:      6(int)   Load 8(invocation)
296             198:    197(ptr)   AccessChain 49(data) 61 125 54
297             199:44(float64_t)   Load 198
298             200:44(float64_t)   GroupNonUniformBroadcast 38 199 54
299             201:    197(ptr)   AccessChain 49(data) 196 125 54
300                                Store 201 200
301             202:      6(int)   Load 8(invocation)
302             205:    204(ptr)   AccessChain 49(data) 60 125
303             206: 45(f64vec4)   Load 205
304             207:203(f64vec2)   VectorShuffle 206 206 0 1
305             208:203(f64vec2)   GroupNonUniformBroadcast 38 207 54
306             209:    197(ptr)   AccessChain 49(data) 202 125 54
307             210:44(float64_t)   CompositeExtract 208 0
308                                Store 209 210
309             211:    197(ptr)   AccessChain 49(data) 202 125 64
310             212:44(float64_t)   CompositeExtract 208 1
311                                Store 211 212
312             213:      6(int)   Load 8(invocation)
313             215:    204(ptr)   AccessChain 49(data) 51 125
314             216: 45(f64vec4)   Load 215
315             217:214(f64vec3)   VectorShuffle 216 216 0 1 2
316             218:214(f64vec3)   GroupNonUniformBroadcast 38 217 54
317             219:    197(ptr)   AccessChain 49(data) 213 125 54
318             220:44(float64_t)   CompositeExtract 218 0
319                                Store 219 220
320             221:    197(ptr)   AccessChain 49(data) 213 125 64
321             222:44(float64_t)   CompositeExtract 218 1
322                                Store 221 222
323             223:    197(ptr)   AccessChain 49(data) 213 125 72
324             224:44(float64_t)   CompositeExtract 218 2
325                                Store 223 224
326             225:      6(int)   Load 8(invocation)
327             226:    204(ptr)   AccessChain 49(data) 125 125
328             227: 45(f64vec4)   Load 226
329             228: 45(f64vec4)   GroupNonUniformBroadcast 38 227 54
330             229:    204(ptr)   AccessChain 49(data) 225 125
331                                Store 229 228
332             230:      6(int)   Load 8(invocation)
333             231:    131(ptr)   AccessChain 49(data) 61 60 54
334             232:     42(int)   Load 231
335             233:    36(bool)   SLessThan 232 61
336             234:    36(bool)   GroupNonUniformBroadcast 38 233 64
337             235:     42(int)   Select 234 60 61
338             236:    131(ptr)   AccessChain 49(data) 230 60 54
339                                Store 236 235
340             237:      6(int)   Load 8(invocation)
341             238:    138(ptr)   AccessChain 49(data) 60 60
342             239:   43(ivec4)   Load 238
343             240:  137(ivec2)   VectorShuffle 239 239 0 1
344             243:  242(bvec2)   SLessThan 240 241
345             244:  242(bvec2)   GroupNonUniformBroadcast 38 243 64
346             246:  137(ivec2)   Select 244 245 241
347             247:    131(ptr)   AccessChain 49(data) 237 60 54
348             248:     42(int)   CompositeExtract 246 0
349                                Store 247 248
350             249:    131(ptr)   AccessChain 49(data) 237 60 64
351             250:     42(int)   CompositeExtract 246 1
352                                Store 249 250
353             251:      6(int)   Load 8(invocation)
354             252:    138(ptr)   AccessChain 49(data) 60 60
355             253:   43(ivec4)   Load 252
356             254:  148(ivec3)   VectorShuffle 253 253 0 1 2
357             257:  256(bvec3)   SLessThan 254 255
358             258:  256(bvec3)   GroupNonUniformBroadcast 38 257 64
359             260:  148(ivec3)   Select 258 259 255
360             261:    131(ptr)   AccessChain 49(data) 251 60 54
361             262:     42(int)   CompositeExtract 260 0
362                                Store 261 262
363             263:    131(ptr)   AccessChain 49(data) 251 60 64
364             264:     42(int)   CompositeExtract 260 1
365                                Store 263 264
366             265:    131(ptr)   AccessChain 49(data) 251 60 72
367             266:     42(int)   CompositeExtract 260 2
368                                Store 265 266
369             267:      6(int)   Load 8(invocation)
370             268:    138(ptr)   AccessChain 49(data) 60 60
371             269:   43(ivec4)   Load 268
372             271:   83(bvec4)   SLessThan 269 270
373             272:   83(bvec4)   GroupNonUniformBroadcast 38 271 64
374             274:   43(ivec4)   Select 272 273 270
375             275:    138(ptr)   AccessChain 49(data) 267 60
376                                Store 275 274
377                                Branch 94
378             276:               Label
379             277:      6(int)   Load 8(invocation)
380             278:     96(ptr)   AccessChain 49(data) 61 61 54
381             279:   40(float)   Load 278
382             280:   40(float)   GroupNonUniformBroadcastFirst 38 279
383             281:     96(ptr)   AccessChain 49(data) 277 61 54
384                                Store 281 280
385             282:      6(int)   Load 8(invocation)
386             283:    103(ptr)   AccessChain 49(data) 60 61
387             284:   41(fvec4)   Load 283
388             285:  102(fvec2)   VectorShuffle 284 284 0 1
389             286:  102(fvec2)   GroupNonUniformBroadcastFirst 38 285
390             287:     96(ptr)   AccessChain 49(data) 282 61 54
391             288:   40(float)   CompositeExtract 286 0
392                                Store 287 288
393             289:     96(ptr)   AccessChain 49(data) 282 61 64
394             290:   40(float)   CompositeExtract 286 1
395                                Store 289 290
396             291:      6(int)   Load 8(invocation)
397             292:    103(ptr)   AccessChain 49(data) 51 61
398             293:   41(fvec4)   Load 292
399             294:  113(fvec3)   VectorShuffle 293 293 0 1 2
400             295:  113(fvec3)   GroupNonUniformBroadcastFirst 38 294
401             296:     96(ptr)   AccessChain 49(data) 291 61 54
402             297:   40(float)   CompositeExtract 295 0
403                                Store 296 297
404             298:     96(ptr)   AccessChain 49(data) 291 61 64
405             299:   40(float)   CompositeExtract 295 1
406                                Store 298 299
407             300:     96(ptr)   AccessChain 49(data) 291 61 72
408             301:   40(float)   CompositeExtract 295 2
409                                Store 300 301
410             302:      6(int)   Load 8(invocation)
411             303:    103(ptr)   AccessChain 49(data) 125 61
412             304:   41(fvec4)   Load 303
413             305:   41(fvec4)   GroupNonUniformBroadcastFirst 38 304
414             306:    103(ptr)   AccessChain 49(data) 302 61
415                                Store 306 305
416             307:      6(int)   Load 8(invocation)
417             308:    131(ptr)   AccessChain 49(data) 61 60 54
418             309:     42(int)   Load 308
419             310:     42(int)   GroupNonUniformBroadcastFirst 38 309
420             311:    131(ptr)   AccessChain 49(data) 307 60 54
421                                Store 311 310
422             312:      6(int)   Load 8(invocation)
423             313:    138(ptr)   AccessChain 49(data) 60 60
424             314:   43(ivec4)   Load 313
425             315:  137(ivec2)   VectorShuffle 314 314 0 1
426             316:  137(ivec2)   GroupNonUniformBroadcastFirst 38 315
427             317:    131(ptr)   AccessChain 49(data) 312 60 54
428             318:     42(int)   CompositeExtract 316 0
429                                Store 317 318
430             319:    131(ptr)   AccessChain 49(data) 312 60 64
431             320:     42(int)   CompositeExtract 316 1
432                                Store 319 320
433             321:      6(int)   Load 8(invocation)
434             322:    138(ptr)   AccessChain 49(data) 51 60
435             323:   43(ivec4)   Load 322
436             324:  148(ivec3)   VectorShuffle 323 323 0 1 2
437             325:  148(ivec3)   GroupNonUniformBroadcastFirst 38 324
438             326:    131(ptr)   AccessChain 49(data) 321 60 54
439             327:     42(int)   CompositeExtract 325 0
440                                Store 326 327
441             328:    131(ptr)   AccessChain 49(data) 321 60 64
442             329:     42(int)   CompositeExtract 325 1
443                                Store 328 329
444             330:    131(ptr)   AccessChain 49(data) 321 60 72
445             331:     42(int)   CompositeExtract 325 2
446                                Store 330 331
447             332:      6(int)   Load 8(invocation)
448             333:    138(ptr)   AccessChain 49(data) 125 60
449             334:   43(ivec4)   Load 333
450             335:   43(ivec4)   GroupNonUniformBroadcastFirst 38 334
451             336:    138(ptr)   AccessChain 49(data) 332 60
452                                Store 336 335
453             337:      6(int)   Load 8(invocation)
454             338:     55(ptr)   AccessChain 49(data) 61 51 54
455             339:      6(int)   Load 338
456             340:      6(int)   GroupNonUniformBroadcastFirst 38 339
457             341:     55(ptr)   AccessChain 49(data) 337 51 54
458                                Store 341 340
459             342:      6(int)   Load 8(invocation)
460             343:     88(ptr)   AccessChain 49(data) 60 51
461             344:   17(ivec4)   Load 343
462             345:  170(ivec2)   VectorShuffle 344 344 0 1
463             346:  170(ivec2)   GroupNonUniformBroadcastFirst 38 345
464             347:     55(ptr)   AccessChain 49(data) 342 51 54
465             348:      6(int)   CompositeExtract 346 0
466                                Store 347 348
467             349:     55(ptr)   AccessChain 49(data) 342 51 64
468             350:      6(int)   CompositeExtract 346 1
469                                Store 349 350
470             351:      6(int)   Load 8(invocation)
471             352:     88(ptr)   AccessChain 49(data) 51 51
472             353:   17(ivec4)   Load 352
473             354:  180(ivec3)   VectorShuffle 353 353 0 1 2
474             355:  180(ivec3)   GroupNonUniformBroadcastFirst 38 354
475             356:     55(ptr)   AccessChain 49(data) 351 51 54
476             357:      6(int)   CompositeExtract 355 0
477                                Store 356 357
478             358:     55(ptr)   AccessChain 49(data) 351 51 64
479             359:      6(int)   CompositeExtract 355 1
480                                Store 358 359
481             360:     55(ptr)   AccessChain 49(data) 351 51 72
482             361:      6(int)   CompositeExtract 355 2
483                                Store 360 361
484             362:      6(int)   Load 8(invocation)
485             363:     88(ptr)   AccessChain 49(data) 125 51
486             364:   17(ivec4)   Load 363
487             365:   17(ivec4)   GroupNonUniformBroadcastFirst 38 364
488             366:     88(ptr)   AccessChain 49(data) 362 51
489                                Store 366 365
490             367:      6(int)   Load 8(invocation)
491             368:    197(ptr)   AccessChain 49(data) 61 125 54
492             369:44(float64_t)   Load 368
493             370:44(float64_t)   GroupNonUniformBroadcastFirst 38 369
494             371:    197(ptr)   AccessChain 49(data) 367 125 54
495                                Store 371 370
496             372:      6(int)   Load 8(invocation)
497             373:    204(ptr)   AccessChain 49(data) 60 125
498             374: 45(f64vec4)   Load 373
499             375:203(f64vec2)   VectorShuffle 374 374 0 1
500             376:203(f64vec2)   GroupNonUniformBroadcastFirst 38 375
501             377:    197(ptr)   AccessChain 49(data) 372 125 54
502             378:44(float64_t)   CompositeExtract 376 0
503                                Store 377 378
504             379:    197(ptr)   AccessChain 49(data) 372 125 64
505             380:44(float64_t)   CompositeExtract 376 1
506                                Store 379 380
507             381:      6(int)   Load 8(invocation)
508             382:    204(ptr)   AccessChain 49(data) 51 125
509             383: 45(f64vec4)   Load 382
510             384:214(f64vec3)   VectorShuffle 383 383 0 1 2
511             385:214(f64vec3)   GroupNonUniformBroadcastFirst 38 384
512             386:    197(ptr)   AccessChain 49(data) 381 125 54
513             387:44(float64_t)   CompositeExtract 385 0
514                                Store 386 387
515             388:    197(ptr)   AccessChain 49(data) 381 125 64
516             389:44(float64_t)   CompositeExtract 385 1
517                                Store 388 389
518             390:    197(ptr)   AccessChain 49(data) 381 125 72
519             391:44(float64_t)   CompositeExtract 385 2
520                                Store 390 391
521             392:      6(int)   Load 8(invocation)
522             393:    204(ptr)   AccessChain 49(data) 125 125
523             394: 45(f64vec4)   Load 393
524             395: 45(f64vec4)   GroupNonUniformBroadcastFirst 38 394
525             396:    204(ptr)   AccessChain 49(data) 392 125
526                                Store 396 395
527             397:      6(int)   Load 8(invocation)
528             398:    131(ptr)   AccessChain 49(data) 61 60 54
529             399:     42(int)   Load 398
530             400:    36(bool)   SLessThan 399 61
531             401:    36(bool)   GroupNonUniformBroadcastFirst 38 400
532             402:     42(int)   Select 401 60 61
533             403:    131(ptr)   AccessChain 49(data) 397 60 54
534                                Store 403 402
535             404:      6(int)   Load 8(invocation)
536             405:    138(ptr)   AccessChain 49(data) 60 60
537             406:   43(ivec4)   Load 405
538             407:  137(ivec2)   VectorShuffle 406 406 0 1
539             408:  242(bvec2)   SLessThan 407 241
540             409:  242(bvec2)   GroupNonUniformBroadcastFirst 38 408
541             410:  137(ivec2)   Select 409 245 241
542             411:    131(ptr)   AccessChain 49(data) 404 60 54
543             412:     42(int)   CompositeExtract 410 0
544                                Store 411 412
545             413:    131(ptr)   AccessChain 49(data) 404 60 64
546             414:     42(int)   CompositeExtract 410 1
547                                Store 413 414
548             415:      6(int)   Load 8(invocation)
549             416:    138(ptr)   AccessChain 49(data) 60 60
550             417:   43(ivec4)   Load 416
551             418:  148(ivec3)   VectorShuffle 417 417 0 1 2
552             419:  256(bvec3)   SLessThan 418 255
553             420:  256(bvec3)   GroupNonUniformBroadcastFirst 38 419
554             421:  148(ivec3)   Select 420 259 255
555             422:    131(ptr)   AccessChain 49(data) 415 60 54
556             423:     42(int)   CompositeExtract 421 0
557                                Store 422 423
558             424:    131(ptr)   AccessChain 49(data) 415 60 64
559             425:     42(int)   CompositeExtract 421 1
560                                Store 424 425
561             426:    131(ptr)   AccessChain 49(data) 415 60 72
562             427:     42(int)   CompositeExtract 421 2
563                                Store 426 427
564             428:      6(int)   Load 8(invocation)
565             429:    138(ptr)   AccessChain 49(data) 60 60
566             430:   43(ivec4)   Load 429
567             431:   83(bvec4)   SLessThan 430 270
568             432:   83(bvec4)   GroupNonUniformBroadcastFirst 38 431
569             433:   43(ivec4)   Select 432 273 270
570             434:    138(ptr)   AccessChain 49(data) 428 60
571                                Store 434 433
572                                Branch 94
573              94:             Label
574                              Return
575                              FunctionEnd
576