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