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