hlsl.intrinsics.comp Shader version: 450 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' (layout(location=0 ) in 4-component vector of float) 0:105 'inF1' (layout(location=1 ) in 4-component vector of float) 0:105 'inF2' (layout(location=2 ) in 4-component vector of float) 0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? Sequence 0:109 all (temp bool) 0:109 'inF0' (layout(location=0 ) 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 Sequence 0:128 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:128 Branch: Return 0:? Linker Objects 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) 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) Linked compute stage: Shader version: 450 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' (layout(location=0 ) in 4-component vector of float) 0:105 'inF1' (layout(location=1 ) in 4-component vector of float) 0:105 'inF2' (layout(location=2 ) in 4-component vector of float) 0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? Sequence 0:109 all (temp bool) 0:109 'inF0' (layout(location=0 ) 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 Sequence 0:128 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:128 Branch: Return 0:? Linker Objects 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) 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) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 224 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "ComputeShaderFunction" 175 215 219 220 222 223 ExecutionMode 4 LocalSize 1 1 1 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 52 "gs_ua" Name 53 "gs_ub" Name 58 "out_u1" Name 66 "gs_uc" Name 95 "gs_ua2" Name 96 "gs_ub2" Name 99 "out_u2" Name 107 "gs_uc2" Name 136 "gs_ua3" Name 137 "gs_ub3" Name 140 "out_u3" Name 148 "gs_uc3" Name 175 "inF0" Name 180 "gs_ua4" Name 181 "gs_ub4" Name 185 "out_u4" Name 193 "gs_uc4" Name 215 "@entryPointOutput" Name 219 "inF1" Name 220 "inF2" Name 222 "inU0" Name 223 "inU1" Decorate 175(inF0) Location 0 Decorate 215(@entryPointOutput) Location 0 Decorate 219(inF1) Location 1 Decorate 220(inF2) Location 2 Decorate 222(inU0) Location 3 Decorate 223(inU1) Location 4 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) 49: TypeBool 51: TypePointer Workgroup 8(int) 52(gs_ua): 51(ptr) Variable Workgroup 53(gs_ub): 51(ptr) Variable Workgroup 55: 8(int) Constant 1 56: 8(int) Constant 0 66(gs_uc): 51(ptr) Variable Workgroup 87: 6(float) Constant 0 94: TypePointer Workgroup 26(ivec2) 95(gs_ua2): 94(ptr) Variable Workgroup 96(gs_ub2): 94(ptr) Variable Workgroup 107(gs_uc2): 94(ptr) Variable Workgroup 128: 6(float) Constant 1065353216 129: 6(float) Constant 1073741824 130: 24(fvec2) ConstantComposite 128 129 135: TypePointer Workgroup 38(ivec3) 136(gs_ua3): 135(ptr) Variable Workgroup 137(gs_ub3): 135(ptr) Variable Workgroup 148(gs_uc3): 135(ptr) Variable Workgroup 169: 6(float) Constant 1077936128 170: 36(fvec3) ConstantComposite 128 129 169 173: TypeVector 6(float) 4 174: TypePointer Input 173(fvec4) 175(inF0): 174(ptr) Variable Input 178: TypeVector 8(int) 4 179: TypePointer Workgroup 178(ivec4) 180(gs_ua4): 179(ptr) Variable Workgroup 181(gs_ub4): 179(ptr) Variable Workgroup 184: TypePointer Function 178(ivec4) 193(gs_uc4): 179(ptr) Variable Workgroup 214: TypePointer Output 173(fvec4) 215(@entryPointOutput): 214(ptr) Variable Output 216: 6(float) Constant 1082130432 217: 173(fvec4) ConstantComposite 128 129 169 216 219(inF1): 174(ptr) Variable Input 220(inF2): 174(ptr) Variable Input 221: TypePointer Input 178(ivec4) 222(inU0): 221(ptr) Variable Input 223(inU1): 221(ptr) Variable Input 4(ComputeShaderFunction): 2 Function None 3 5: Label 185(out_u4): 184(ptr) Variable Function 176: 173(fvec4) Load 175(inF0) 177: 49(bool) All 176 182: 178(ivec4) Load 181(gs_ub4) 183: 2 AtomicIAdd 180(gs_ua4) 55 56 182 186: 178(ivec4) Load 181(gs_ub4) 187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186 Store 185(out_u4) 187 188: 178(ivec4) Load 181(gs_ub4) 189: 2 AtomicAnd 180(gs_ua4) 55 56 188 190: 178(ivec4) Load 181(gs_ub4) 191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190 Store 185(out_u4) 191 192: 178(ivec4) Load 181(gs_ub4) 194: 178(ivec4) Load 193(gs_uc4) 195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192 Store 185(out_u4) 195 196: 178(ivec4) Load 181(gs_ub4) 197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196 Store 185(out_u4) 197 198: 178(ivec4) Load 181(gs_ub4) 199: 2 AtomicSMax 180(gs_ua4) 55 56 198 200: 178(ivec4) Load 181(gs_ub4) 201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200 Store 185(out_u4) 201 202: 178(ivec4) Load 181(gs_ub4) 203: 2 AtomicSMin 180(gs_ua4) 55 56 202 204: 178(ivec4) Load 181(gs_ub4) 205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204 Store 185(out_u4) 205 206: 178(ivec4) Load 181(gs_ub4) 207: 2 AtomicOr 180(gs_ua4) 55 56 206 208: 178(ivec4) Load 181(gs_ub4) 209: 178(ivec4) AtomicOr 180(gs_ua4) 55 56 208 Store 185(out_u4) 209 210: 178(ivec4) Load 181(gs_ub4) 211: 2 AtomicXor 180(gs_ua4) 55 56 210 212: 178(ivec4) Load 181(gs_ub4) 213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212 Store 185(out_u4) 213 Store 215(@entryPointOutput) 217 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 58(out_u1): 9(ptr) Variable Function 48: 6(float) Load 11(inF0) 50: 49(bool) All 48 54: 8(int) Load 53(gs_ub) 57: 2 AtomicIAdd 52(gs_ua) 55 56 54 59: 8(int) Load 53(gs_ub) 60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59 Store 58(out_u1) 60 61: 8(int) Load 53(gs_ub) 62: 2 AtomicAnd 52(gs_ua) 55 56 61 63: 8(int) Load 53(gs_ub) 64: 8(int) AtomicAnd 52(gs_ua) 55 56 63 Store 58(out_u1) 64 65: 8(int) Load 53(gs_ub) 67: 8(int) Load 66(gs_uc) 68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65 Store 58(out_u1) 68 69: 8(int) Load 53(gs_ub) 70: 8(int) AtomicExchange 52(gs_ua) 55 56 69 Store 58(out_u1) 70 71: 8(int) Load 53(gs_ub) 72: 2 AtomicSMax 52(gs_ua) 55 56 71 73: 8(int) Load 53(gs_ub) 74: 8(int) AtomicUMax 52(gs_ua) 55 56 73 Store 58(out_u1) 74 75: 8(int) Load 53(gs_ub) 76: 2 AtomicSMin 52(gs_ua) 55 56 75 77: 8(int) Load 53(gs_ub) 78: 8(int) AtomicUMin 52(gs_ua) 55 56 77 Store 58(out_u1) 78 79: 8(int) Load 53(gs_ub) 80: 2 AtomicOr 52(gs_ua) 55 56 79 81: 8(int) Load 53(gs_ub) 82: 8(int) AtomicOr 52(gs_ua) 55 56 81 Store 58(out_u1) 82 83: 8(int) Load 53(gs_ub) 84: 2 AtomicXor 52(gs_ua) 55 56 83 85: 8(int) Load 53(gs_ub) 86: 8(int) AtomicXor 52(gs_ua) 55 56 85 Store 58(out_u1) 86 ReturnValue 87 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 87 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 99(out_u2): 27(ptr) Variable Function 92: 24(fvec2) Load 29(inF0) 93: 49(bool) All 92 97: 26(ivec2) Load 96(gs_ub2) 98: 2 AtomicIAdd 95(gs_ua2) 55 56 97 100: 26(ivec2) Load 96(gs_ub2) 101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100 Store 99(out_u2) 101 102: 26(ivec2) Load 96(gs_ub2) 103: 2 AtomicAnd 95(gs_ua2) 55 56 102 104: 26(ivec2) Load 96(gs_ub2) 105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104 Store 99(out_u2) 105 106: 26(ivec2) Load 96(gs_ub2) 108: 26(ivec2) Load 107(gs_uc2) 109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106 Store 99(out_u2) 109 110: 26(ivec2) Load 96(gs_ub2) 111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110 Store 99(out_u2) 111 112: 26(ivec2) Load 96(gs_ub2) 113: 2 AtomicSMax 95(gs_ua2) 55 56 112 114: 26(ivec2) Load 96(gs_ub2) 115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114 Store 99(out_u2) 115 116: 26(ivec2) Load 96(gs_ub2) 117: 2 AtomicSMin 95(gs_ua2) 55 56 116 118: 26(ivec2) Load 96(gs_ub2) 119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118 Store 99(out_u2) 119 120: 26(ivec2) Load 96(gs_ub2) 121: 2 AtomicOr 95(gs_ua2) 55 56 120 122: 26(ivec2) Load 96(gs_ub2) 123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122 Store 99(out_u2) 123 124: 26(ivec2) Load 96(gs_ub2) 125: 2 AtomicXor 95(gs_ua2) 55 56 124 126: 26(ivec2) Load 96(gs_ub2) 127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126 Store 99(out_u2) 127 ReturnValue 130 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 140(out_u3): 39(ptr) Variable Function 133: 36(fvec3) Load 41(inF0) 134: 49(bool) All 133 138: 38(ivec3) Load 137(gs_ub3) 139: 2 AtomicIAdd 136(gs_ua3) 55 56 138 141: 38(ivec3) Load 137(gs_ub3) 142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141 Store 140(out_u3) 142 143: 38(ivec3) Load 137(gs_ub3) 144: 2 AtomicAnd 136(gs_ua3) 55 56 143 145: 38(ivec3) Load 137(gs_ub3) 146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145 Store 140(out_u3) 146 147: 38(ivec3) Load 137(gs_ub3) 149: 38(ivec3) Load 148(gs_uc3) 150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147 Store 140(out_u3) 150 151: 38(ivec3) Load 137(gs_ub3) 152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151 Store 140(out_u3) 152 153: 38(ivec3) Load 137(gs_ub3) 154: 2 AtomicSMax 136(gs_ua3) 55 56 153 155: 38(ivec3) Load 137(gs_ub3) 156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155 Store 140(out_u3) 156 157: 38(ivec3) Load 137(gs_ub3) 158: 2 AtomicSMin 136(gs_ua3) 55 56 157 159: 38(ivec3) Load 137(gs_ub3) 160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159 Store 140(out_u3) 160 161: 38(ivec3) Load 137(gs_ub3) 162: 2 AtomicOr 136(gs_ua3) 55 56 161 163: 38(ivec3) Load 137(gs_ub3) 164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163 Store 140(out_u3) 164 165: 38(ivec3) Load 137(gs_ub3) 166: 2 AtomicXor 136(gs_ua3) 55 56 165 167: 38(ivec3) Load 137(gs_ub3) 168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167 Store 140(out_u3) 168 ReturnValue 170 FunctionEnd