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