glslang/Test/baseResults/hlsl.intrinsics.comp.out

1103 lines
56 KiB
Plaintext

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 Convert float to bool ( 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 Convert float to bool ( temp 2-component vector of 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 Convert float to bool ( temp 3-component vector of 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 Convert float to bool ( temp 4-component vector of 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 Convert float to bool ( 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 Convert float to bool ( temp 2-component vector of 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 Convert float to bool ( temp 3-component vector of 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 Convert float to bool ( temp 4-component vector of 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): 80002
// Id's are bound by 265
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 237 240 243 247 250 253
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 111 "gs_ua2"
Name 112 "gs_ub2"
Name 115 "out_u2"
Name 123 "gs_uc2"
Name 155 "gs_ua3"
Name 156 "gs_ub3"
Name 159 "out_u3"
Name 167 "gs_uc3"
Name 198 "gs_ua4"
Name 199 "gs_ub4"
Name 202 "out_u4"
Name 210 "gs_uc4"
Name 235 "inF0"
Name 237 "inF0"
Name 239 "inF1"
Name 240 "inF1"
Name 242 "inF2"
Name 243 "inF2"
Name 245 "inU0"
Name 247 "inU0"
Name 249 "inU1"
Name 250 "inU1"
Name 253 "@entryPointOutput"
Name 254 "param"
Name 256 "param"
Name 258 "param"
Name 260 "param"
Name 262 "param"
Decorate 237(inF0) Location 0
Decorate 240(inF1) Location 1
Decorate 243(inF2) Location 2
Decorate 247(inU0) Location 3
Decorate 250(inU1) Location 4
Decorate 253(@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
106: TypeVector 61(bool) 2
107: 24(fvec2) ConstantComposite 62 62
110: TypePointer Workgroup 26(ivec2)
111(gs_ua2): 110(ptr) Variable Workgroup
112(gs_ub2): 110(ptr) Variable Workgroup
123(gs_uc2): 110(ptr) Variable Workgroup
144: 6(float) Constant 1065353216
145: 6(float) Constant 1073741824
146: 24(fvec2) ConstantComposite 144 145
150: TypeVector 61(bool) 3
151: 36(fvec3) ConstantComposite 62 62 62
154: TypePointer Workgroup 38(ivec3)
155(gs_ua3): 154(ptr) Variable Workgroup
156(gs_ub3): 154(ptr) Variable Workgroup
167(gs_uc3): 154(ptr) Variable Workgroup
188: 6(float) Constant 1077936128
189: 36(fvec3) ConstantComposite 144 145 188
193: TypeVector 61(bool) 4
194: 48(fvec4) ConstantComposite 62 62 62 62
197: TypePointer Workgroup 50(ivec4)
198(gs_ua4): 197(ptr) Variable Workgroup
199(gs_ub4): 197(ptr) Variable Workgroup
210(gs_uc4): 197(ptr) Variable Workgroup
231: 6(float) Constant 1082130432
232: 48(fvec4) ConstantComposite 144 145 188 231
236: TypePointer Input 48(fvec4)
237(inF0): 236(ptr) Variable Input
240(inF1): 236(ptr) Variable Input
243(inF2): 236(ptr) Variable Input
246: TypePointer Input 50(ivec4)
247(inU0): 246(ptr) Variable Input
250(inU1): 246(ptr) Variable Input
252: TypePointer Output 48(fvec4)
253(@entryPointOutput): 252(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3
5: Label
235(inF0): 49(ptr) Variable Function
239(inF1): 49(ptr) Variable Function
242(inF2): 49(ptr) Variable Function
245(inU0): 51(ptr) Variable Function
249(inU1): 51(ptr) Variable Function
254(param): 49(ptr) Variable Function
256(param): 49(ptr) Variable Function
258(param): 49(ptr) Variable Function
260(param): 51(ptr) Variable Function
262(param): 51(ptr) Variable Function
238: 48(fvec4) Load 237(inF0)
Store 235(inF0) 238
241: 48(fvec4) Load 240(inF1)
Store 239(inF1) 241
244: 48(fvec4) Load 243(inF2)
Store 242(inF2) 244
248: 50(ivec4) Load 247(inU0)
Store 245(inU0) 248
251: 50(ivec4) Load 250(inU1)
Store 249(inU1) 251
255: 48(fvec4) Load 235(inF0)
Store 254(param) 255
257: 48(fvec4) Load 239(inF1)
Store 256(param) 257
259: 48(fvec4) Load 242(inF2)
Store 258(param) 259
261: 50(ivec4) Load 245(inU0)
Store 260(param) 261
263: 50(ivec4) Load 249(inU1)
Store 262(param) 263
264: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 254(param) 256(param) 258(param) 260(param) 262(param)
Store 253(@entryPointOutput) 264
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) FOrdNotEqual 60 62
64: 61(bool) All 63
68: 8(int) Load 67(gs_ub)
71: 2 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: 2 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: 2 AtomicSMax 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: 2 AtomicSMin 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: 2 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: 2 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
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
115(out_u2): 27(ptr) Variable Function
105: 24(fvec2) Load 29(inF0)
108: 106(bvec2) FOrdNotEqual 105 107
109: 61(bool) All 108
113: 26(ivec2) Load 112(gs_ub2)
114: 2 AtomicIAdd 111(gs_ua2) 69 70 113
116: 26(ivec2) Load 112(gs_ub2)
117: 26(ivec2) AtomicIAdd 111(gs_ua2) 69 70 116
Store 115(out_u2) 117
118: 26(ivec2) Load 112(gs_ub2)
119: 2 AtomicAnd 111(gs_ua2) 69 70 118
120: 26(ivec2) Load 112(gs_ub2)
121: 26(ivec2) AtomicAnd 111(gs_ua2) 69 70 120
Store 115(out_u2) 121
122: 26(ivec2) Load 112(gs_ub2)
124: 26(ivec2) Load 123(gs_uc2)
125: 26(ivec2) AtomicCompareExchange 111(gs_ua2) 69 70 70 124 122
Store 115(out_u2) 125
126: 26(ivec2) Load 112(gs_ub2)
127: 26(ivec2) AtomicExchange 111(gs_ua2) 69 70 126
Store 115(out_u2) 127
128: 26(ivec2) Load 112(gs_ub2)
129: 2 AtomicSMax 111(gs_ua2) 69 70 128
130: 26(ivec2) Load 112(gs_ub2)
131: 26(ivec2) AtomicUMax 111(gs_ua2) 69 70 130
Store 115(out_u2) 131
132: 26(ivec2) Load 112(gs_ub2)
133: 2 AtomicSMin 111(gs_ua2) 69 70 132
134: 26(ivec2) Load 112(gs_ub2)
135: 26(ivec2) AtomicUMin 111(gs_ua2) 69 70 134
Store 115(out_u2) 135
136: 26(ivec2) Load 112(gs_ub2)
137: 2 AtomicOr 111(gs_ua2) 69 70 136
138: 26(ivec2) Load 112(gs_ub2)
139: 26(ivec2) AtomicOr 111(gs_ua2) 69 70 138
Store 115(out_u2) 139
140: 26(ivec2) Load 112(gs_ub2)
141: 2 AtomicXor 111(gs_ua2) 69 70 140
142: 26(ivec2) Load 112(gs_ub2)
143: 26(ivec2) AtomicXor 111(gs_ua2) 69 70 142
Store 115(out_u2) 143
ReturnValue 146
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
159(out_u3): 39(ptr) Variable Function
149: 36(fvec3) Load 41(inF0)
152: 150(bvec3) FOrdNotEqual 149 151
153: 61(bool) All 152
157: 38(ivec3) Load 156(gs_ub3)
158: 2 AtomicIAdd 155(gs_ua3) 69 70 157
160: 38(ivec3) Load 156(gs_ub3)
161: 38(ivec3) AtomicIAdd 155(gs_ua3) 69 70 160
Store 159(out_u3) 161
162: 38(ivec3) Load 156(gs_ub3)
163: 2 AtomicAnd 155(gs_ua3) 69 70 162
164: 38(ivec3) Load 156(gs_ub3)
165: 38(ivec3) AtomicAnd 155(gs_ua3) 69 70 164
Store 159(out_u3) 165
166: 38(ivec3) Load 156(gs_ub3)
168: 38(ivec3) Load 167(gs_uc3)
169: 38(ivec3) AtomicCompareExchange 155(gs_ua3) 69 70 70 168 166
Store 159(out_u3) 169
170: 38(ivec3) Load 156(gs_ub3)
171: 38(ivec3) AtomicExchange 155(gs_ua3) 69 70 170
Store 159(out_u3) 171
172: 38(ivec3) Load 156(gs_ub3)
173: 2 AtomicSMax 155(gs_ua3) 69 70 172
174: 38(ivec3) Load 156(gs_ub3)
175: 38(ivec3) AtomicUMax 155(gs_ua3) 69 70 174
Store 159(out_u3) 175
176: 38(ivec3) Load 156(gs_ub3)
177: 2 AtomicSMin 155(gs_ua3) 69 70 176
178: 38(ivec3) Load 156(gs_ub3)
179: 38(ivec3) AtomicUMin 155(gs_ua3) 69 70 178
Store 159(out_u3) 179
180: 38(ivec3) Load 156(gs_ub3)
181: 2 AtomicOr 155(gs_ua3) 69 70 180
182: 38(ivec3) Load 156(gs_ub3)
183: 38(ivec3) AtomicOr 155(gs_ua3) 69 70 182
Store 159(out_u3) 183
184: 38(ivec3) Load 156(gs_ub3)
185: 2 AtomicXor 155(gs_ua3) 69 70 184
186: 38(ivec3) Load 156(gs_ub3)
187: 38(ivec3) AtomicXor 155(gs_ua3) 69 70 186
Store 159(out_u3) 187
ReturnValue 189
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
202(out_u4): 51(ptr) Variable Function
192: 48(fvec4) Load 53(inF0)
195: 193(bvec4) FOrdNotEqual 192 194
196: 61(bool) All 195
200: 50(ivec4) Load 199(gs_ub4)
201: 2 AtomicIAdd 198(gs_ua4) 69 70 200
203: 50(ivec4) Load 199(gs_ub4)
204: 50(ivec4) AtomicIAdd 198(gs_ua4) 69 70 203
Store 202(out_u4) 204
205: 50(ivec4) Load 199(gs_ub4)
206: 2 AtomicAnd 198(gs_ua4) 69 70 205
207: 50(ivec4) Load 199(gs_ub4)
208: 50(ivec4) AtomicAnd 198(gs_ua4) 69 70 207
Store 202(out_u4) 208
209: 50(ivec4) Load 199(gs_ub4)
211: 50(ivec4) Load 210(gs_uc4)
212: 50(ivec4) AtomicCompareExchange 198(gs_ua4) 69 70 70 211 209
Store 202(out_u4) 212
213: 50(ivec4) Load 199(gs_ub4)
214: 50(ivec4) AtomicExchange 198(gs_ua4) 69 70 213
Store 202(out_u4) 214
215: 50(ivec4) Load 199(gs_ub4)
216: 2 AtomicSMax 198(gs_ua4) 69 70 215
217: 50(ivec4) Load 199(gs_ub4)
218: 50(ivec4) AtomicUMax 198(gs_ua4) 69 70 217
Store 202(out_u4) 218
219: 50(ivec4) Load 199(gs_ub4)
220: 2 AtomicSMin 198(gs_ua4) 69 70 219
221: 50(ivec4) Load 199(gs_ub4)
222: 50(ivec4) AtomicUMin 198(gs_ua4) 69 70 221
Store 202(out_u4) 222
223: 50(ivec4) Load 199(gs_ub4)
224: 2 AtomicOr 198(gs_ua4) 69 70 223
225: 50(ivec4) Load 199(gs_ub4)
226: 50(ivec4) AtomicOr 198(gs_ua4) 69 70 225
Store 202(out_u4) 226
227: 50(ivec4) Load 199(gs_ub4)
228: 2 AtomicXor 198(gs_ua4) 69 70 227
229: 50(ivec4) Load 199(gs_ub4)
230: 50(ivec4) AtomicXor 198(gs_ua4) 69 70 229
Store 202(out_u4) 230
ReturnValue 232
FunctionEnd