| hlsl.intrinsics.comp |
| Shader version: 500 |
| local_size = (1, 1, 1) |
| 0:? Sequence |
| 0:19 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) |
| 0:19 Function Parameters: |
| 0:19 'inF0' ( in float) |
| 0:19 'inF1' ( in float) |
| 0:19 'inF2' ( in float) |
| 0:19 'inU0' ( in uint) |
| 0:19 'inU1' ( in uint) |
| 0:? Sequence |
| 0:23 all ( temp bool) |
| 0:23 Convert float to bool ( temp bool) |
| 0:23 'inF0' ( in float) |
| 0:26 AtomicAdd ( temp uint) |
| 0:26 'gs_ua' ( shared uint) |
| 0:26 'gs_ub' ( shared uint) |
| 0:27 move second child to first child ( temp uint) |
| 0:27 'out_u1' ( temp uint) |
| 0:27 AtomicAdd ( temp uint) |
| 0:27 'gs_ua' ( shared uint) |
| 0:27 'gs_ub' ( shared uint) |
| 0:28 AtomicAnd ( temp uint) |
| 0:28 'gs_ua' ( shared uint) |
| 0:28 'gs_ub' ( shared uint) |
| 0:29 move second child to first child ( temp uint) |
| 0:29 'out_u1' ( temp uint) |
| 0:29 AtomicAnd ( temp uint) |
| 0:29 'gs_ua' ( shared uint) |
| 0:29 'gs_ub' ( shared uint) |
| 0:30 move second child to first child ( temp uint) |
| 0:30 'out_u1' ( temp uint) |
| 0:30 AtomicCompSwap ( temp uint) |
| 0:30 'gs_ua' ( shared uint) |
| 0:30 'gs_ub' ( shared uint) |
| 0:30 'gs_uc' ( shared uint) |
| 0:31 move second child to first child ( temp uint) |
| 0:31 'out_u1' ( temp uint) |
| 0:31 AtomicExchange ( temp uint) |
| 0:31 'gs_ua' ( shared uint) |
| 0:31 'gs_ub' ( shared uint) |
| 0:32 AtomicMax ( temp uint) |
| 0:32 'gs_ua' ( shared uint) |
| 0:32 'gs_ub' ( shared uint) |
| 0:33 move second child to first child ( temp uint) |
| 0:33 'out_u1' ( temp uint) |
| 0:33 AtomicMax ( temp uint) |
| 0:33 'gs_ua' ( shared uint) |
| 0:33 'gs_ub' ( shared uint) |
| 0:34 AtomicMin ( temp uint) |
| 0:34 'gs_ua' ( shared uint) |
| 0:34 'gs_ub' ( shared uint) |
| 0:35 move second child to first child ( temp uint) |
| 0:35 'out_u1' ( temp uint) |
| 0:35 AtomicMin ( temp uint) |
| 0:35 'gs_ua' ( shared uint) |
| 0:35 'gs_ub' ( shared uint) |
| 0:36 AtomicOr ( temp uint) |
| 0:36 'gs_ua' ( shared uint) |
| 0:36 'gs_ub' ( shared uint) |
| 0:37 move second child to first child ( temp uint) |
| 0:37 'out_u1' ( temp uint) |
| 0:37 AtomicOr ( temp uint) |
| 0:37 'gs_ua' ( shared uint) |
| 0:37 'gs_ub' ( shared uint) |
| 0:38 AtomicXor ( temp uint) |
| 0:38 'gs_ua' ( shared uint) |
| 0:38 'gs_ub' ( shared uint) |
| 0:39 move second child to first child ( temp uint) |
| 0:39 'out_u1' ( temp uint) |
| 0:39 AtomicXor ( temp uint) |
| 0:39 'gs_ua' ( shared uint) |
| 0:39 'gs_ub' ( shared uint) |
| 0:41 AtomicAdd ( temp float) |
| 0:41 'gs_fa' ( shared float) |
| 0:41 'gs_fb' ( shared float) |
| 0:45 Branch: Return with expression |
| 0:45 Constant: |
| 0:45 0.000000 |
| 0:49 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) |
| 0:49 Function Parameters: |
| 0:49 'inF0' ( in 1-component vector of float) |
| 0:49 'inF1' ( in 1-component vector of float) |
| 0:49 'inF2' ( in 1-component vector of float) |
| 0:? Sequence |
| 0:51 Branch: Return with expression |
| 0:51 Constant: |
| 0:51 0.000000 |
| 0:55 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) |
| 0:55 Function Parameters: |
| 0:55 'inF0' ( in 2-component vector of float) |
| 0:55 'inF1' ( in 2-component vector of float) |
| 0:55 'inF2' ( in 2-component vector of float) |
| 0:55 'inU0' ( in 2-component vector of uint) |
| 0:55 'inU1' ( in 2-component vector of uint) |
| 0:? Sequence |
| 0:59 all ( temp bool) |
| 0:59 Convert float to bool ( temp 2-component vector of bool) |
| 0:59 'inF0' ( in 2-component vector of float) |
| 0:62 AtomicAdd ( temp 2-component vector of uint) |
| 0:62 'gs_ua2' ( shared 2-component vector of uint) |
| 0:62 'gs_ub2' ( shared 2-component vector of uint) |
| 0:63 move second child to first child ( temp 2-component vector of uint) |
| 0:63 'out_u2' ( temp 2-component vector of uint) |
| 0:63 AtomicAdd ( temp 2-component vector of uint) |
| 0:63 'gs_ua2' ( shared 2-component vector of uint) |
| 0:63 'gs_ub2' ( shared 2-component vector of uint) |
| 0:64 AtomicAnd ( temp 2-component vector of uint) |
| 0:64 'gs_ua2' ( shared 2-component vector of uint) |
| 0:64 'gs_ub2' ( shared 2-component vector of uint) |
| 0:65 move second child to first child ( temp 2-component vector of uint) |
| 0:65 'out_u2' ( temp 2-component vector of uint) |
| 0:65 AtomicAnd ( temp 2-component vector of uint) |
| 0:65 'gs_ua2' ( shared 2-component vector of uint) |
| 0:65 'gs_ub2' ( shared 2-component vector of uint) |
| 0:66 move second child to first child ( temp 2-component vector of uint) |
| 0:66 'out_u2' ( temp 2-component vector of uint) |
| 0:66 AtomicCompSwap ( temp 2-component vector of uint) |
| 0:66 'gs_ua2' ( shared 2-component vector of uint) |
| 0:66 'gs_ub2' ( shared 2-component vector of uint) |
| 0:66 'gs_uc2' ( shared 2-component vector of uint) |
| 0:67 move second child to first child ( temp 2-component vector of uint) |
| 0:67 'out_u2' ( temp 2-component vector of uint) |
| 0:67 AtomicExchange ( temp 2-component vector of uint) |
| 0:67 'gs_ua2' ( shared 2-component vector of uint) |
| 0:67 'gs_ub2' ( shared 2-component vector of uint) |
| 0:68 AtomicMax ( temp 2-component vector of uint) |
| 0:68 'gs_ua2' ( shared 2-component vector of uint) |
| 0:68 'gs_ub2' ( shared 2-component vector of uint) |
| 0:69 move second child to first child ( temp 2-component vector of uint) |
| 0:69 'out_u2' ( temp 2-component vector of uint) |
| 0:69 AtomicMax ( temp 2-component vector of uint) |
| 0:69 'gs_ua2' ( shared 2-component vector of uint) |
| 0:69 'gs_ub2' ( shared 2-component vector of uint) |
| 0:70 AtomicMin ( temp 2-component vector of uint) |
| 0:70 'gs_ua2' ( shared 2-component vector of uint) |
| 0:70 'gs_ub2' ( shared 2-component vector of uint) |
| 0:71 move second child to first child ( temp 2-component vector of uint) |
| 0:71 'out_u2' ( temp 2-component vector of uint) |
| 0:71 AtomicMin ( temp 2-component vector of uint) |
| 0:71 'gs_ua2' ( shared 2-component vector of uint) |
| 0:71 'gs_ub2' ( shared 2-component vector of uint) |
| 0:72 AtomicOr ( temp 2-component vector of uint) |
| 0:72 'gs_ua2' ( shared 2-component vector of uint) |
| 0:72 'gs_ub2' ( shared 2-component vector of uint) |
| 0:73 move second child to first child ( temp 2-component vector of uint) |
| 0:73 'out_u2' ( temp 2-component vector of uint) |
| 0:73 AtomicOr ( temp 2-component vector of uint) |
| 0:73 'gs_ua2' ( shared 2-component vector of uint) |
| 0:73 'gs_ub2' ( shared 2-component vector of uint) |
| 0:74 AtomicXor ( temp 2-component vector of uint) |
| 0:74 'gs_ua2' ( shared 2-component vector of uint) |
| 0:74 'gs_ub2' ( shared 2-component vector of uint) |
| 0:75 move second child to first child ( temp 2-component vector of uint) |
| 0:75 'out_u2' ( temp 2-component vector of uint) |
| 0:75 AtomicXor ( temp 2-component vector of uint) |
| 0:75 'gs_ua2' ( shared 2-component vector of uint) |
| 0:75 'gs_ub2' ( shared 2-component vector of uint) |
| 0:78 Branch: Return with expression |
| 0:78 Constant: |
| 0:78 1.000000 |
| 0:78 2.000000 |
| 0:82 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) |
| 0:82 Function Parameters: |
| 0:82 'inF0' ( in 3-component vector of float) |
| 0:82 'inF1' ( in 3-component vector of float) |
| 0:82 'inF2' ( in 3-component vector of float) |
| 0:82 'inU0' ( in 3-component vector of uint) |
| 0:82 'inU1' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:86 all ( temp bool) |
| 0:86 Convert float to bool ( temp 3-component vector of bool) |
| 0:86 'inF0' ( in 3-component vector of float) |
| 0:89 AtomicAdd ( temp 3-component vector of uint) |
| 0:89 'gs_ua3' ( shared 3-component vector of uint) |
| 0:89 'gs_ub3' ( shared 3-component vector of uint) |
| 0:90 move second child to first child ( temp 3-component vector of uint) |
| 0:90 'out_u3' ( temp 3-component vector of uint) |
| 0:90 AtomicAdd ( temp 3-component vector of uint) |
| 0:90 'gs_ua3' ( shared 3-component vector of uint) |
| 0:90 'gs_ub3' ( shared 3-component vector of uint) |
| 0:91 AtomicAnd ( temp 3-component vector of uint) |
| 0:91 'gs_ua3' ( shared 3-component vector of uint) |
| 0:91 'gs_ub3' ( shared 3-component vector of uint) |
| 0:92 move second child to first child ( temp 3-component vector of uint) |
| 0:92 'out_u3' ( temp 3-component vector of uint) |
| 0:92 AtomicAnd ( temp 3-component vector of uint) |
| 0:92 'gs_ua3' ( shared 3-component vector of uint) |
| 0:92 'gs_ub3' ( shared 3-component vector of uint) |
| 0:93 move second child to first child ( temp 3-component vector of uint) |
| 0:93 'out_u3' ( temp 3-component vector of uint) |
| 0:93 AtomicCompSwap ( temp 3-component vector of uint) |
| 0:93 'gs_ua3' ( shared 3-component vector of uint) |
| 0:93 'gs_ub3' ( shared 3-component vector of uint) |
| 0:93 'gs_uc3' ( shared 3-component vector of uint) |
| 0:94 move second child to first child ( temp 3-component vector of uint) |
| 0:94 'out_u3' ( temp 3-component vector of uint) |
| 0:94 AtomicExchange ( temp 3-component vector of uint) |
| 0:94 'gs_ua3' ( shared 3-component vector of uint) |
| 0:94 'gs_ub3' ( shared 3-component vector of uint) |
| 0:95 AtomicMax ( temp 3-component vector of uint) |
| 0:95 'gs_ua3' ( shared 3-component vector of uint) |
| 0:95 'gs_ub3' ( shared 3-component vector of uint) |
| 0:96 move second child to first child ( temp 3-component vector of uint) |
| 0:96 'out_u3' ( temp 3-component vector of uint) |
| 0:96 AtomicMax ( temp 3-component vector of uint) |
| 0:96 'gs_ua3' ( shared 3-component vector of uint) |
| 0:96 'gs_ub3' ( shared 3-component vector of uint) |
| 0:97 AtomicMin ( temp 3-component vector of uint) |
| 0:97 'gs_ua3' ( shared 3-component vector of uint) |
| 0:97 'gs_ub3' ( shared 3-component vector of uint) |
| 0:98 move second child to first child ( temp 3-component vector of uint) |
| 0:98 'out_u3' ( temp 3-component vector of uint) |
| 0:98 AtomicMin ( temp 3-component vector of uint) |
| 0:98 'gs_ua3' ( shared 3-component vector of uint) |
| 0:98 'gs_ub3' ( shared 3-component vector of uint) |
| 0:99 AtomicOr ( temp 3-component vector of uint) |
| 0:99 'gs_ua3' ( shared 3-component vector of uint) |
| 0:99 'gs_ub3' ( shared 3-component vector of uint) |
| 0:100 move second child to first child ( temp 3-component vector of uint) |
| 0:100 'out_u3' ( temp 3-component vector of uint) |
| 0:100 AtomicOr ( temp 3-component vector of uint) |
| 0:100 'gs_ua3' ( shared 3-component vector of uint) |
| 0:100 'gs_ub3' ( shared 3-component vector of uint) |
| 0:101 AtomicXor ( temp 3-component vector of uint) |
| 0:101 'gs_ua3' ( shared 3-component vector of uint) |
| 0:101 'gs_ub3' ( shared 3-component vector of uint) |
| 0:102 move second child to first child ( temp 3-component vector of uint) |
| 0:102 'out_u3' ( temp 3-component vector of uint) |
| 0:102 AtomicXor ( temp 3-component vector of uint) |
| 0:102 'gs_ua3' ( shared 3-component vector of uint) |
| 0:102 'gs_ub3' ( shared 3-component vector of uint) |
| 0:105 Branch: Return with expression |
| 0:105 Constant: |
| 0:105 1.000000 |
| 0:105 2.000000 |
| 0:105 3.000000 |
| 0:109 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) |
| 0:109 Function Parameters: |
| 0:109 'inF0' ( in 4-component vector of float) |
| 0:109 'inF1' ( in 4-component vector of float) |
| 0:109 'inF2' ( in 4-component vector of float) |
| 0:109 'inU0' ( in 4-component vector of uint) |
| 0:109 'inU1' ( in 4-component vector of uint) |
| 0:? Sequence |
| 0:113 all ( temp bool) |
| 0:113 Convert float to bool ( temp 4-component vector of bool) |
| 0:113 'inF0' ( in 4-component vector of float) |
| 0:116 AtomicAdd ( temp 4-component vector of uint) |
| 0:116 'gs_ua4' ( shared 4-component vector of uint) |
| 0:116 'gs_ub4' ( shared 4-component vector of uint) |
| 0:117 move second child to first child ( temp 4-component vector of uint) |
| 0:117 'out_u4' ( temp 4-component vector of uint) |
| 0:117 AtomicAdd ( temp 4-component vector of uint) |
| 0:117 'gs_ua4' ( shared 4-component vector of uint) |
| 0:117 'gs_ub4' ( shared 4-component vector of uint) |
| 0:118 AtomicAnd ( temp 4-component vector of uint) |
| 0:118 'gs_ua4' ( shared 4-component vector of uint) |
| 0:118 'gs_ub4' ( shared 4-component vector of uint) |
| 0:119 move second child to first child ( temp 4-component vector of uint) |
| 0:119 'out_u4' ( temp 4-component vector of uint) |
| 0:119 AtomicAnd ( temp 4-component vector of uint) |
| 0:119 'gs_ua4' ( shared 4-component vector of uint) |
| 0:119 'gs_ub4' ( shared 4-component vector of uint) |
| 0:120 move second child to first child ( temp 4-component vector of uint) |
| 0:120 'out_u4' ( temp 4-component vector of uint) |
| 0:120 AtomicCompSwap ( temp 4-component vector of uint) |
| 0:120 'gs_ua4' ( shared 4-component vector of uint) |
| 0:120 'gs_ub4' ( shared 4-component vector of uint) |
| 0:120 'gs_uc4' ( shared 4-component vector of uint) |
| 0:121 move second child to first child ( temp 4-component vector of uint) |
| 0:121 'out_u4' ( temp 4-component vector of uint) |
| 0:121 AtomicExchange ( temp 4-component vector of uint) |
| 0:121 'gs_ua4' ( shared 4-component vector of uint) |
| 0:121 'gs_ub4' ( shared 4-component vector of uint) |
| 0:122 AtomicMax ( temp 4-component vector of uint) |
| 0:122 'gs_ua4' ( shared 4-component vector of uint) |
| 0:122 'gs_ub4' ( shared 4-component vector of uint) |
| 0:123 move second child to first child ( temp 4-component vector of uint) |
| 0:123 'out_u4' ( temp 4-component vector of uint) |
| 0:123 AtomicMax ( temp 4-component vector of uint) |
| 0:123 'gs_ua4' ( shared 4-component vector of uint) |
| 0:123 'gs_ub4' ( shared 4-component vector of uint) |
| 0:124 AtomicMin ( temp 4-component vector of uint) |
| 0:124 'gs_ua4' ( shared 4-component vector of uint) |
| 0:124 'gs_ub4' ( shared 4-component vector of uint) |
| 0:125 move second child to first child ( temp 4-component vector of uint) |
| 0:125 'out_u4' ( temp 4-component vector of uint) |
| 0:125 AtomicMin ( temp 4-component vector of uint) |
| 0:125 'gs_ua4' ( shared 4-component vector of uint) |
| 0:125 'gs_ub4' ( shared 4-component vector of uint) |
| 0:126 AtomicOr ( temp 4-component vector of uint) |
| 0:126 'gs_ua4' ( shared 4-component vector of uint) |
| 0:126 'gs_ub4' ( shared 4-component vector of uint) |
| 0:127 move second child to first child ( temp 4-component vector of uint) |
| 0:127 'out_u4' ( temp 4-component vector of uint) |
| 0:127 AtomicOr ( temp 4-component vector of uint) |
| 0:127 'gs_ua4' ( shared 4-component vector of uint) |
| 0:127 'gs_ub4' ( shared 4-component vector of uint) |
| 0:128 AtomicXor ( temp 4-component vector of uint) |
| 0:128 'gs_ua4' ( shared 4-component vector of uint) |
| 0:128 'gs_ub4' ( shared 4-component vector of uint) |
| 0:129 move second child to first child ( temp 4-component vector of uint) |
| 0:129 'out_u4' ( temp 4-component vector of uint) |
| 0:129 AtomicXor ( temp 4-component vector of uint) |
| 0:129 'gs_ua4' ( shared 4-component vector of uint) |
| 0:129 'gs_ub4' ( shared 4-component vector of uint) |
| 0:132 Branch: Return with expression |
| 0:132 Constant: |
| 0:132 1.000000 |
| 0:132 2.000000 |
| 0:132 3.000000 |
| 0:132 4.000000 |
| 0:109 Function Definition: ComputeShaderFunction( ( temp void) |
| 0:109 Function Parameters: |
| 0:? Sequence |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF0' ( temp 4-component vector of float) |
| 0:? 'inF0' (layout( location=0) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF1' ( temp 4-component vector of float) |
| 0:? 'inF1' (layout( location=1) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF2' ( temp 4-component vector of float) |
| 0:? 'inF2' (layout( location=2) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of uint) |
| 0:? 'inU0' ( temp 4-component vector of uint) |
| 0:? 'inU0' (layout( location=3) in 4-component vector of uint) |
| 0:109 move second child to first child ( temp 4-component vector of uint) |
| 0:? 'inU1' ( temp 4-component vector of uint) |
| 0:? 'inU1' (layout( location=4) in 4-component vector of uint) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:109 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) |
| 0:? 'inF0' ( temp 4-component vector of float) |
| 0:? 'inF1' ( temp 4-component vector of float) |
| 0:? 'inF2' ( temp 4-component vector of float) |
| 0:? 'inU0' ( temp 4-component vector of uint) |
| 0:? 'inU1' ( temp 4-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'gs_ua' ( shared uint) |
| 0:? 'gs_ub' ( shared uint) |
| 0:? 'gs_uc' ( shared uint) |
| 0:? 'gs_ua2' ( shared 2-component vector of uint) |
| 0:? 'gs_ub2' ( shared 2-component vector of uint) |
| 0:? 'gs_uc2' ( shared 2-component vector of uint) |
| 0:? 'gs_ua3' ( shared 3-component vector of uint) |
| 0:? 'gs_ub3' ( shared 3-component vector of uint) |
| 0:? 'gs_uc3' ( shared 3-component vector of uint) |
| 0:? 'gs_ua4' ( shared 4-component vector of uint) |
| 0:? 'gs_ub4' ( shared 4-component vector of uint) |
| 0:? 'gs_uc4' ( shared 4-component vector of uint) |
| 0:? 'gs_fa' ( shared float) |
| 0:? 'gs_fb' ( shared float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'inF0' (layout( location=0) in 4-component vector of float) |
| 0:? 'inF1' (layout( location=1) in 4-component vector of float) |
| 0:? 'inF2' (layout( location=2) in 4-component vector of float) |
| 0:? 'inU0' (layout( location=3) in 4-component vector of uint) |
| 0:? 'inU1' (layout( location=4) in 4-component vector of uint) |
| |
| |
| Linked compute stage: |
| |
| |
| Shader version: 500 |
| local_size = (1, 1, 1) |
| 0:? Sequence |
| 0:19 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) |
| 0:19 Function Parameters: |
| 0:19 'inF0' ( in float) |
| 0:19 'inF1' ( in float) |
| 0:19 'inF2' ( in float) |
| 0:19 'inU0' ( in uint) |
| 0:19 'inU1' ( in uint) |
| 0:? Sequence |
| 0:23 all ( temp bool) |
| 0:23 Convert float to bool ( temp bool) |
| 0:23 'inF0' ( in float) |
| 0:26 AtomicAdd ( temp uint) |
| 0:26 'gs_ua' ( shared uint) |
| 0:26 'gs_ub' ( shared uint) |
| 0:27 move second child to first child ( temp uint) |
| 0:27 'out_u1' ( temp uint) |
| 0:27 AtomicAdd ( temp uint) |
| 0:27 'gs_ua' ( shared uint) |
| 0:27 'gs_ub' ( shared uint) |
| 0:28 AtomicAnd ( temp uint) |
| 0:28 'gs_ua' ( shared uint) |
| 0:28 'gs_ub' ( shared uint) |
| 0:29 move second child to first child ( temp uint) |
| 0:29 'out_u1' ( temp uint) |
| 0:29 AtomicAnd ( temp uint) |
| 0:29 'gs_ua' ( shared uint) |
| 0:29 'gs_ub' ( shared uint) |
| 0:30 move second child to first child ( temp uint) |
| 0:30 'out_u1' ( temp uint) |
| 0:30 AtomicCompSwap ( temp uint) |
| 0:30 'gs_ua' ( shared uint) |
| 0:30 'gs_ub' ( shared uint) |
| 0:30 'gs_uc' ( shared uint) |
| 0:31 move second child to first child ( temp uint) |
| 0:31 'out_u1' ( temp uint) |
| 0:31 AtomicExchange ( temp uint) |
| 0:31 'gs_ua' ( shared uint) |
| 0:31 'gs_ub' ( shared uint) |
| 0:32 AtomicMax ( temp uint) |
| 0:32 'gs_ua' ( shared uint) |
| 0:32 'gs_ub' ( shared uint) |
| 0:33 move second child to first child ( temp uint) |
| 0:33 'out_u1' ( temp uint) |
| 0:33 AtomicMax ( temp uint) |
| 0:33 'gs_ua' ( shared uint) |
| 0:33 'gs_ub' ( shared uint) |
| 0:34 AtomicMin ( temp uint) |
| 0:34 'gs_ua' ( shared uint) |
| 0:34 'gs_ub' ( shared uint) |
| 0:35 move second child to first child ( temp uint) |
| 0:35 'out_u1' ( temp uint) |
| 0:35 AtomicMin ( temp uint) |
| 0:35 'gs_ua' ( shared uint) |
| 0:35 'gs_ub' ( shared uint) |
| 0:36 AtomicOr ( temp uint) |
| 0:36 'gs_ua' ( shared uint) |
| 0:36 'gs_ub' ( shared uint) |
| 0:37 move second child to first child ( temp uint) |
| 0:37 'out_u1' ( temp uint) |
| 0:37 AtomicOr ( temp uint) |
| 0:37 'gs_ua' ( shared uint) |
| 0:37 'gs_ub' ( shared uint) |
| 0:38 AtomicXor ( temp uint) |
| 0:38 'gs_ua' ( shared uint) |
| 0:38 'gs_ub' ( shared uint) |
| 0:39 move second child to first child ( temp uint) |
| 0:39 'out_u1' ( temp uint) |
| 0:39 AtomicXor ( temp uint) |
| 0:39 'gs_ua' ( shared uint) |
| 0:39 'gs_ub' ( shared uint) |
| 0:41 AtomicAdd ( temp float) |
| 0:41 'gs_fa' ( shared float) |
| 0:41 'gs_fb' ( shared float) |
| 0:45 Branch: Return with expression |
| 0:45 Constant: |
| 0:45 0.000000 |
| 0:49 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) |
| 0:49 Function Parameters: |
| 0:49 'inF0' ( in 1-component vector of float) |
| 0:49 'inF1' ( in 1-component vector of float) |
| 0:49 'inF2' ( in 1-component vector of float) |
| 0:? Sequence |
| 0:51 Branch: Return with expression |
| 0:51 Constant: |
| 0:51 0.000000 |
| 0:55 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) |
| 0:55 Function Parameters: |
| 0:55 'inF0' ( in 2-component vector of float) |
| 0:55 'inF1' ( in 2-component vector of float) |
| 0:55 'inF2' ( in 2-component vector of float) |
| 0:55 'inU0' ( in 2-component vector of uint) |
| 0:55 'inU1' ( in 2-component vector of uint) |
| 0:? Sequence |
| 0:59 all ( temp bool) |
| 0:59 Convert float to bool ( temp 2-component vector of bool) |
| 0:59 'inF0' ( in 2-component vector of float) |
| 0:62 AtomicAdd ( temp 2-component vector of uint) |
| 0:62 'gs_ua2' ( shared 2-component vector of uint) |
| 0:62 'gs_ub2' ( shared 2-component vector of uint) |
| 0:63 move second child to first child ( temp 2-component vector of uint) |
| 0:63 'out_u2' ( temp 2-component vector of uint) |
| 0:63 AtomicAdd ( temp 2-component vector of uint) |
| 0:63 'gs_ua2' ( shared 2-component vector of uint) |
| 0:63 'gs_ub2' ( shared 2-component vector of uint) |
| 0:64 AtomicAnd ( temp 2-component vector of uint) |
| 0:64 'gs_ua2' ( shared 2-component vector of uint) |
| 0:64 'gs_ub2' ( shared 2-component vector of uint) |
| 0:65 move second child to first child ( temp 2-component vector of uint) |
| 0:65 'out_u2' ( temp 2-component vector of uint) |
| 0:65 AtomicAnd ( temp 2-component vector of uint) |
| 0:65 'gs_ua2' ( shared 2-component vector of uint) |
| 0:65 'gs_ub2' ( shared 2-component vector of uint) |
| 0:66 move second child to first child ( temp 2-component vector of uint) |
| 0:66 'out_u2' ( temp 2-component vector of uint) |
| 0:66 AtomicCompSwap ( temp 2-component vector of uint) |
| 0:66 'gs_ua2' ( shared 2-component vector of uint) |
| 0:66 'gs_ub2' ( shared 2-component vector of uint) |
| 0:66 'gs_uc2' ( shared 2-component vector of uint) |
| 0:67 move second child to first child ( temp 2-component vector of uint) |
| 0:67 'out_u2' ( temp 2-component vector of uint) |
| 0:67 AtomicExchange ( temp 2-component vector of uint) |
| 0:67 'gs_ua2' ( shared 2-component vector of uint) |
| 0:67 'gs_ub2' ( shared 2-component vector of uint) |
| 0:68 AtomicMax ( temp 2-component vector of uint) |
| 0:68 'gs_ua2' ( shared 2-component vector of uint) |
| 0:68 'gs_ub2' ( shared 2-component vector of uint) |
| 0:69 move second child to first child ( temp 2-component vector of uint) |
| 0:69 'out_u2' ( temp 2-component vector of uint) |
| 0:69 AtomicMax ( temp 2-component vector of uint) |
| 0:69 'gs_ua2' ( shared 2-component vector of uint) |
| 0:69 'gs_ub2' ( shared 2-component vector of uint) |
| 0:70 AtomicMin ( temp 2-component vector of uint) |
| 0:70 'gs_ua2' ( shared 2-component vector of uint) |
| 0:70 'gs_ub2' ( shared 2-component vector of uint) |
| 0:71 move second child to first child ( temp 2-component vector of uint) |
| 0:71 'out_u2' ( temp 2-component vector of uint) |
| 0:71 AtomicMin ( temp 2-component vector of uint) |
| 0:71 'gs_ua2' ( shared 2-component vector of uint) |
| 0:71 'gs_ub2' ( shared 2-component vector of uint) |
| 0:72 AtomicOr ( temp 2-component vector of uint) |
| 0:72 'gs_ua2' ( shared 2-component vector of uint) |
| 0:72 'gs_ub2' ( shared 2-component vector of uint) |
| 0:73 move second child to first child ( temp 2-component vector of uint) |
| 0:73 'out_u2' ( temp 2-component vector of uint) |
| 0:73 AtomicOr ( temp 2-component vector of uint) |
| 0:73 'gs_ua2' ( shared 2-component vector of uint) |
| 0:73 'gs_ub2' ( shared 2-component vector of uint) |
| 0:74 AtomicXor ( temp 2-component vector of uint) |
| 0:74 'gs_ua2' ( shared 2-component vector of uint) |
| 0:74 'gs_ub2' ( shared 2-component vector of uint) |
| 0:75 move second child to first child ( temp 2-component vector of uint) |
| 0:75 'out_u2' ( temp 2-component vector of uint) |
| 0:75 AtomicXor ( temp 2-component vector of uint) |
| 0:75 'gs_ua2' ( shared 2-component vector of uint) |
| 0:75 'gs_ub2' ( shared 2-component vector of uint) |
| 0:78 Branch: Return with expression |
| 0:78 Constant: |
| 0:78 1.000000 |
| 0:78 2.000000 |
| 0:82 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) |
| 0:82 Function Parameters: |
| 0:82 'inF0' ( in 3-component vector of float) |
| 0:82 'inF1' ( in 3-component vector of float) |
| 0:82 'inF2' ( in 3-component vector of float) |
| 0:82 'inU0' ( in 3-component vector of uint) |
| 0:82 'inU1' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:86 all ( temp bool) |
| 0:86 Convert float to bool ( temp 3-component vector of bool) |
| 0:86 'inF0' ( in 3-component vector of float) |
| 0:89 AtomicAdd ( temp 3-component vector of uint) |
| 0:89 'gs_ua3' ( shared 3-component vector of uint) |
| 0:89 'gs_ub3' ( shared 3-component vector of uint) |
| 0:90 move second child to first child ( temp 3-component vector of uint) |
| 0:90 'out_u3' ( temp 3-component vector of uint) |
| 0:90 AtomicAdd ( temp 3-component vector of uint) |
| 0:90 'gs_ua3' ( shared 3-component vector of uint) |
| 0:90 'gs_ub3' ( shared 3-component vector of uint) |
| 0:91 AtomicAnd ( temp 3-component vector of uint) |
| 0:91 'gs_ua3' ( shared 3-component vector of uint) |
| 0:91 'gs_ub3' ( shared 3-component vector of uint) |
| 0:92 move second child to first child ( temp 3-component vector of uint) |
| 0:92 'out_u3' ( temp 3-component vector of uint) |
| 0:92 AtomicAnd ( temp 3-component vector of uint) |
| 0:92 'gs_ua3' ( shared 3-component vector of uint) |
| 0:92 'gs_ub3' ( shared 3-component vector of uint) |
| 0:93 move second child to first child ( temp 3-component vector of uint) |
| 0:93 'out_u3' ( temp 3-component vector of uint) |
| 0:93 AtomicCompSwap ( temp 3-component vector of uint) |
| 0:93 'gs_ua3' ( shared 3-component vector of uint) |
| 0:93 'gs_ub3' ( shared 3-component vector of uint) |
| 0:93 'gs_uc3' ( shared 3-component vector of uint) |
| 0:94 move second child to first child ( temp 3-component vector of uint) |
| 0:94 'out_u3' ( temp 3-component vector of uint) |
| 0:94 AtomicExchange ( temp 3-component vector of uint) |
| 0:94 'gs_ua3' ( shared 3-component vector of uint) |
| 0:94 'gs_ub3' ( shared 3-component vector of uint) |
| 0:95 AtomicMax ( temp 3-component vector of uint) |
| 0:95 'gs_ua3' ( shared 3-component vector of uint) |
| 0:95 'gs_ub3' ( shared 3-component vector of uint) |
| 0:96 move second child to first child ( temp 3-component vector of uint) |
| 0:96 'out_u3' ( temp 3-component vector of uint) |
| 0:96 AtomicMax ( temp 3-component vector of uint) |
| 0:96 'gs_ua3' ( shared 3-component vector of uint) |
| 0:96 'gs_ub3' ( shared 3-component vector of uint) |
| 0:97 AtomicMin ( temp 3-component vector of uint) |
| 0:97 'gs_ua3' ( shared 3-component vector of uint) |
| 0:97 'gs_ub3' ( shared 3-component vector of uint) |
| 0:98 move second child to first child ( temp 3-component vector of uint) |
| 0:98 'out_u3' ( temp 3-component vector of uint) |
| 0:98 AtomicMin ( temp 3-component vector of uint) |
| 0:98 'gs_ua3' ( shared 3-component vector of uint) |
| 0:98 'gs_ub3' ( shared 3-component vector of uint) |
| 0:99 AtomicOr ( temp 3-component vector of uint) |
| 0:99 'gs_ua3' ( shared 3-component vector of uint) |
| 0:99 'gs_ub3' ( shared 3-component vector of uint) |
| 0:100 move second child to first child ( temp 3-component vector of uint) |
| 0:100 'out_u3' ( temp 3-component vector of uint) |
| 0:100 AtomicOr ( temp 3-component vector of uint) |
| 0:100 'gs_ua3' ( shared 3-component vector of uint) |
| 0:100 'gs_ub3' ( shared 3-component vector of uint) |
| 0:101 AtomicXor ( temp 3-component vector of uint) |
| 0:101 'gs_ua3' ( shared 3-component vector of uint) |
| 0:101 'gs_ub3' ( shared 3-component vector of uint) |
| 0:102 move second child to first child ( temp 3-component vector of uint) |
| 0:102 'out_u3' ( temp 3-component vector of uint) |
| 0:102 AtomicXor ( temp 3-component vector of uint) |
| 0:102 'gs_ua3' ( shared 3-component vector of uint) |
| 0:102 'gs_ub3' ( shared 3-component vector of uint) |
| 0:105 Branch: Return with expression |
| 0:105 Constant: |
| 0:105 1.000000 |
| 0:105 2.000000 |
| 0:105 3.000000 |
| 0:109 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) |
| 0:109 Function Parameters: |
| 0:109 'inF0' ( in 4-component vector of float) |
| 0:109 'inF1' ( in 4-component vector of float) |
| 0:109 'inF2' ( in 4-component vector of float) |
| 0:109 'inU0' ( in 4-component vector of uint) |
| 0:109 'inU1' ( in 4-component vector of uint) |
| 0:? Sequence |
| 0:113 all ( temp bool) |
| 0:113 Convert float to bool ( temp 4-component vector of bool) |
| 0:113 'inF0' ( in 4-component vector of float) |
| 0:116 AtomicAdd ( temp 4-component vector of uint) |
| 0:116 'gs_ua4' ( shared 4-component vector of uint) |
| 0:116 'gs_ub4' ( shared 4-component vector of uint) |
| 0:117 move second child to first child ( temp 4-component vector of uint) |
| 0:117 'out_u4' ( temp 4-component vector of uint) |
| 0:117 AtomicAdd ( temp 4-component vector of uint) |
| 0:117 'gs_ua4' ( shared 4-component vector of uint) |
| 0:117 'gs_ub4' ( shared 4-component vector of uint) |
| 0:118 AtomicAnd ( temp 4-component vector of uint) |
| 0:118 'gs_ua4' ( shared 4-component vector of uint) |
| 0:118 'gs_ub4' ( shared 4-component vector of uint) |
| 0:119 move second child to first child ( temp 4-component vector of uint) |
| 0:119 'out_u4' ( temp 4-component vector of uint) |
| 0:119 AtomicAnd ( temp 4-component vector of uint) |
| 0:119 'gs_ua4' ( shared 4-component vector of uint) |
| 0:119 'gs_ub4' ( shared 4-component vector of uint) |
| 0:120 move second child to first child ( temp 4-component vector of uint) |
| 0:120 'out_u4' ( temp 4-component vector of uint) |
| 0:120 AtomicCompSwap ( temp 4-component vector of uint) |
| 0:120 'gs_ua4' ( shared 4-component vector of uint) |
| 0:120 'gs_ub4' ( shared 4-component vector of uint) |
| 0:120 'gs_uc4' ( shared 4-component vector of uint) |
| 0:121 move second child to first child ( temp 4-component vector of uint) |
| 0:121 'out_u4' ( temp 4-component vector of uint) |
| 0:121 AtomicExchange ( temp 4-component vector of uint) |
| 0:121 'gs_ua4' ( shared 4-component vector of uint) |
| 0:121 'gs_ub4' ( shared 4-component vector of uint) |
| 0:122 AtomicMax ( temp 4-component vector of uint) |
| 0:122 'gs_ua4' ( shared 4-component vector of uint) |
| 0:122 'gs_ub4' ( shared 4-component vector of uint) |
| 0:123 move second child to first child ( temp 4-component vector of uint) |
| 0:123 'out_u4' ( temp 4-component vector of uint) |
| 0:123 AtomicMax ( temp 4-component vector of uint) |
| 0:123 'gs_ua4' ( shared 4-component vector of uint) |
| 0:123 'gs_ub4' ( shared 4-component vector of uint) |
| 0:124 AtomicMin ( temp 4-component vector of uint) |
| 0:124 'gs_ua4' ( shared 4-component vector of uint) |
| 0:124 'gs_ub4' ( shared 4-component vector of uint) |
| 0:125 move second child to first child ( temp 4-component vector of uint) |
| 0:125 'out_u4' ( temp 4-component vector of uint) |
| 0:125 AtomicMin ( temp 4-component vector of uint) |
| 0:125 'gs_ua4' ( shared 4-component vector of uint) |
| 0:125 'gs_ub4' ( shared 4-component vector of uint) |
| 0:126 AtomicOr ( temp 4-component vector of uint) |
| 0:126 'gs_ua4' ( shared 4-component vector of uint) |
| 0:126 'gs_ub4' ( shared 4-component vector of uint) |
| 0:127 move second child to first child ( temp 4-component vector of uint) |
| 0:127 'out_u4' ( temp 4-component vector of uint) |
| 0:127 AtomicOr ( temp 4-component vector of uint) |
| 0:127 'gs_ua4' ( shared 4-component vector of uint) |
| 0:127 'gs_ub4' ( shared 4-component vector of uint) |
| 0:128 AtomicXor ( temp 4-component vector of uint) |
| 0:128 'gs_ua4' ( shared 4-component vector of uint) |
| 0:128 'gs_ub4' ( shared 4-component vector of uint) |
| 0:129 move second child to first child ( temp 4-component vector of uint) |
| 0:129 'out_u4' ( temp 4-component vector of uint) |
| 0:129 AtomicXor ( temp 4-component vector of uint) |
| 0:129 'gs_ua4' ( shared 4-component vector of uint) |
| 0:129 'gs_ub4' ( shared 4-component vector of uint) |
| 0:132 Branch: Return with expression |
| 0:132 Constant: |
| 0:132 1.000000 |
| 0:132 2.000000 |
| 0:132 3.000000 |
| 0:132 4.000000 |
| 0:109 Function Definition: ComputeShaderFunction( ( temp void) |
| 0:109 Function Parameters: |
| 0:? Sequence |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF0' ( temp 4-component vector of float) |
| 0:? 'inF0' (layout( location=0) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF1' ( temp 4-component vector of float) |
| 0:? 'inF1' (layout( location=1) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? 'inF2' ( temp 4-component vector of float) |
| 0:? 'inF2' (layout( location=2) in 4-component vector of float) |
| 0:109 move second child to first child ( temp 4-component vector of uint) |
| 0:? 'inU0' ( temp 4-component vector of uint) |
| 0:? 'inU0' (layout( location=3) in 4-component vector of uint) |
| 0:109 move second child to first child ( temp 4-component vector of uint) |
| 0:? 'inU1' ( temp 4-component vector of uint) |
| 0:? 'inU1' (layout( location=4) in 4-component vector of uint) |
| 0:109 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:109 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) |
| 0:? 'inF0' ( temp 4-component vector of float) |
| 0:? 'inF1' ( temp 4-component vector of float) |
| 0:? 'inF2' ( temp 4-component vector of float) |
| 0:? 'inU0' ( temp 4-component vector of uint) |
| 0:? 'inU1' ( temp 4-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'gs_ua' ( shared uint) |
| 0:? 'gs_ub' ( shared uint) |
| 0:? 'gs_uc' ( shared uint) |
| 0:? 'gs_ua2' ( shared 2-component vector of uint) |
| 0:? 'gs_ub2' ( shared 2-component vector of uint) |
| 0:? 'gs_uc2' ( shared 2-component vector of uint) |
| 0:? 'gs_ua3' ( shared 3-component vector of uint) |
| 0:? 'gs_ub3' ( shared 3-component vector of uint) |
| 0:? 'gs_uc3' ( shared 3-component vector of uint) |
| 0:? 'gs_ua4' ( shared 4-component vector of uint) |
| 0:? 'gs_ub4' ( shared 4-component vector of uint) |
| 0:? 'gs_uc4' ( shared 4-component vector of uint) |
| 0:? 'gs_fa' ( shared float) |
| 0:? 'gs_fb' ( shared float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'inF0' (layout( location=0) in 4-component vector of float) |
| 0:? 'inF1' (layout( location=1) in 4-component vector of float) |
| 0:? 'inF2' (layout( location=2) in 4-component vector of float) |
| 0:? 'inU0' (layout( location=3) in 4-component vector of uint) |
| 0:? 'inU1' (layout( location=4) in 4-component vector of uint) |
| |
| Validation failed |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 270 |
| |
| Capability Shader |
| Capability AtomicFloat32AddEXT |
| Extension "SPV_EXT_shader_atomic_float_add" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "ComputeShaderFunction" 242 245 248 252 255 258 |
| ExecutionMode 4 LocalSize 1 1 1 |
| Source HLSL 500 |
| Name 4 "ComputeShaderFunction" |
| Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" |
| Name 11 "inF0" |
| Name 12 "inF1" |
| Name 13 "inF2" |
| Name 14 "inU0" |
| Name 15 "inU1" |
| Name 22 "ComputeShaderFunction1(vf1;vf1;vf1;" |
| Name 19 "inF0" |
| Name 20 "inF1" |
| Name 21 "inF2" |
| Name 34 "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;" |
| Name 29 "inF0" |
| Name 30 "inF1" |
| Name 31 "inF2" |
| Name 32 "inU0" |
| Name 33 "inU1" |
| Name 46 "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;" |
| Name 41 "inF0" |
| Name 42 "inF1" |
| Name 43 "inF2" |
| Name 44 "inU0" |
| Name 45 "inU1" |
| Name 58 "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;" |
| Name 53 "inF0" |
| Name 54 "inF1" |
| Name 55 "inF2" |
| Name 56 "inU0" |
| Name 57 "inU1" |
| Name 66 "gs_ua" |
| Name 67 "gs_ub" |
| Name 72 "out_u1" |
| Name 80 "gs_uc" |
| Name 102 "gs_fa" |
| Name 103 "gs_fb" |
| Name 116 "gs_ua2" |
| Name 117 "gs_ub2" |
| Name 120 "out_u2" |
| Name 128 "gs_uc2" |
| Name 160 "gs_ua3" |
| Name 161 "gs_ub3" |
| Name 164 "out_u3" |
| Name 172 "gs_uc3" |
| Name 203 "gs_ua4" |
| Name 204 "gs_ub4" |
| Name 207 "out_u4" |
| Name 215 "gs_uc4" |
| Name 240 "inF0" |
| Name 242 "inF0" |
| Name 244 "inF1" |
| Name 245 "inF1" |
| Name 247 "inF2" |
| Name 248 "inF2" |
| Name 250 "inU0" |
| Name 252 "inU0" |
| Name 254 "inU1" |
| Name 255 "inU1" |
| Name 258 "@entryPointOutput" |
| Name 259 "param" |
| Name 261 "param" |
| Name 263 "param" |
| Name 265 "param" |
| Name 267 "param" |
| Decorate 242(inF0) Location 0 |
| Decorate 245(inF1) Location 1 |
| Decorate 248(inF2) Location 2 |
| Decorate 252(inU0) Location 3 |
| Decorate 255(inU1) Location 4 |
| Decorate 258(@entryPointOutput) Location 0 |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypePointer Function 6(float) |
| 8: TypeInt 32 0 |
| 9: TypePointer Function 8(int) |
| 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr) |
| 18: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) |
| 24: TypeVector 6(float) 2 |
| 25: TypePointer Function 24(fvec2) |
| 26: TypeVector 8(int) 2 |
| 27: TypePointer Function 26(ivec2) |
| 28: TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr) |
| 36: TypeVector 6(float) 3 |
| 37: TypePointer Function 36(fvec3) |
| 38: TypeVector 8(int) 3 |
| 39: TypePointer Function 38(ivec3) |
| 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr) |
| 48: TypeVector 6(float) 4 |
| 49: TypePointer Function 48(fvec4) |
| 50: TypeVector 8(int) 4 |
| 51: TypePointer Function 50(ivec4) |
| 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr) |
| 61: TypeBool |
| 62: 6(float) Constant 0 |
| 65: TypePointer Workgroup 8(int) |
| 66(gs_ua): 65(ptr) Variable Workgroup |
| 67(gs_ub): 65(ptr) Variable Workgroup |
| 69: 8(int) Constant 1 |
| 70: 8(int) Constant 0 |
| 80(gs_uc): 65(ptr) Variable Workgroup |
| 101: TypePointer Workgroup 6(float) |
| 102(gs_fa): 101(ptr) Variable Workgroup |
| 103(gs_fb): 101(ptr) Variable Workgroup |
| 111: TypeVector 61(bool) 2 |
| 112: 24(fvec2) ConstantComposite 62 62 |
| 115: TypePointer Workgroup 26(ivec2) |
| 116(gs_ua2): 115(ptr) Variable Workgroup |
| 117(gs_ub2): 115(ptr) Variable Workgroup |
| 128(gs_uc2): 115(ptr) Variable Workgroup |
| 149: 6(float) Constant 1065353216 |
| 150: 6(float) Constant 1073741824 |
| 151: 24(fvec2) ConstantComposite 149 150 |
| 155: TypeVector 61(bool) 3 |
| 156: 36(fvec3) ConstantComposite 62 62 62 |
| 159: TypePointer Workgroup 38(ivec3) |
| 160(gs_ua3): 159(ptr) Variable Workgroup |
| 161(gs_ub3): 159(ptr) Variable Workgroup |
| 172(gs_uc3): 159(ptr) Variable Workgroup |
| 193: 6(float) Constant 1077936128 |
| 194: 36(fvec3) ConstantComposite 149 150 193 |
| 198: TypeVector 61(bool) 4 |
| 199: 48(fvec4) ConstantComposite 62 62 62 62 |
| 202: TypePointer Workgroup 50(ivec4) |
| 203(gs_ua4): 202(ptr) Variable Workgroup |
| 204(gs_ub4): 202(ptr) Variable Workgroup |
| 215(gs_uc4): 202(ptr) Variable Workgroup |
| 236: 6(float) Constant 1082130432 |
| 237: 48(fvec4) ConstantComposite 149 150 193 236 |
| 241: TypePointer Input 48(fvec4) |
| 242(inF0): 241(ptr) Variable Input |
| 245(inF1): 241(ptr) Variable Input |
| 248(inF2): 241(ptr) Variable Input |
| 251: TypePointer Input 50(ivec4) |
| 252(inU0): 251(ptr) Variable Input |
| 255(inU1): 251(ptr) Variable Input |
| 257: TypePointer Output 48(fvec4) |
| 258(@entryPointOutput): 257(ptr) Variable Output |
| 4(ComputeShaderFunction): 2 Function None 3 |
| 5: Label |
| 240(inF0): 49(ptr) Variable Function |
| 244(inF1): 49(ptr) Variable Function |
| 247(inF2): 49(ptr) Variable Function |
| 250(inU0): 51(ptr) Variable Function |
| 254(inU1): 51(ptr) Variable Function |
| 259(param): 49(ptr) Variable Function |
| 261(param): 49(ptr) Variable Function |
| 263(param): 49(ptr) Variable Function |
| 265(param): 51(ptr) Variable Function |
| 267(param): 51(ptr) Variable Function |
| 243: 48(fvec4) Load 242(inF0) |
| Store 240(inF0) 243 |
| 246: 48(fvec4) Load 245(inF1) |
| Store 244(inF1) 246 |
| 249: 48(fvec4) Load 248(inF2) |
| Store 247(inF2) 249 |
| 253: 50(ivec4) Load 252(inU0) |
| Store 250(inU0) 253 |
| 256: 50(ivec4) Load 255(inU1) |
| Store 254(inU1) 256 |
| 260: 48(fvec4) Load 240(inF0) |
| Store 259(param) 260 |
| 262: 48(fvec4) Load 244(inF1) |
| Store 261(param) 262 |
| 264: 48(fvec4) Load 247(inF2) |
| Store 263(param) 264 |
| 266: 50(ivec4) Load 250(inU0) |
| Store 265(param) 266 |
| 268: 50(ivec4) Load 254(inU1) |
| Store 267(param) 268 |
| 269: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 259(param) 261(param) 263(param) 265(param) 267(param) |
| Store 258(@entryPointOutput) 269 |
| Return |
| FunctionEnd |
| 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 |
| 11(inF0): 7(ptr) FunctionParameter |
| 12(inF1): 7(ptr) FunctionParameter |
| 13(inF2): 7(ptr) FunctionParameter |
| 14(inU0): 9(ptr) FunctionParameter |
| 15(inU1): 9(ptr) FunctionParameter |
| 17: Label |
| 72(out_u1): 9(ptr) Variable Function |
| 60: 6(float) Load 11(inF0) |
| 63: 61(bool) FUnordNotEqual 60 62 |
| 64: 61(bool) All 63 |
| 68: 8(int) Load 67(gs_ub) |
| 71: 8(int) AtomicIAdd 66(gs_ua) 69 70 68 |
| 73: 8(int) Load 67(gs_ub) |
| 74: 8(int) AtomicIAdd 66(gs_ua) 69 70 73 |
| Store 72(out_u1) 74 |
| 75: 8(int) Load 67(gs_ub) |
| 76: 8(int) AtomicAnd 66(gs_ua) 69 70 75 |
| 77: 8(int) Load 67(gs_ub) |
| 78: 8(int) AtomicAnd 66(gs_ua) 69 70 77 |
| Store 72(out_u1) 78 |
| 79: 8(int) Load 67(gs_ub) |
| 81: 8(int) Load 80(gs_uc) |
| 82: 8(int) AtomicCompareExchange 66(gs_ua) 69 70 70 81 79 |
| Store 72(out_u1) 82 |
| 83: 8(int) Load 67(gs_ub) |
| 84: 8(int) AtomicExchange 66(gs_ua) 69 70 83 |
| Store 72(out_u1) 84 |
| 85: 8(int) Load 67(gs_ub) |
| 86: 8(int) AtomicUMax 66(gs_ua) 69 70 85 |
| 87: 8(int) Load 67(gs_ub) |
| 88: 8(int) AtomicUMax 66(gs_ua) 69 70 87 |
| Store 72(out_u1) 88 |
| 89: 8(int) Load 67(gs_ub) |
| 90: 8(int) AtomicUMin 66(gs_ua) 69 70 89 |
| 91: 8(int) Load 67(gs_ub) |
| 92: 8(int) AtomicUMin 66(gs_ua) 69 70 91 |
| Store 72(out_u1) 92 |
| 93: 8(int) Load 67(gs_ub) |
| 94: 8(int) AtomicOr 66(gs_ua) 69 70 93 |
| 95: 8(int) Load 67(gs_ub) |
| 96: 8(int) AtomicOr 66(gs_ua) 69 70 95 |
| Store 72(out_u1) 96 |
| 97: 8(int) Load 67(gs_ub) |
| 98: 8(int) AtomicXor 66(gs_ua) 69 70 97 |
| 99: 8(int) Load 67(gs_ub) |
| 100: 8(int) AtomicXor 66(gs_ua) 69 70 99 |
| Store 72(out_u1) 100 |
| 104: 6(float) Load 103(gs_fb) |
| 105: 6(float) AtomicFAddEXT 102(gs_fa) 69 70 104 |
| ReturnValue 62 |
| FunctionEnd |
| 22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 |
| 19(inF0): 7(ptr) FunctionParameter |
| 20(inF1): 7(ptr) FunctionParameter |
| 21(inF2): 7(ptr) FunctionParameter |
| 23: Label |
| ReturnValue 62 |
| FunctionEnd |
| 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 |
| 29(inF0): 25(ptr) FunctionParameter |
| 30(inF1): 25(ptr) FunctionParameter |
| 31(inF2): 25(ptr) FunctionParameter |
| 32(inU0): 27(ptr) FunctionParameter |
| 33(inU1): 27(ptr) FunctionParameter |
| 35: Label |
| 120(out_u2): 27(ptr) Variable Function |
| 110: 24(fvec2) Load 29(inF0) |
| 113: 111(bvec2) FUnordNotEqual 110 112 |
| 114: 61(bool) All 113 |
| 118: 26(ivec2) Load 117(gs_ub2) |
| 119: 26(ivec2) AtomicIAdd 116(gs_ua2) 69 70 118 |
| 121: 26(ivec2) Load 117(gs_ub2) |
| 122: 26(ivec2) AtomicIAdd 116(gs_ua2) 69 70 121 |
| Store 120(out_u2) 122 |
| 123: 26(ivec2) Load 117(gs_ub2) |
| 124: 26(ivec2) AtomicAnd 116(gs_ua2) 69 70 123 |
| 125: 26(ivec2) Load 117(gs_ub2) |
| 126: 26(ivec2) AtomicAnd 116(gs_ua2) 69 70 125 |
| Store 120(out_u2) 126 |
| 127: 26(ivec2) Load 117(gs_ub2) |
| 129: 26(ivec2) Load 128(gs_uc2) |
| 130: 26(ivec2) AtomicCompareExchange 116(gs_ua2) 69 70 70 129 127 |
| Store 120(out_u2) 130 |
| 131: 26(ivec2) Load 117(gs_ub2) |
| 132: 26(ivec2) AtomicExchange 116(gs_ua2) 69 70 131 |
| Store 120(out_u2) 132 |
| 133: 26(ivec2) Load 117(gs_ub2) |
| 134: 26(ivec2) AtomicUMax 116(gs_ua2) 69 70 133 |
| 135: 26(ivec2) Load 117(gs_ub2) |
| 136: 26(ivec2) AtomicUMax 116(gs_ua2) 69 70 135 |
| Store 120(out_u2) 136 |
| 137: 26(ivec2) Load 117(gs_ub2) |
| 138: 26(ivec2) AtomicUMin 116(gs_ua2) 69 70 137 |
| 139: 26(ivec2) Load 117(gs_ub2) |
| 140: 26(ivec2) AtomicUMin 116(gs_ua2) 69 70 139 |
| Store 120(out_u2) 140 |
| 141: 26(ivec2) Load 117(gs_ub2) |
| 142: 26(ivec2) AtomicOr 116(gs_ua2) 69 70 141 |
| 143: 26(ivec2) Load 117(gs_ub2) |
| 144: 26(ivec2) AtomicOr 116(gs_ua2) 69 70 143 |
| Store 120(out_u2) 144 |
| 145: 26(ivec2) Load 117(gs_ub2) |
| 146: 26(ivec2) AtomicXor 116(gs_ua2) 69 70 145 |
| 147: 26(ivec2) Load 117(gs_ub2) |
| 148: 26(ivec2) AtomicXor 116(gs_ua2) 69 70 147 |
| Store 120(out_u2) 148 |
| ReturnValue 151 |
| FunctionEnd |
| 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 |
| 41(inF0): 37(ptr) FunctionParameter |
| 42(inF1): 37(ptr) FunctionParameter |
| 43(inF2): 37(ptr) FunctionParameter |
| 44(inU0): 39(ptr) FunctionParameter |
| 45(inU1): 39(ptr) FunctionParameter |
| 47: Label |
| 164(out_u3): 39(ptr) Variable Function |
| 154: 36(fvec3) Load 41(inF0) |
| 157: 155(bvec3) FUnordNotEqual 154 156 |
| 158: 61(bool) All 157 |
| 162: 38(ivec3) Load 161(gs_ub3) |
| 163: 38(ivec3) AtomicIAdd 160(gs_ua3) 69 70 162 |
| 165: 38(ivec3) Load 161(gs_ub3) |
| 166: 38(ivec3) AtomicIAdd 160(gs_ua3) 69 70 165 |
| Store 164(out_u3) 166 |
| 167: 38(ivec3) Load 161(gs_ub3) |
| 168: 38(ivec3) AtomicAnd 160(gs_ua3) 69 70 167 |
| 169: 38(ivec3) Load 161(gs_ub3) |
| 170: 38(ivec3) AtomicAnd 160(gs_ua3) 69 70 169 |
| Store 164(out_u3) 170 |
| 171: 38(ivec3) Load 161(gs_ub3) |
| 173: 38(ivec3) Load 172(gs_uc3) |
| 174: 38(ivec3) AtomicCompareExchange 160(gs_ua3) 69 70 70 173 171 |
| Store 164(out_u3) 174 |
| 175: 38(ivec3) Load 161(gs_ub3) |
| 176: 38(ivec3) AtomicExchange 160(gs_ua3) 69 70 175 |
| Store 164(out_u3) 176 |
| 177: 38(ivec3) Load 161(gs_ub3) |
| 178: 38(ivec3) AtomicUMax 160(gs_ua3) 69 70 177 |
| 179: 38(ivec3) Load 161(gs_ub3) |
| 180: 38(ivec3) AtomicUMax 160(gs_ua3) 69 70 179 |
| Store 164(out_u3) 180 |
| 181: 38(ivec3) Load 161(gs_ub3) |
| 182: 38(ivec3) AtomicUMin 160(gs_ua3) 69 70 181 |
| 183: 38(ivec3) Load 161(gs_ub3) |
| 184: 38(ivec3) AtomicUMin 160(gs_ua3) 69 70 183 |
| Store 164(out_u3) 184 |
| 185: 38(ivec3) Load 161(gs_ub3) |
| 186: 38(ivec3) AtomicOr 160(gs_ua3) 69 70 185 |
| 187: 38(ivec3) Load 161(gs_ub3) |
| 188: 38(ivec3) AtomicOr 160(gs_ua3) 69 70 187 |
| Store 164(out_u3) 188 |
| 189: 38(ivec3) Load 161(gs_ub3) |
| 190: 38(ivec3) AtomicXor 160(gs_ua3) 69 70 189 |
| 191: 38(ivec3) Load 161(gs_ub3) |
| 192: 38(ivec3) AtomicXor 160(gs_ua3) 69 70 191 |
| Store 164(out_u3) 192 |
| ReturnValue 194 |
| FunctionEnd |
| 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 |
| 53(inF0): 49(ptr) FunctionParameter |
| 54(inF1): 49(ptr) FunctionParameter |
| 55(inF2): 49(ptr) FunctionParameter |
| 56(inU0): 51(ptr) FunctionParameter |
| 57(inU1): 51(ptr) FunctionParameter |
| 59: Label |
| 207(out_u4): 51(ptr) Variable Function |
| 197: 48(fvec4) Load 53(inF0) |
| 200: 198(bvec4) FUnordNotEqual 197 199 |
| 201: 61(bool) All 200 |
| 205: 50(ivec4) Load 204(gs_ub4) |
| 206: 50(ivec4) AtomicIAdd 203(gs_ua4) 69 70 205 |
| 208: 50(ivec4) Load 204(gs_ub4) |
| 209: 50(ivec4) AtomicIAdd 203(gs_ua4) 69 70 208 |
| Store 207(out_u4) 209 |
| 210: 50(ivec4) Load 204(gs_ub4) |
| 211: 50(ivec4) AtomicAnd 203(gs_ua4) 69 70 210 |
| 212: 50(ivec4) Load 204(gs_ub4) |
| 213: 50(ivec4) AtomicAnd 203(gs_ua4) 69 70 212 |
| Store 207(out_u4) 213 |
| 214: 50(ivec4) Load 204(gs_ub4) |
| 216: 50(ivec4) Load 215(gs_uc4) |
| 217: 50(ivec4) AtomicCompareExchange 203(gs_ua4) 69 70 70 216 214 |
| Store 207(out_u4) 217 |
| 218: 50(ivec4) Load 204(gs_ub4) |
| 219: 50(ivec4) AtomicExchange 203(gs_ua4) 69 70 218 |
| Store 207(out_u4) 219 |
| 220: 50(ivec4) Load 204(gs_ub4) |
| 221: 50(ivec4) AtomicUMax 203(gs_ua4) 69 70 220 |
| 222: 50(ivec4) Load 204(gs_ub4) |
| 223: 50(ivec4) AtomicUMax 203(gs_ua4) 69 70 222 |
| Store 207(out_u4) 223 |
| 224: 50(ivec4) Load 204(gs_ub4) |
| 225: 50(ivec4) AtomicUMin 203(gs_ua4) 69 70 224 |
| 226: 50(ivec4) Load 204(gs_ub4) |
| 227: 50(ivec4) AtomicUMin 203(gs_ua4) 69 70 226 |
| Store 207(out_u4) 227 |
| 228: 50(ivec4) Load 204(gs_ub4) |
| 229: 50(ivec4) AtomicOr 203(gs_ua4) 69 70 228 |
| 230: 50(ivec4) Load 204(gs_ub4) |
| 231: 50(ivec4) AtomicOr 203(gs_ua4) 69 70 230 |
| Store 207(out_u4) 231 |
| 232: 50(ivec4) Load 204(gs_ub4) |
| 233: 50(ivec4) AtomicXor 203(gs_ua4) 69 70 232 |
| 234: 50(ivec4) Load 204(gs_ub4) |
| 235: 50(ivec4) AtomicXor 203(gs_ua4) 69 70 234 |
| Store 207(out_u4) 235 |
| ReturnValue 237 |
| FunctionEnd |