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