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