c4f7ac89adedbd14e1bc6872db66900584309fbd
[platform/upstream/glslang.git] / Test / baseResults / hlsl.intrinsics.comp.out
1 hlsl.intrinsics.comp
2 Shader version: 450
3 local_size = (1, 1, 1)
4 0:? Sequence
5 0:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
6 0:17    Function Parameters: 
7 0:17      'inF0' ( in float)
8 0:17      'inF1' ( in float)
9 0:17      'inF2' ( in float)
10 0:17      'inU0' ( in uint)
11 0:17      'inU1' ( in uint)
12 0:?     Sequence
13 0:21      all ( temp bool)
14 0:21        'inF0' ( in float)
15 0:24      AtomicAdd ( temp void)
16 0:24        'gs_ua' ( shared uint)
17 0:24        'gs_ub' ( shared uint)
18 0:25      move second child to first child ( temp uint)
19 0:25        'out_u1' ( temp uint)
20 0:25        AtomicAdd ( temp uint)
21 0:25          'gs_ua' ( shared uint)
22 0:25          'gs_ub' ( shared uint)
23 0:26      AtomicAnd ( temp void)
24 0:26        'gs_ua' ( shared uint)
25 0:26        'gs_ub' ( shared uint)
26 0:27      move second child to first child ( temp uint)
27 0:27        'out_u1' ( temp uint)
28 0:27        AtomicAnd ( temp uint)
29 0:27          'gs_ua' ( shared uint)
30 0:27          'gs_ub' ( shared uint)
31 0:28      move second child to first child ( temp uint)
32 0:28        'out_u1' ( temp uint)
33 0:28        AtomicCompSwap ( temp uint)
34 0:28          'gs_ua' ( shared uint)
35 0:28          'gs_ub' ( shared uint)
36 0:28          'gs_uc' ( shared uint)
37 0:29      move second child to first child ( temp uint)
38 0:29        'out_u1' ( temp uint)
39 0:29        AtomicExchange ( temp uint)
40 0:29          'gs_ua' ( shared uint)
41 0:29          'gs_ub' ( shared uint)
42 0:30      AtomicMax ( temp void)
43 0:30        'gs_ua' ( shared uint)
44 0:30        'gs_ub' ( shared uint)
45 0:31      move second child to first child ( temp uint)
46 0:31        'out_u1' ( temp uint)
47 0:31        AtomicMax ( temp uint)
48 0:31          'gs_ua' ( shared uint)
49 0:31          'gs_ub' ( shared uint)
50 0:32      AtomicMin ( temp void)
51 0:32        'gs_ua' ( shared uint)
52 0:32        'gs_ub' ( shared uint)
53 0:33      move second child to first child ( temp uint)
54 0:33        'out_u1' ( temp uint)
55 0:33        AtomicMin ( temp uint)
56 0:33          'gs_ua' ( shared uint)
57 0:33          'gs_ub' ( shared uint)
58 0:34      AtomicOr ( temp void)
59 0:34        'gs_ua' ( shared uint)
60 0:34        'gs_ub' ( shared uint)
61 0:35      move second child to first child ( temp uint)
62 0:35        'out_u1' ( temp uint)
63 0:35        AtomicOr ( temp uint)
64 0:35          'gs_ua' ( shared uint)
65 0:35          'gs_ub' ( shared uint)
66 0:36      AtomicXor ( temp void)
67 0:36        'gs_ua' ( shared uint)
68 0:36        'gs_ub' ( shared uint)
69 0:37      move second child to first child ( temp uint)
70 0:37        'out_u1' ( temp uint)
71 0:37        AtomicXor ( temp uint)
72 0:37          'gs_ua' ( shared uint)
73 0:37          'gs_ub' ( shared uint)
74 0:41      Branch: Return with expression
75 0:41        Constant:
76 0:41          0.000000
77 0:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
78 0:45    Function Parameters: 
79 0:45      'inF0' ( in 1-component vector of float)
80 0:45      'inF1' ( in 1-component vector of float)
81 0:45      'inF2' ( in 1-component vector of float)
82 0:?     Sequence
83 0:47      Branch: Return with expression
84 0:47        Constant:
85 0:47          0.000000
86 0:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
87 0:51    Function Parameters: 
88 0:51      'inF0' ( in 2-component vector of float)
89 0:51      'inF1' ( in 2-component vector of float)
90 0:51      'inF2' ( in 2-component vector of float)
91 0:51      'inU0' ( in 2-component vector of uint)
92 0:51      'inU1' ( in 2-component vector of uint)
93 0:?     Sequence
94 0:55      all ( temp bool)
95 0:55        'inF0' ( in 2-component vector of float)
96 0:58      AtomicAdd ( temp void)
97 0:58        'gs_ua2' ( shared 2-component vector of uint)
98 0:58        'gs_ub2' ( shared 2-component vector of uint)
99 0:59      move second child to first child ( temp 2-component vector of uint)
100 0:59        'out_u2' ( temp 2-component vector of uint)
101 0:59        AtomicAdd ( temp 2-component vector of uint)
102 0:59          'gs_ua2' ( shared 2-component vector of uint)
103 0:59          'gs_ub2' ( shared 2-component vector of uint)
104 0:60      AtomicAnd ( temp void)
105 0:60        'gs_ua2' ( shared 2-component vector of uint)
106 0:60        'gs_ub2' ( shared 2-component vector of uint)
107 0:61      move second child to first child ( temp 2-component vector of uint)
108 0:61        'out_u2' ( temp 2-component vector of uint)
109 0:61        AtomicAnd ( temp 2-component vector of uint)
110 0:61          'gs_ua2' ( shared 2-component vector of uint)
111 0:61          'gs_ub2' ( shared 2-component vector of uint)
112 0:62      move second child to first child ( temp 2-component vector of uint)
113 0:62        'out_u2' ( temp 2-component vector of uint)
114 0:62        AtomicCompSwap ( temp 2-component vector of uint)
115 0:62          'gs_ua2' ( shared 2-component vector of uint)
116 0:62          'gs_ub2' ( shared 2-component vector of uint)
117 0:62          'gs_uc2' ( shared 2-component vector of uint)
118 0:63      move second child to first child ( temp 2-component vector of uint)
119 0:63        'out_u2' ( temp 2-component vector of uint)
120 0:63        AtomicExchange ( temp 2-component vector of uint)
121 0:63          'gs_ua2' ( shared 2-component vector of uint)
122 0:63          'gs_ub2' ( shared 2-component vector of uint)
123 0:64      AtomicMax ( temp void)
124 0:64        'gs_ua2' ( shared 2-component vector of uint)
125 0:64        'gs_ub2' ( shared 2-component vector of uint)
126 0:65      move second child to first child ( temp 2-component vector of uint)
127 0:65        'out_u2' ( temp 2-component vector of uint)
128 0:65        AtomicMax ( temp 2-component vector of uint)
129 0:65          'gs_ua2' ( shared 2-component vector of uint)
130 0:65          'gs_ub2' ( shared 2-component vector of uint)
131 0:66      AtomicMin ( temp void)
132 0:66        'gs_ua2' ( shared 2-component vector of uint)
133 0:66        'gs_ub2' ( shared 2-component vector of uint)
134 0:67      move second child to first child ( temp 2-component vector of uint)
135 0:67        'out_u2' ( temp 2-component vector of uint)
136 0:67        AtomicMin ( temp 2-component vector of uint)
137 0:67          'gs_ua2' ( shared 2-component vector of uint)
138 0:67          'gs_ub2' ( shared 2-component vector of uint)
139 0:68      AtomicOr ( temp void)
140 0:68        'gs_ua2' ( shared 2-component vector of uint)
141 0:68        'gs_ub2' ( shared 2-component vector of uint)
142 0:69      move second child to first child ( temp 2-component vector of uint)
143 0:69        'out_u2' ( temp 2-component vector of uint)
144 0:69        AtomicOr ( temp 2-component vector of uint)
145 0:69          'gs_ua2' ( shared 2-component vector of uint)
146 0:69          'gs_ub2' ( shared 2-component vector of uint)
147 0:70      AtomicXor ( temp void)
148 0:70        'gs_ua2' ( shared 2-component vector of uint)
149 0:70        'gs_ub2' ( shared 2-component vector of uint)
150 0:71      move second child to first child ( temp 2-component vector of uint)
151 0:71        'out_u2' ( temp 2-component vector of uint)
152 0:71        AtomicXor ( temp 2-component vector of uint)
153 0:71          'gs_ua2' ( shared 2-component vector of uint)
154 0:71          'gs_ub2' ( shared 2-component vector of uint)
155 0:74      Branch: Return with expression
156 0:?         Constant:
157 0:?           1.000000
158 0:?           2.000000
159 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
160 0:78    Function Parameters: 
161 0:78      'inF0' ( in 3-component vector of float)
162 0:78      'inF1' ( in 3-component vector of float)
163 0:78      'inF2' ( in 3-component vector of float)
164 0:78      'inU0' ( in 3-component vector of uint)
165 0:78      'inU1' ( in 3-component vector of uint)
166 0:?     Sequence
167 0:82      all ( temp bool)
168 0:82        'inF0' ( in 3-component vector of float)
169 0:85      AtomicAdd ( temp void)
170 0:85        'gs_ua3' ( shared 3-component vector of uint)
171 0:85        'gs_ub3' ( shared 3-component vector of uint)
172 0:86      move second child to first child ( temp 3-component vector of uint)
173 0:86        'out_u3' ( temp 3-component vector of uint)
174 0:86        AtomicAdd ( temp 3-component vector of uint)
175 0:86          'gs_ua3' ( shared 3-component vector of uint)
176 0:86          'gs_ub3' ( shared 3-component vector of uint)
177 0:87      AtomicAnd ( temp void)
178 0:87        'gs_ua3' ( shared 3-component vector of uint)
179 0:87        'gs_ub3' ( shared 3-component vector of uint)
180 0:88      move second child to first child ( temp 3-component vector of uint)
181 0:88        'out_u3' ( temp 3-component vector of uint)
182 0:88        AtomicAnd ( temp 3-component vector of uint)
183 0:88          'gs_ua3' ( shared 3-component vector of uint)
184 0:88          'gs_ub3' ( shared 3-component vector of uint)
185 0:89      move second child to first child ( temp 3-component vector of uint)
186 0:89        'out_u3' ( temp 3-component vector of uint)
187 0:89        AtomicCompSwap ( temp 3-component vector of uint)
188 0:89          'gs_ua3' ( shared 3-component vector of uint)
189 0:89          'gs_ub3' ( shared 3-component vector of uint)
190 0:89          'gs_uc3' ( shared 3-component vector of uint)
191 0:90      move second child to first child ( temp 3-component vector of uint)
192 0:90        'out_u3' ( temp 3-component vector of uint)
193 0:90        AtomicExchange ( temp 3-component vector of uint)
194 0:90          'gs_ua3' ( shared 3-component vector of uint)
195 0:90          'gs_ub3' ( shared 3-component vector of uint)
196 0:91      AtomicMax ( temp void)
197 0:91        'gs_ua3' ( shared 3-component vector of uint)
198 0:91        'gs_ub3' ( shared 3-component vector of uint)
199 0:92      move second child to first child ( temp 3-component vector of uint)
200 0:92        'out_u3' ( temp 3-component vector of uint)
201 0:92        AtomicMax ( temp 3-component vector of uint)
202 0:92          'gs_ua3' ( shared 3-component vector of uint)
203 0:92          'gs_ub3' ( shared 3-component vector of uint)
204 0:93      AtomicMin ( temp void)
205 0:93        'gs_ua3' ( shared 3-component vector of uint)
206 0:93        'gs_ub3' ( shared 3-component vector of uint)
207 0:94      move second child to first child ( temp 3-component vector of uint)
208 0:94        'out_u3' ( temp 3-component vector of uint)
209 0:94        AtomicMin ( temp 3-component vector of uint)
210 0:94          'gs_ua3' ( shared 3-component vector of uint)
211 0:94          'gs_ub3' ( shared 3-component vector of uint)
212 0:95      AtomicOr ( temp void)
213 0:95        'gs_ua3' ( shared 3-component vector of uint)
214 0:95        'gs_ub3' ( shared 3-component vector of uint)
215 0:96      move second child to first child ( temp 3-component vector of uint)
216 0:96        'out_u3' ( temp 3-component vector of uint)
217 0:96        AtomicOr ( temp 3-component vector of uint)
218 0:96          'gs_ua3' ( shared 3-component vector of uint)
219 0:96          'gs_ub3' ( shared 3-component vector of uint)
220 0:97      AtomicXor ( temp void)
221 0:97        'gs_ua3' ( shared 3-component vector of uint)
222 0:97        'gs_ub3' ( shared 3-component vector of uint)
223 0:98      move second child to first child ( temp 3-component vector of uint)
224 0:98        'out_u3' ( temp 3-component vector of uint)
225 0:98        AtomicXor ( temp 3-component vector of uint)
226 0:98          'gs_ua3' ( shared 3-component vector of uint)
227 0:98          'gs_ub3' ( shared 3-component vector of uint)
228 0:101      Branch: Return with expression
229 0:?         Constant:
230 0:?           1.000000
231 0:?           2.000000
232 0:?           3.000000
233 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
234 0:105    Function Parameters: 
235 0:105      'inF0' ( in 4-component vector of float)
236 0:105      'inF1' ( in 4-component vector of float)
237 0:105      'inF2' ( in 4-component vector of float)
238 0:105      'inU0' ( in 4-component vector of uint)
239 0:105      'inU1' ( in 4-component vector of uint)
240 0:?     Sequence
241 0:109      all ( temp bool)
242 0:109        'inF0' ( in 4-component vector of float)
243 0:112      AtomicAdd ( temp void)
244 0:112        'gs_ua4' ( shared 4-component vector of uint)
245 0:112        'gs_ub4' ( shared 4-component vector of uint)
246 0:113      move second child to first child ( temp 4-component vector of uint)
247 0:113        'out_u4' ( temp 4-component vector of uint)
248 0:113        AtomicAdd ( temp 4-component vector of uint)
249 0:113          'gs_ua4' ( shared 4-component vector of uint)
250 0:113          'gs_ub4' ( shared 4-component vector of uint)
251 0:114      AtomicAnd ( temp void)
252 0:114        'gs_ua4' ( shared 4-component vector of uint)
253 0:114        'gs_ub4' ( shared 4-component vector of uint)
254 0:115      move second child to first child ( temp 4-component vector of uint)
255 0:115        'out_u4' ( temp 4-component vector of uint)
256 0:115        AtomicAnd ( temp 4-component vector of uint)
257 0:115          'gs_ua4' ( shared 4-component vector of uint)
258 0:115          'gs_ub4' ( shared 4-component vector of uint)
259 0:116      move second child to first child ( temp 4-component vector of uint)
260 0:116        'out_u4' ( temp 4-component vector of uint)
261 0:116        AtomicCompSwap ( temp 4-component vector of uint)
262 0:116          'gs_ua4' ( shared 4-component vector of uint)
263 0:116          'gs_ub4' ( shared 4-component vector of uint)
264 0:116          'gs_uc4' ( shared 4-component vector of uint)
265 0:117      move second child to first child ( temp 4-component vector of uint)
266 0:117        'out_u4' ( temp 4-component vector of uint)
267 0:117        AtomicExchange ( temp 4-component vector of uint)
268 0:117          'gs_ua4' ( shared 4-component vector of uint)
269 0:117          'gs_ub4' ( shared 4-component vector of uint)
270 0:118      AtomicMax ( temp void)
271 0:118        'gs_ua4' ( shared 4-component vector of uint)
272 0:118        'gs_ub4' ( shared 4-component vector of uint)
273 0:119      move second child to first child ( temp 4-component vector of uint)
274 0:119        'out_u4' ( temp 4-component vector of uint)
275 0:119        AtomicMax ( temp 4-component vector of uint)
276 0:119          'gs_ua4' ( shared 4-component vector of uint)
277 0:119          'gs_ub4' ( shared 4-component vector of uint)
278 0:120      AtomicMin ( temp void)
279 0:120        'gs_ua4' ( shared 4-component vector of uint)
280 0:120        'gs_ub4' ( shared 4-component vector of uint)
281 0:121      move second child to first child ( temp 4-component vector of uint)
282 0:121        'out_u4' ( temp 4-component vector of uint)
283 0:121        AtomicMin ( temp 4-component vector of uint)
284 0:121          'gs_ua4' ( shared 4-component vector of uint)
285 0:121          'gs_ub4' ( shared 4-component vector of uint)
286 0:122      AtomicOr ( temp void)
287 0:122        'gs_ua4' ( shared 4-component vector of uint)
288 0:122        'gs_ub4' ( shared 4-component vector of uint)
289 0:123      move second child to first child ( temp 4-component vector of uint)
290 0:123        'out_u4' ( temp 4-component vector of uint)
291 0:123        AtomicOr ( temp 4-component vector of uint)
292 0:123          'gs_ua4' ( shared 4-component vector of uint)
293 0:123          'gs_ub4' ( shared 4-component vector of uint)
294 0:124      AtomicXor ( temp void)
295 0:124        'gs_ua4' ( shared 4-component vector of uint)
296 0:124        'gs_ub4' ( shared 4-component vector of uint)
297 0:125      move second child to first child ( temp 4-component vector of uint)
298 0:125        'out_u4' ( temp 4-component vector of uint)
299 0:125        AtomicXor ( temp 4-component vector of uint)
300 0:125          'gs_ua4' ( shared 4-component vector of uint)
301 0:125          'gs_ub4' ( shared 4-component vector of uint)
302 0:128      Branch: Return with expression
303 0:?         Constant:
304 0:?           1.000000
305 0:?           2.000000
306 0:?           3.000000
307 0:?           4.000000
308 0:105  Function Definition: ComputeShaderFunction( ( temp void)
309 0:105    Function Parameters: 
310 0:?     Sequence
311 0:105      move second child to first child ( temp 4-component vector of float)
312 0:?         'inF0' ( temp 4-component vector of float)
313 0:?         'inF0' (layout( location=0) in 4-component vector of float)
314 0:105      move second child to first child ( temp 4-component vector of float)
315 0:?         'inF1' ( temp 4-component vector of float)
316 0:?         'inF1' (layout( location=1) in 4-component vector of float)
317 0:105      move second child to first child ( temp 4-component vector of float)
318 0:?         'inF2' ( temp 4-component vector of float)
319 0:?         'inF2' (layout( location=2) in 4-component vector of float)
320 0:105      move second child to first child ( temp 4-component vector of uint)
321 0:?         'inU0' ( temp 4-component vector of uint)
322 0:?         'inU0' (layout( location=3) in 4-component vector of uint)
323 0:105      move second child to first child ( temp 4-component vector of uint)
324 0:?         'inU1' ( temp 4-component vector of uint)
325 0:?         'inU1' (layout( location=4) in 4-component vector of uint)
326 0:105      move second child to first child ( temp 4-component vector of float)
327 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
328 0:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
329 0:?           'inF0' ( temp 4-component vector of float)
330 0:?           'inF1' ( temp 4-component vector of float)
331 0:?           'inF2' ( temp 4-component vector of float)
332 0:?           'inU0' ( temp 4-component vector of uint)
333 0:?           'inU1' ( temp 4-component vector of uint)
334 0:?   Linker Objects
335 0:?     'gs_ua' ( shared uint)
336 0:?     'gs_ub' ( shared uint)
337 0:?     'gs_uc' ( shared uint)
338 0:?     'gs_ua2' ( shared 2-component vector of uint)
339 0:?     'gs_ub2' ( shared 2-component vector of uint)
340 0:?     'gs_uc2' ( shared 2-component vector of uint)
341 0:?     'gs_ua3' ( shared 3-component vector of uint)
342 0:?     'gs_ub3' ( shared 3-component vector of uint)
343 0:?     'gs_uc3' ( shared 3-component vector of uint)
344 0:?     'gs_ua4' ( shared 4-component vector of uint)
345 0:?     'gs_ub4' ( shared 4-component vector of uint)
346 0:?     'gs_uc4' ( shared 4-component vector of uint)
347 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
348 0:?     'inF0' (layout( location=0) in 4-component vector of float)
349 0:?     'inF1' (layout( location=1) in 4-component vector of float)
350 0:?     'inF2' (layout( location=2) in 4-component vector of float)
351 0:?     'inU0' (layout( location=3) in 4-component vector of uint)
352 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
353
354
355 Linked compute stage:
356
357
358 Shader version: 450
359 local_size = (1, 1, 1)
360 0:? Sequence
361 0:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
362 0:17    Function Parameters: 
363 0:17      'inF0' ( in float)
364 0:17      'inF1' ( in float)
365 0:17      'inF2' ( in float)
366 0:17      'inU0' ( in uint)
367 0:17      'inU1' ( in uint)
368 0:?     Sequence
369 0:21      all ( temp bool)
370 0:21        'inF0' ( in float)
371 0:24      AtomicAdd ( temp void)
372 0:24        'gs_ua' ( shared uint)
373 0:24        'gs_ub' ( shared uint)
374 0:25      move second child to first child ( temp uint)
375 0:25        'out_u1' ( temp uint)
376 0:25        AtomicAdd ( temp uint)
377 0:25          'gs_ua' ( shared uint)
378 0:25          'gs_ub' ( shared uint)
379 0:26      AtomicAnd ( temp void)
380 0:26        'gs_ua' ( shared uint)
381 0:26        'gs_ub' ( shared uint)
382 0:27      move second child to first child ( temp uint)
383 0:27        'out_u1' ( temp uint)
384 0:27        AtomicAnd ( temp uint)
385 0:27          'gs_ua' ( shared uint)
386 0:27          'gs_ub' ( shared uint)
387 0:28      move second child to first child ( temp uint)
388 0:28        'out_u1' ( temp uint)
389 0:28        AtomicCompSwap ( temp uint)
390 0:28          'gs_ua' ( shared uint)
391 0:28          'gs_ub' ( shared uint)
392 0:28          'gs_uc' ( shared uint)
393 0:29      move second child to first child ( temp uint)
394 0:29        'out_u1' ( temp uint)
395 0:29        AtomicExchange ( temp uint)
396 0:29          'gs_ua' ( shared uint)
397 0:29          'gs_ub' ( shared uint)
398 0:30      AtomicMax ( temp void)
399 0:30        'gs_ua' ( shared uint)
400 0:30        'gs_ub' ( shared uint)
401 0:31      move second child to first child ( temp uint)
402 0:31        'out_u1' ( temp uint)
403 0:31        AtomicMax ( temp uint)
404 0:31          'gs_ua' ( shared uint)
405 0:31          'gs_ub' ( shared uint)
406 0:32      AtomicMin ( temp void)
407 0:32        'gs_ua' ( shared uint)
408 0:32        'gs_ub' ( shared uint)
409 0:33      move second child to first child ( temp uint)
410 0:33        'out_u1' ( temp uint)
411 0:33        AtomicMin ( temp uint)
412 0:33          'gs_ua' ( shared uint)
413 0:33          'gs_ub' ( shared uint)
414 0:34      AtomicOr ( temp void)
415 0:34        'gs_ua' ( shared uint)
416 0:34        'gs_ub' ( shared uint)
417 0:35      move second child to first child ( temp uint)
418 0:35        'out_u1' ( temp uint)
419 0:35        AtomicOr ( temp uint)
420 0:35          'gs_ua' ( shared uint)
421 0:35          'gs_ub' ( shared uint)
422 0:36      AtomicXor ( temp void)
423 0:36        'gs_ua' ( shared uint)
424 0:36        'gs_ub' ( shared uint)
425 0:37      move second child to first child ( temp uint)
426 0:37        'out_u1' ( temp uint)
427 0:37        AtomicXor ( temp uint)
428 0:37          'gs_ua' ( shared uint)
429 0:37          'gs_ub' ( shared uint)
430 0:41      Branch: Return with expression
431 0:41        Constant:
432 0:41          0.000000
433 0:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
434 0:45    Function Parameters: 
435 0:45      'inF0' ( in 1-component vector of float)
436 0:45      'inF1' ( in 1-component vector of float)
437 0:45      'inF2' ( in 1-component vector of float)
438 0:?     Sequence
439 0:47      Branch: Return with expression
440 0:47        Constant:
441 0:47          0.000000
442 0:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
443 0:51    Function Parameters: 
444 0:51      'inF0' ( in 2-component vector of float)
445 0:51      'inF1' ( in 2-component vector of float)
446 0:51      'inF2' ( in 2-component vector of float)
447 0:51      'inU0' ( in 2-component vector of uint)
448 0:51      'inU1' ( in 2-component vector of uint)
449 0:?     Sequence
450 0:55      all ( temp bool)
451 0:55        'inF0' ( in 2-component vector of float)
452 0:58      AtomicAdd ( temp void)
453 0:58        'gs_ua2' ( shared 2-component vector of uint)
454 0:58        'gs_ub2' ( shared 2-component vector of uint)
455 0:59      move second child to first child ( temp 2-component vector of uint)
456 0:59        'out_u2' ( temp 2-component vector of uint)
457 0:59        AtomicAdd ( temp 2-component vector of uint)
458 0:59          'gs_ua2' ( shared 2-component vector of uint)
459 0:59          'gs_ub2' ( shared 2-component vector of uint)
460 0:60      AtomicAnd ( temp void)
461 0:60        'gs_ua2' ( shared 2-component vector of uint)
462 0:60        'gs_ub2' ( shared 2-component vector of uint)
463 0:61      move second child to first child ( temp 2-component vector of uint)
464 0:61        'out_u2' ( temp 2-component vector of uint)
465 0:61        AtomicAnd ( temp 2-component vector of uint)
466 0:61          'gs_ua2' ( shared 2-component vector of uint)
467 0:61          'gs_ub2' ( shared 2-component vector of uint)
468 0:62      move second child to first child ( temp 2-component vector of uint)
469 0:62        'out_u2' ( temp 2-component vector of uint)
470 0:62        AtomicCompSwap ( temp 2-component vector of uint)
471 0:62          'gs_ua2' ( shared 2-component vector of uint)
472 0:62          'gs_ub2' ( shared 2-component vector of uint)
473 0:62          'gs_uc2' ( shared 2-component vector of uint)
474 0:63      move second child to first child ( temp 2-component vector of uint)
475 0:63        'out_u2' ( temp 2-component vector of uint)
476 0:63        AtomicExchange ( temp 2-component vector of uint)
477 0:63          'gs_ua2' ( shared 2-component vector of uint)
478 0:63          'gs_ub2' ( shared 2-component vector of uint)
479 0:64      AtomicMax ( temp void)
480 0:64        'gs_ua2' ( shared 2-component vector of uint)
481 0:64        'gs_ub2' ( shared 2-component vector of uint)
482 0:65      move second child to first child ( temp 2-component vector of uint)
483 0:65        'out_u2' ( temp 2-component vector of uint)
484 0:65        AtomicMax ( temp 2-component vector of uint)
485 0:65          'gs_ua2' ( shared 2-component vector of uint)
486 0:65          'gs_ub2' ( shared 2-component vector of uint)
487 0:66      AtomicMin ( temp void)
488 0:66        'gs_ua2' ( shared 2-component vector of uint)
489 0:66        'gs_ub2' ( shared 2-component vector of uint)
490 0:67      move second child to first child ( temp 2-component vector of uint)
491 0:67        'out_u2' ( temp 2-component vector of uint)
492 0:67        AtomicMin ( temp 2-component vector of uint)
493 0:67          'gs_ua2' ( shared 2-component vector of uint)
494 0:67          'gs_ub2' ( shared 2-component vector of uint)
495 0:68      AtomicOr ( temp void)
496 0:68        'gs_ua2' ( shared 2-component vector of uint)
497 0:68        'gs_ub2' ( shared 2-component vector of uint)
498 0:69      move second child to first child ( temp 2-component vector of uint)
499 0:69        'out_u2' ( temp 2-component vector of uint)
500 0:69        AtomicOr ( temp 2-component vector of uint)
501 0:69          'gs_ua2' ( shared 2-component vector of uint)
502 0:69          'gs_ub2' ( shared 2-component vector of uint)
503 0:70      AtomicXor ( temp void)
504 0:70        'gs_ua2' ( shared 2-component vector of uint)
505 0:70        'gs_ub2' ( shared 2-component vector of uint)
506 0:71      move second child to first child ( temp 2-component vector of uint)
507 0:71        'out_u2' ( temp 2-component vector of uint)
508 0:71        AtomicXor ( temp 2-component vector of uint)
509 0:71          'gs_ua2' ( shared 2-component vector of uint)
510 0:71          'gs_ub2' ( shared 2-component vector of uint)
511 0:74      Branch: Return with expression
512 0:?         Constant:
513 0:?           1.000000
514 0:?           2.000000
515 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
516 0:78    Function Parameters: 
517 0:78      'inF0' ( in 3-component vector of float)
518 0:78      'inF1' ( in 3-component vector of float)
519 0:78      'inF2' ( in 3-component vector of float)
520 0:78      'inU0' ( in 3-component vector of uint)
521 0:78      'inU1' ( in 3-component vector of uint)
522 0:?     Sequence
523 0:82      all ( temp bool)
524 0:82        'inF0' ( in 3-component vector of float)
525 0:85      AtomicAdd ( temp void)
526 0:85        'gs_ua3' ( shared 3-component vector of uint)
527 0:85        'gs_ub3' ( shared 3-component vector of uint)
528 0:86      move second child to first child ( temp 3-component vector of uint)
529 0:86        'out_u3' ( temp 3-component vector of uint)
530 0:86        AtomicAdd ( temp 3-component vector of uint)
531 0:86          'gs_ua3' ( shared 3-component vector of uint)
532 0:86          'gs_ub3' ( shared 3-component vector of uint)
533 0:87      AtomicAnd ( temp void)
534 0:87        'gs_ua3' ( shared 3-component vector of uint)
535 0:87        'gs_ub3' ( shared 3-component vector of uint)
536 0:88      move second child to first child ( temp 3-component vector of uint)
537 0:88        'out_u3' ( temp 3-component vector of uint)
538 0:88        AtomicAnd ( temp 3-component vector of uint)
539 0:88          'gs_ua3' ( shared 3-component vector of uint)
540 0:88          'gs_ub3' ( shared 3-component vector of uint)
541 0:89      move second child to first child ( temp 3-component vector of uint)
542 0:89        'out_u3' ( temp 3-component vector of uint)
543 0:89        AtomicCompSwap ( temp 3-component vector of uint)
544 0:89          'gs_ua3' ( shared 3-component vector of uint)
545 0:89          'gs_ub3' ( shared 3-component vector of uint)
546 0:89          'gs_uc3' ( shared 3-component vector of uint)
547 0:90      move second child to first child ( temp 3-component vector of uint)
548 0:90        'out_u3' ( temp 3-component vector of uint)
549 0:90        AtomicExchange ( temp 3-component vector of uint)
550 0:90          'gs_ua3' ( shared 3-component vector of uint)
551 0:90          'gs_ub3' ( shared 3-component vector of uint)
552 0:91      AtomicMax ( temp void)
553 0:91        'gs_ua3' ( shared 3-component vector of uint)
554 0:91        'gs_ub3' ( shared 3-component vector of uint)
555 0:92      move second child to first child ( temp 3-component vector of uint)
556 0:92        'out_u3' ( temp 3-component vector of uint)
557 0:92        AtomicMax ( temp 3-component vector of uint)
558 0:92          'gs_ua3' ( shared 3-component vector of uint)
559 0:92          'gs_ub3' ( shared 3-component vector of uint)
560 0:93      AtomicMin ( temp void)
561 0:93        'gs_ua3' ( shared 3-component vector of uint)
562 0:93        'gs_ub3' ( shared 3-component vector of uint)
563 0:94      move second child to first child ( temp 3-component vector of uint)
564 0:94        'out_u3' ( temp 3-component vector of uint)
565 0:94        AtomicMin ( temp 3-component vector of uint)
566 0:94          'gs_ua3' ( shared 3-component vector of uint)
567 0:94          'gs_ub3' ( shared 3-component vector of uint)
568 0:95      AtomicOr ( temp void)
569 0:95        'gs_ua3' ( shared 3-component vector of uint)
570 0:95        'gs_ub3' ( shared 3-component vector of uint)
571 0:96      move second child to first child ( temp 3-component vector of uint)
572 0:96        'out_u3' ( temp 3-component vector of uint)
573 0:96        AtomicOr ( temp 3-component vector of uint)
574 0:96          'gs_ua3' ( shared 3-component vector of uint)
575 0:96          'gs_ub3' ( shared 3-component vector of uint)
576 0:97      AtomicXor ( temp void)
577 0:97        'gs_ua3' ( shared 3-component vector of uint)
578 0:97        'gs_ub3' ( shared 3-component vector of uint)
579 0:98      move second child to first child ( temp 3-component vector of uint)
580 0:98        'out_u3' ( temp 3-component vector of uint)
581 0:98        AtomicXor ( temp 3-component vector of uint)
582 0:98          'gs_ua3' ( shared 3-component vector of uint)
583 0:98          'gs_ub3' ( shared 3-component vector of uint)
584 0:101      Branch: Return with expression
585 0:?         Constant:
586 0:?           1.000000
587 0:?           2.000000
588 0:?           3.000000
589 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
590 0:105    Function Parameters: 
591 0:105      'inF0' ( in 4-component vector of float)
592 0:105      'inF1' ( in 4-component vector of float)
593 0:105      'inF2' ( in 4-component vector of float)
594 0:105      'inU0' ( in 4-component vector of uint)
595 0:105      'inU1' ( in 4-component vector of uint)
596 0:?     Sequence
597 0:109      all ( temp bool)
598 0:109        'inF0' ( in 4-component vector of float)
599 0:112      AtomicAdd ( temp void)
600 0:112        'gs_ua4' ( shared 4-component vector of uint)
601 0:112        'gs_ub4' ( shared 4-component vector of uint)
602 0:113      move second child to first child ( temp 4-component vector of uint)
603 0:113        'out_u4' ( temp 4-component vector of uint)
604 0:113        AtomicAdd ( temp 4-component vector of uint)
605 0:113          'gs_ua4' ( shared 4-component vector of uint)
606 0:113          'gs_ub4' ( shared 4-component vector of uint)
607 0:114      AtomicAnd ( temp void)
608 0:114        'gs_ua4' ( shared 4-component vector of uint)
609 0:114        'gs_ub4' ( shared 4-component vector of uint)
610 0:115      move second child to first child ( temp 4-component vector of uint)
611 0:115        'out_u4' ( temp 4-component vector of uint)
612 0:115        AtomicAnd ( temp 4-component vector of uint)
613 0:115          'gs_ua4' ( shared 4-component vector of uint)
614 0:115          'gs_ub4' ( shared 4-component vector of uint)
615 0:116      move second child to first child ( temp 4-component vector of uint)
616 0:116        'out_u4' ( temp 4-component vector of uint)
617 0:116        AtomicCompSwap ( temp 4-component vector of uint)
618 0:116          'gs_ua4' ( shared 4-component vector of uint)
619 0:116          'gs_ub4' ( shared 4-component vector of uint)
620 0:116          'gs_uc4' ( shared 4-component vector of uint)
621 0:117      move second child to first child ( temp 4-component vector of uint)
622 0:117        'out_u4' ( temp 4-component vector of uint)
623 0:117        AtomicExchange ( temp 4-component vector of uint)
624 0:117          'gs_ua4' ( shared 4-component vector of uint)
625 0:117          'gs_ub4' ( shared 4-component vector of uint)
626 0:118      AtomicMax ( temp void)
627 0:118        'gs_ua4' ( shared 4-component vector of uint)
628 0:118        'gs_ub4' ( shared 4-component vector of uint)
629 0:119      move second child to first child ( temp 4-component vector of uint)
630 0:119        'out_u4' ( temp 4-component vector of uint)
631 0:119        AtomicMax ( temp 4-component vector of uint)
632 0:119          'gs_ua4' ( shared 4-component vector of uint)
633 0:119          'gs_ub4' ( shared 4-component vector of uint)
634 0:120      AtomicMin ( temp void)
635 0:120        'gs_ua4' ( shared 4-component vector of uint)
636 0:120        'gs_ub4' ( shared 4-component vector of uint)
637 0:121      move second child to first child ( temp 4-component vector of uint)
638 0:121        'out_u4' ( temp 4-component vector of uint)
639 0:121        AtomicMin ( temp 4-component vector of uint)
640 0:121          'gs_ua4' ( shared 4-component vector of uint)
641 0:121          'gs_ub4' ( shared 4-component vector of uint)
642 0:122      AtomicOr ( temp void)
643 0:122        'gs_ua4' ( shared 4-component vector of uint)
644 0:122        'gs_ub4' ( shared 4-component vector of uint)
645 0:123      move second child to first child ( temp 4-component vector of uint)
646 0:123        'out_u4' ( temp 4-component vector of uint)
647 0:123        AtomicOr ( temp 4-component vector of uint)
648 0:123          'gs_ua4' ( shared 4-component vector of uint)
649 0:123          'gs_ub4' ( shared 4-component vector of uint)
650 0:124      AtomicXor ( temp void)
651 0:124        'gs_ua4' ( shared 4-component vector of uint)
652 0:124        'gs_ub4' ( shared 4-component vector of uint)
653 0:125      move second child to first child ( temp 4-component vector of uint)
654 0:125        'out_u4' ( temp 4-component vector of uint)
655 0:125        AtomicXor ( temp 4-component vector of uint)
656 0:125          'gs_ua4' ( shared 4-component vector of uint)
657 0:125          'gs_ub4' ( shared 4-component vector of uint)
658 0:128      Branch: Return with expression
659 0:?         Constant:
660 0:?           1.000000
661 0:?           2.000000
662 0:?           3.000000
663 0:?           4.000000
664 0:105  Function Definition: ComputeShaderFunction( ( temp void)
665 0:105    Function Parameters: 
666 0:?     Sequence
667 0:105      move second child to first child ( temp 4-component vector of float)
668 0:?         'inF0' ( temp 4-component vector of float)
669 0:?         'inF0' (layout( location=0) in 4-component vector of float)
670 0:105      move second child to first child ( temp 4-component vector of float)
671 0:?         'inF1' ( temp 4-component vector of float)
672 0:?         'inF1' (layout( location=1) in 4-component vector of float)
673 0:105      move second child to first child ( temp 4-component vector of float)
674 0:?         'inF2' ( temp 4-component vector of float)
675 0:?         'inF2' (layout( location=2) in 4-component vector of float)
676 0:105      move second child to first child ( temp 4-component vector of uint)
677 0:?         'inU0' ( temp 4-component vector of uint)
678 0:?         'inU0' (layout( location=3) in 4-component vector of uint)
679 0:105      move second child to first child ( temp 4-component vector of uint)
680 0:?         'inU1' ( temp 4-component vector of uint)
681 0:?         'inU1' (layout( location=4) in 4-component vector of uint)
682 0:105      move second child to first child ( temp 4-component vector of float)
683 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
684 0:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
685 0:?           'inF0' ( temp 4-component vector of float)
686 0:?           'inF1' ( temp 4-component vector of float)
687 0:?           'inF2' ( temp 4-component vector of float)
688 0:?           'inU0' ( temp 4-component vector of uint)
689 0:?           'inU1' ( temp 4-component vector of uint)
690 0:?   Linker Objects
691 0:?     'gs_ua' ( shared uint)
692 0:?     'gs_ub' ( shared uint)
693 0:?     'gs_uc' ( shared uint)
694 0:?     'gs_ua2' ( shared 2-component vector of uint)
695 0:?     'gs_ub2' ( shared 2-component vector of uint)
696 0:?     'gs_uc2' ( shared 2-component vector of uint)
697 0:?     'gs_ua3' ( shared 3-component vector of uint)
698 0:?     'gs_ub3' ( shared 3-component vector of uint)
699 0:?     'gs_uc3' ( shared 3-component vector of uint)
700 0:?     'gs_ua4' ( shared 4-component vector of uint)
701 0:?     'gs_ub4' ( shared 4-component vector of uint)
702 0:?     'gs_uc4' ( shared 4-component vector of uint)
703 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
704 0:?     'inF0' (layout( location=0) in 4-component vector of float)
705 0:?     'inF1' (layout( location=1) in 4-component vector of float)
706 0:?     'inF2' (layout( location=2) in 4-component vector of float)
707 0:?     'inU0' (layout( location=3) in 4-component vector of uint)
708 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
709
710 // Module Version 10000
711 // Generated by (magic number): 80001
712 // Id's are bound by 255
713
714                               Capability Shader
715                1:             ExtInstImport  "GLSL.std.450"
716                               MemoryModel Logical GLSL450
717                               EntryPoint GLCompute 4  "ComputeShaderFunction" 227 230 233 237 240 243
718                               ExecutionMode 4 LocalSize 1 1 1
719                               Name 4  "ComputeShaderFunction"
720                               Name 16  "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
721                               Name 11  "inF0"
722                               Name 12  "inF1"
723                               Name 13  "inF2"
724                               Name 14  "inU0"
725                               Name 15  "inU1"
726                               Name 22  "ComputeShaderFunction1(vf1;vf1;vf1;"
727                               Name 19  "inF0"
728                               Name 20  "inF1"
729                               Name 21  "inF2"
730                               Name 34  "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
731                               Name 29  "inF0"
732                               Name 30  "inF1"
733                               Name 31  "inF2"
734                               Name 32  "inU0"
735                               Name 33  "inU1"
736                               Name 46  "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
737                               Name 41  "inF0"
738                               Name 42  "inF1"
739                               Name 43  "inF2"
740                               Name 44  "inU0"
741                               Name 45  "inU1"
742                               Name 58  "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
743                               Name 53  "inF0"
744                               Name 54  "inF1"
745                               Name 55  "inF2"
746                               Name 56  "inU0"
747                               Name 57  "inU1"
748                               Name 64  "gs_ua"
749                               Name 65  "gs_ub"
750                               Name 70  "out_u1"
751                               Name 78  "gs_uc"
752                               Name 107  "gs_ua2"
753                               Name 108  "gs_ub2"
754                               Name 111  "out_u2"
755                               Name 119  "gs_uc2"
756                               Name 148  "gs_ua3"
757                               Name 149  "gs_ub3"
758                               Name 152  "out_u3"
759                               Name 160  "gs_uc3"
760                               Name 188  "gs_ua4"
761                               Name 189  "gs_ub4"
762                               Name 192  "out_u4"
763                               Name 200  "gs_uc4"
764                               Name 225  "inF0"
765                               Name 227  "inF0"
766                               Name 229  "inF1"
767                               Name 230  "inF1"
768                               Name 232  "inF2"
769                               Name 233  "inF2"
770                               Name 235  "inU0"
771                               Name 237  "inU0"
772                               Name 239  "inU1"
773                               Name 240  "inU1"
774                               Name 243  "@entryPointOutput"
775                               Name 244  "param"
776                               Name 246  "param"
777                               Name 248  "param"
778                               Name 250  "param"
779                               Name 252  "param"
780                               Decorate 227(inF0) Location 0
781                               Decorate 230(inF1) Location 1
782                               Decorate 233(inF2) Location 2
783                               Decorate 237(inU0) Location 3
784                               Decorate 240(inU1) Location 4
785                               Decorate 243(@entryPointOutput) Location 0
786                2:             TypeVoid
787                3:             TypeFunction 2
788                6:             TypeFloat 32
789                7:             TypePointer Function 6(float)
790                8:             TypeInt 32 0
791                9:             TypePointer Function 8(int)
792               10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
793               18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
794               24:             TypeVector 6(float) 2
795               25:             TypePointer Function 24(fvec2)
796               26:             TypeVector 8(int) 2
797               27:             TypePointer Function 26(ivec2)
798               28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
799               36:             TypeVector 6(float) 3
800               37:             TypePointer Function 36(fvec3)
801               38:             TypeVector 8(int) 3
802               39:             TypePointer Function 38(ivec3)
803               40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
804               48:             TypeVector 6(float) 4
805               49:             TypePointer Function 48(fvec4)
806               50:             TypeVector 8(int) 4
807               51:             TypePointer Function 50(ivec4)
808               52:             TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
809               61:             TypeBool
810               63:             TypePointer Workgroup 8(int)
811        64(gs_ua):     63(ptr) Variable Workgroup
812        65(gs_ub):     63(ptr) Variable Workgroup
813               67:      8(int) Constant 1
814               68:      8(int) Constant 0
815        78(gs_uc):     63(ptr) Variable Workgroup
816               99:    6(float) Constant 0
817              106:             TypePointer Workgroup 26(ivec2)
818      107(gs_ua2):    106(ptr) Variable Workgroup
819      108(gs_ub2):    106(ptr) Variable Workgroup
820      119(gs_uc2):    106(ptr) Variable Workgroup
821              140:    6(float) Constant 1065353216
822              141:    6(float) Constant 1073741824
823              142:   24(fvec2) ConstantComposite 140 141
824              147:             TypePointer Workgroup 38(ivec3)
825      148(gs_ua3):    147(ptr) Variable Workgroup
826      149(gs_ub3):    147(ptr) Variable Workgroup
827      160(gs_uc3):    147(ptr) Variable Workgroup
828              181:    6(float) Constant 1077936128
829              182:   36(fvec3) ConstantComposite 140 141 181
830              187:             TypePointer Workgroup 50(ivec4)
831      188(gs_ua4):    187(ptr) Variable Workgroup
832      189(gs_ub4):    187(ptr) Variable Workgroup
833      200(gs_uc4):    187(ptr) Variable Workgroup
834              221:    6(float) Constant 1082130432
835              222:   48(fvec4) ConstantComposite 140 141 181 221
836              226:             TypePointer Input 48(fvec4)
837        227(inF0):    226(ptr) Variable Input
838        230(inF1):    226(ptr) Variable Input
839        233(inF2):    226(ptr) Variable Input
840              236:             TypePointer Input 50(ivec4)
841        237(inU0):    236(ptr) Variable Input
842        240(inU1):    236(ptr) Variable Input
843              242:             TypePointer Output 48(fvec4)
844 243(@entryPointOutput):    242(ptr) Variable Output
845 4(ComputeShaderFunction):           2 Function None 3
846                5:             Label
847        225(inF0):     49(ptr) Variable Function
848        229(inF1):     49(ptr) Variable Function
849        232(inF2):     49(ptr) Variable Function
850        235(inU0):     51(ptr) Variable Function
851        239(inU1):     51(ptr) Variable Function
852       244(param):     49(ptr) Variable Function
853       246(param):     49(ptr) Variable Function
854       248(param):     49(ptr) Variable Function
855       250(param):     51(ptr) Variable Function
856       252(param):     51(ptr) Variable Function
857              228:   48(fvec4) Load 227(inF0)
858                               Store 225(inF0) 228
859              231:   48(fvec4) Load 230(inF1)
860                               Store 229(inF1) 231
861              234:   48(fvec4) Load 233(inF2)
862                               Store 232(inF2) 234
863              238:   50(ivec4) Load 237(inU0)
864                               Store 235(inU0) 238
865              241:   50(ivec4) Load 240(inU1)
866                               Store 239(inU1) 241
867              245:   48(fvec4) Load 225(inF0)
868                               Store 244(param) 245
869              247:   48(fvec4) Load 229(inF1)
870                               Store 246(param) 247
871              249:   48(fvec4) Load 232(inF2)
872                               Store 248(param) 249
873              251:   50(ivec4) Load 235(inU0)
874                               Store 250(param) 251
875              253:   50(ivec4) Load 239(inU1)
876                               Store 252(param) 253
877              254:   48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 244(param) 246(param) 248(param) 250(param) 252(param)
878                               Store 243(@entryPointOutput) 254
879                               Return
880                               FunctionEnd
881 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
882         11(inF0):      7(ptr) FunctionParameter
883         12(inF1):      7(ptr) FunctionParameter
884         13(inF2):      7(ptr) FunctionParameter
885         14(inU0):      9(ptr) FunctionParameter
886         15(inU1):      9(ptr) FunctionParameter
887               17:             Label
888       70(out_u1):      9(ptr) Variable Function
889               60:    6(float) Load 11(inF0)
890               62:    61(bool) All 60
891               66:      8(int) Load 65(gs_ub)
892               69:           2 AtomicIAdd 64(gs_ua) 67 68 66
893               71:      8(int) Load 65(gs_ub)
894               72:      8(int) AtomicIAdd 64(gs_ua) 67 68 71
895                               Store 70(out_u1) 72
896               73:      8(int) Load 65(gs_ub)
897               74:           2 AtomicAnd 64(gs_ua) 67 68 73
898               75:      8(int) Load 65(gs_ub)
899               76:      8(int) AtomicAnd 64(gs_ua) 67 68 75
900                               Store 70(out_u1) 76
901               77:      8(int) Load 65(gs_ub)
902               79:      8(int) Load 78(gs_uc)
903               80:      8(int) AtomicCompareExchange 64(gs_ua) 67 68 68 79 77
904                               Store 70(out_u1) 80
905               81:      8(int) Load 65(gs_ub)
906               82:      8(int) AtomicExchange 64(gs_ua) 67 68 81
907                               Store 70(out_u1) 82
908               83:      8(int) Load 65(gs_ub)
909               84:           2 AtomicSMax 64(gs_ua) 67 68 83
910               85:      8(int) Load 65(gs_ub)
911               86:      8(int) AtomicUMax 64(gs_ua) 67 68 85
912                               Store 70(out_u1) 86
913               87:      8(int) Load 65(gs_ub)
914               88:           2 AtomicSMin 64(gs_ua) 67 68 87
915               89:      8(int) Load 65(gs_ub)
916               90:      8(int) AtomicUMin 64(gs_ua) 67 68 89
917                               Store 70(out_u1) 90
918               91:      8(int) Load 65(gs_ub)
919               92:           2 AtomicOr 64(gs_ua) 67 68 91
920               93:      8(int) Load 65(gs_ub)
921               94:      8(int) AtomicOr 64(gs_ua) 67 68 93
922                               Store 70(out_u1) 94
923               95:      8(int) Load 65(gs_ub)
924               96:           2 AtomicXor 64(gs_ua) 67 68 95
925               97:      8(int) Load 65(gs_ub)
926               98:      8(int) AtomicXor 64(gs_ua) 67 68 97
927                               Store 70(out_u1) 98
928                               ReturnValue 99
929                               FunctionEnd
930 22(ComputeShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
931         19(inF0):      7(ptr) FunctionParameter
932         20(inF1):      7(ptr) FunctionParameter
933         21(inF2):      7(ptr) FunctionParameter
934               23:             Label
935                               ReturnValue 99
936                               FunctionEnd
937 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
938         29(inF0):     25(ptr) FunctionParameter
939         30(inF1):     25(ptr) FunctionParameter
940         31(inF2):     25(ptr) FunctionParameter
941         32(inU0):     27(ptr) FunctionParameter
942         33(inU1):     27(ptr) FunctionParameter
943               35:             Label
944      111(out_u2):     27(ptr) Variable Function
945              104:   24(fvec2) Load 29(inF0)
946              105:    61(bool) All 104
947              109:   26(ivec2) Load 108(gs_ub2)
948              110:           2 AtomicIAdd 107(gs_ua2) 67 68 109
949              112:   26(ivec2) Load 108(gs_ub2)
950              113:   26(ivec2) AtomicIAdd 107(gs_ua2) 67 68 112
951                               Store 111(out_u2) 113
952              114:   26(ivec2) Load 108(gs_ub2)
953              115:           2 AtomicAnd 107(gs_ua2) 67 68 114
954              116:   26(ivec2) Load 108(gs_ub2)
955              117:   26(ivec2) AtomicAnd 107(gs_ua2) 67 68 116
956                               Store 111(out_u2) 117
957              118:   26(ivec2) Load 108(gs_ub2)
958              120:   26(ivec2) Load 119(gs_uc2)
959              121:   26(ivec2) AtomicCompareExchange 107(gs_ua2) 67 68 68 120 118
960                               Store 111(out_u2) 121
961              122:   26(ivec2) Load 108(gs_ub2)
962              123:   26(ivec2) AtomicExchange 107(gs_ua2) 67 68 122
963                               Store 111(out_u2) 123
964              124:   26(ivec2) Load 108(gs_ub2)
965              125:           2 AtomicSMax 107(gs_ua2) 67 68 124
966              126:   26(ivec2) Load 108(gs_ub2)
967              127:   26(ivec2) AtomicUMax 107(gs_ua2) 67 68 126
968                               Store 111(out_u2) 127
969              128:   26(ivec2) Load 108(gs_ub2)
970              129:           2 AtomicSMin 107(gs_ua2) 67 68 128
971              130:   26(ivec2) Load 108(gs_ub2)
972              131:   26(ivec2) AtomicUMin 107(gs_ua2) 67 68 130
973                               Store 111(out_u2) 131
974              132:   26(ivec2) Load 108(gs_ub2)
975              133:           2 AtomicOr 107(gs_ua2) 67 68 132
976              134:   26(ivec2) Load 108(gs_ub2)
977              135:   26(ivec2) AtomicOr 107(gs_ua2) 67 68 134
978                               Store 111(out_u2) 135
979              136:   26(ivec2) Load 108(gs_ub2)
980              137:           2 AtomicXor 107(gs_ua2) 67 68 136
981              138:   26(ivec2) Load 108(gs_ub2)
982              139:   26(ivec2) AtomicXor 107(gs_ua2) 67 68 138
983                               Store 111(out_u2) 139
984                               ReturnValue 142
985                               FunctionEnd
986 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
987         41(inF0):     37(ptr) FunctionParameter
988         42(inF1):     37(ptr) FunctionParameter
989         43(inF2):     37(ptr) FunctionParameter
990         44(inU0):     39(ptr) FunctionParameter
991         45(inU1):     39(ptr) FunctionParameter
992               47:             Label
993      152(out_u3):     39(ptr) Variable Function
994              145:   36(fvec3) Load 41(inF0)
995              146:    61(bool) All 145
996              150:   38(ivec3) Load 149(gs_ub3)
997              151:           2 AtomicIAdd 148(gs_ua3) 67 68 150
998              153:   38(ivec3) Load 149(gs_ub3)
999              154:   38(ivec3) AtomicIAdd 148(gs_ua3) 67 68 153
1000                               Store 152(out_u3) 154
1001              155:   38(ivec3) Load 149(gs_ub3)
1002              156:           2 AtomicAnd 148(gs_ua3) 67 68 155
1003              157:   38(ivec3) Load 149(gs_ub3)
1004              158:   38(ivec3) AtomicAnd 148(gs_ua3) 67 68 157
1005                               Store 152(out_u3) 158
1006              159:   38(ivec3) Load 149(gs_ub3)
1007              161:   38(ivec3) Load 160(gs_uc3)
1008              162:   38(ivec3) AtomicCompareExchange 148(gs_ua3) 67 68 68 161 159
1009                               Store 152(out_u3) 162
1010              163:   38(ivec3) Load 149(gs_ub3)
1011              164:   38(ivec3) AtomicExchange 148(gs_ua3) 67 68 163
1012                               Store 152(out_u3) 164
1013              165:   38(ivec3) Load 149(gs_ub3)
1014              166:           2 AtomicSMax 148(gs_ua3) 67 68 165
1015              167:   38(ivec3) Load 149(gs_ub3)
1016              168:   38(ivec3) AtomicUMax 148(gs_ua3) 67 68 167
1017                               Store 152(out_u3) 168
1018              169:   38(ivec3) Load 149(gs_ub3)
1019              170:           2 AtomicSMin 148(gs_ua3) 67 68 169
1020              171:   38(ivec3) Load 149(gs_ub3)
1021              172:   38(ivec3) AtomicUMin 148(gs_ua3) 67 68 171
1022                               Store 152(out_u3) 172
1023              173:   38(ivec3) Load 149(gs_ub3)
1024              174:           2 AtomicOr 148(gs_ua3) 67 68 173
1025              175:   38(ivec3) Load 149(gs_ub3)
1026              176:   38(ivec3) AtomicOr 148(gs_ua3) 67 68 175
1027                               Store 152(out_u3) 176
1028              177:   38(ivec3) Load 149(gs_ub3)
1029              178:           2 AtomicXor 148(gs_ua3) 67 68 177
1030              179:   38(ivec3) Load 149(gs_ub3)
1031              180:   38(ivec3) AtomicXor 148(gs_ua3) 67 68 179
1032                               Store 152(out_u3) 180
1033                               ReturnValue 182
1034                               FunctionEnd
1035 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
1036         53(inF0):     49(ptr) FunctionParameter
1037         54(inF1):     49(ptr) FunctionParameter
1038         55(inF2):     49(ptr) FunctionParameter
1039         56(inU0):     51(ptr) FunctionParameter
1040         57(inU1):     51(ptr) FunctionParameter
1041               59:             Label
1042      192(out_u4):     51(ptr) Variable Function
1043              185:   48(fvec4) Load 53(inF0)
1044              186:    61(bool) All 185
1045              190:   50(ivec4) Load 189(gs_ub4)
1046              191:           2 AtomicIAdd 188(gs_ua4) 67 68 190
1047              193:   50(ivec4) Load 189(gs_ub4)
1048              194:   50(ivec4) AtomicIAdd 188(gs_ua4) 67 68 193
1049                               Store 192(out_u4) 194
1050              195:   50(ivec4) Load 189(gs_ub4)
1051              196:           2 AtomicAnd 188(gs_ua4) 67 68 195
1052              197:   50(ivec4) Load 189(gs_ub4)
1053              198:   50(ivec4) AtomicAnd 188(gs_ua4) 67 68 197
1054                               Store 192(out_u4) 198
1055              199:   50(ivec4) Load 189(gs_ub4)
1056              201:   50(ivec4) Load 200(gs_uc4)
1057              202:   50(ivec4) AtomicCompareExchange 188(gs_ua4) 67 68 68 201 199
1058                               Store 192(out_u4) 202
1059              203:   50(ivec4) Load 189(gs_ub4)
1060              204:   50(ivec4) AtomicExchange 188(gs_ua4) 67 68 203
1061                               Store 192(out_u4) 204
1062              205:   50(ivec4) Load 189(gs_ub4)
1063              206:           2 AtomicSMax 188(gs_ua4) 67 68 205
1064              207:   50(ivec4) Load 189(gs_ub4)
1065              208:   50(ivec4) AtomicUMax 188(gs_ua4) 67 68 207
1066                               Store 192(out_u4) 208
1067              209:   50(ivec4) Load 189(gs_ub4)
1068              210:           2 AtomicSMin 188(gs_ua4) 67 68 209
1069              211:   50(ivec4) Load 189(gs_ub4)
1070              212:   50(ivec4) AtomicUMin 188(gs_ua4) 67 68 211
1071                               Store 192(out_u4) 212
1072              213:   50(ivec4) Load 189(gs_ub4)
1073              214:           2 AtomicOr 188(gs_ua4) 67 68 213
1074              215:   50(ivec4) Load 189(gs_ub4)
1075              216:   50(ivec4) AtomicOr 188(gs_ua4) 67 68 215
1076                               Store 192(out_u4) 216
1077              217:   50(ivec4) Load 189(gs_ub4)
1078              218:           2 AtomicXor 188(gs_ua4) 67 68 217
1079              219:   50(ivec4) Load 189(gs_ub4)
1080              220:   50(ivec4) AtomicXor 188(gs_ua4) 67 68 219
1081                               Store 192(out_u4) 220
1082                               ReturnValue 222
1083                               FunctionEnd