blob: 820d2d5bcff03ac6f608ba27ce87eb40e4fd3e02 [file] [log] [blame]
hlsl.intrinsics.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:44 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 (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
0:24 'gs_ua' (temp uint)
0:24 'gs_ub' (temp 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' (temp uint)
0:25 'gs_ub' (temp uint)
0:26 AtomicAnd (global void)
0:26 'gs_ua' (temp uint)
0:26 'gs_ub' (temp 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' (temp uint)
0:27 'gs_ub' (temp 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' (temp uint)
0:28 'gs_ub' (temp uint)
0:28 'gs_uc' (temp 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' (temp uint)
0:29 'gs_ub' (temp uint)
0:30 AtomicMax (global void)
0:30 'gs_ua' (temp uint)
0:30 'gs_ub' (temp 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' (temp uint)
0:31 'gs_ub' (temp uint)
0:32 AtomicMin (global void)
0:32 'gs_ua' (temp uint)
0:32 'gs_ub' (temp 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' (temp uint)
0:33 'gs_ub' (temp uint)
0:34 AtomicOr (global void)
0:34 'gs_ua' (temp uint)
0:34 'gs_ub' (temp 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' (temp uint)
0:35 'gs_ub' (temp uint)
0:36 AtomicXor (global void)
0:36 'gs_ua' (temp uint)
0:36 'gs_ub' (temp 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' (temp uint)
0:37 'gs_ub' (temp uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
0:50 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:77 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 (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
0:58 'gs_ua2' (temp 2-component vector of uint)
0:58 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:59 'gs_ub2' (temp 2-component vector of uint)
0:60 AtomicAnd (global void)
0:60 'gs_ua2' (temp 2-component vector of uint)
0:60 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:61 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:62 'gs_ub2' (temp 2-component vector of uint)
0:62 'gs_uc2' (temp 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' (temp 2-component vector of uint)
0:63 'gs_ub2' (temp 2-component vector of uint)
0:64 AtomicMax (global void)
0:64 'gs_ua2' (temp 2-component vector of uint)
0:64 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:65 'gs_ub2' (temp 2-component vector of uint)
0:66 AtomicMin (global void)
0:66 'gs_ua2' (temp 2-component vector of uint)
0:66 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:67 'gs_ub2' (temp 2-component vector of uint)
0:68 AtomicOr (global void)
0:68 'gs_ua2' (temp 2-component vector of uint)
0:68 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:69 'gs_ub2' (temp 2-component vector of uint)
0:70 AtomicXor (global void)
0:70 'gs_ua2' (temp 2-component vector of uint)
0:70 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:71 'gs_ub2' (temp 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:104 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 (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
0:85 'gs_ua3' (temp 3-component vector of uint)
0:85 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:86 'gs_ub3' (temp 3-component vector of uint)
0:87 AtomicAnd (global void)
0:87 'gs_ua3' (temp 3-component vector of uint)
0:87 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:88 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:89 'gs_ub3' (temp 3-component vector of uint)
0:89 'gs_uc3' (temp 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' (temp 3-component vector of uint)
0:90 'gs_ub3' (temp 3-component vector of uint)
0:91 AtomicMax (global void)
0:91 'gs_ua3' (temp 3-component vector of uint)
0:91 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:92 'gs_ub3' (temp 3-component vector of uint)
0:93 AtomicMin (global void)
0:93 'gs_ua3' (temp 3-component vector of uint)
0:93 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:94 'gs_ub3' (temp 3-component vector of uint)
0:95 AtomicOr (global void)
0:95 'gs_ua3' (temp 3-component vector of uint)
0:95 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:96 'gs_ub3' (temp 3-component vector of uint)
0:97 AtomicXor (global void)
0:97 'gs_ua3' (temp 3-component vector of uint)
0:97 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:98 'gs_ub3' (temp 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:130 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 (global bool)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (global void)
0:112 'gs_ua4' (temp 4-component vector of uint)
0:112 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:113 'gs_ub4' (temp 4-component vector of uint)
0:114 AtomicAnd (global void)
0:114 'gs_ua4' (temp 4-component vector of uint)
0:114 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:115 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:116 'gs_ub4' (temp 4-component vector of uint)
0:116 'gs_uc4' (temp 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' (temp 4-component vector of uint)
0:117 'gs_ub4' (temp 4-component vector of uint)
0:118 AtomicMax (global void)
0:118 'gs_ua4' (temp 4-component vector of uint)
0:118 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:119 'gs_ub4' (temp 4-component vector of uint)
0:120 AtomicMin (global void)
0:120 'gs_ua4' (temp 4-component vector of uint)
0:120 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:121 'gs_ub4' (temp 4-component vector of uint)
0:122 AtomicOr (global void)
0:122 'gs_ua4' (temp 4-component vector of uint)
0:122 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:123 'gs_ub4' (temp 4-component vector of uint)
0:124 AtomicXor (global void)
0:124 'gs_ua4' (temp 4-component vector of uint)
0:124 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:125 'gs_ub4' (temp 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:? Linker Objects
0:? 'gs_ua' (temp uint)
0:? 'gs_ub' (temp uint)
0:? 'gs_uc' (temp uint)
0:? 'gs_ua2' (temp 2-component vector of uint)
0:? 'gs_ub2' (temp 2-component vector of uint)
0:? 'gs_uc2' (temp 2-component vector of uint)
0:? 'gs_ua3' (temp 3-component vector of uint)
0:? 'gs_ub3' (temp 3-component vector of uint)
0:? 'gs_uc3' (temp 3-component vector of uint)
0:? 'gs_ua4' (temp 4-component vector of uint)
0:? 'gs_ub4' (temp 4-component vector of uint)
0:? 'gs_uc4' (temp 4-component vector of uint)
Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:44 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 (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
0:24 'gs_ua' (temp uint)
0:24 'gs_ub' (temp 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' (temp uint)
0:25 'gs_ub' (temp uint)
0:26 AtomicAnd (global void)
0:26 'gs_ua' (temp uint)
0:26 'gs_ub' (temp 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' (temp uint)
0:27 'gs_ub' (temp 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' (temp uint)
0:28 'gs_ub' (temp uint)
0:28 'gs_uc' (temp 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' (temp uint)
0:29 'gs_ub' (temp uint)
0:30 AtomicMax (global void)
0:30 'gs_ua' (temp uint)
0:30 'gs_ub' (temp 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' (temp uint)
0:31 'gs_ub' (temp uint)
0:32 AtomicMin (global void)
0:32 'gs_ua' (temp uint)
0:32 'gs_ub' (temp 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' (temp uint)
0:33 'gs_ub' (temp uint)
0:34 AtomicOr (global void)
0:34 'gs_ua' (temp uint)
0:34 'gs_ub' (temp 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' (temp uint)
0:35 'gs_ub' (temp uint)
0:36 AtomicXor (global void)
0:36 'gs_ua' (temp uint)
0:36 'gs_ub' (temp 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' (temp uint)
0:37 'gs_ub' (temp uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
0:50 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:77 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 (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
0:58 'gs_ua2' (temp 2-component vector of uint)
0:58 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:59 'gs_ub2' (temp 2-component vector of uint)
0:60 AtomicAnd (global void)
0:60 'gs_ua2' (temp 2-component vector of uint)
0:60 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:61 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:62 'gs_ub2' (temp 2-component vector of uint)
0:62 'gs_uc2' (temp 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' (temp 2-component vector of uint)
0:63 'gs_ub2' (temp 2-component vector of uint)
0:64 AtomicMax (global void)
0:64 'gs_ua2' (temp 2-component vector of uint)
0:64 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:65 'gs_ub2' (temp 2-component vector of uint)
0:66 AtomicMin (global void)
0:66 'gs_ua2' (temp 2-component vector of uint)
0:66 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:67 'gs_ub2' (temp 2-component vector of uint)
0:68 AtomicOr (global void)
0:68 'gs_ua2' (temp 2-component vector of uint)
0:68 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:69 'gs_ub2' (temp 2-component vector of uint)
0:70 AtomicXor (global void)
0:70 'gs_ua2' (temp 2-component vector of uint)
0:70 'gs_ub2' (temp 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' (temp 2-component vector of uint)
0:71 'gs_ub2' (temp 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:104 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 (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
0:85 'gs_ua3' (temp 3-component vector of uint)
0:85 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:86 'gs_ub3' (temp 3-component vector of uint)
0:87 AtomicAnd (global void)
0:87 'gs_ua3' (temp 3-component vector of uint)
0:87 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:88 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:89 'gs_ub3' (temp 3-component vector of uint)
0:89 'gs_uc3' (temp 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' (temp 3-component vector of uint)
0:90 'gs_ub3' (temp 3-component vector of uint)
0:91 AtomicMax (global void)
0:91 'gs_ua3' (temp 3-component vector of uint)
0:91 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:92 'gs_ub3' (temp 3-component vector of uint)
0:93 AtomicMin (global void)
0:93 'gs_ua3' (temp 3-component vector of uint)
0:93 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:94 'gs_ub3' (temp 3-component vector of uint)
0:95 AtomicOr (global void)
0:95 'gs_ua3' (temp 3-component vector of uint)
0:95 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:96 'gs_ub3' (temp 3-component vector of uint)
0:97 AtomicXor (global void)
0:97 'gs_ua3' (temp 3-component vector of uint)
0:97 'gs_ub3' (temp 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' (temp 3-component vector of uint)
0:98 'gs_ub3' (temp 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:130 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 (global bool)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (global void)
0:112 'gs_ua4' (temp 4-component vector of uint)
0:112 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:113 'gs_ub4' (temp 4-component vector of uint)
0:114 AtomicAnd (global void)
0:114 'gs_ua4' (temp 4-component vector of uint)
0:114 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:115 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:116 'gs_ub4' (temp 4-component vector of uint)
0:116 'gs_uc4' (temp 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' (temp 4-component vector of uint)
0:117 'gs_ub4' (temp 4-component vector of uint)
0:118 AtomicMax (global void)
0:118 'gs_ua4' (temp 4-component vector of uint)
0:118 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:119 'gs_ub4' (temp 4-component vector of uint)
0:120 AtomicMin (global void)
0:120 'gs_ua4' (temp 4-component vector of uint)
0:120 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:121 'gs_ub4' (temp 4-component vector of uint)
0:122 AtomicOr (global void)
0:122 'gs_ua4' (temp 4-component vector of uint)
0:122 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:123 'gs_ub4' (temp 4-component vector of uint)
0:124 AtomicXor (global void)
0:124 'gs_ua4' (temp 4-component vector of uint)
0:124 'gs_ub4' (temp 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' (temp 4-component vector of uint)
0:125 'gs_ub4' (temp 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:? Linker Objects
0:? 'gs_ua' (temp uint)
0:? 'gs_ub' (temp uint)
0:? 'gs_uc' (temp uint)
0:? 'gs_ua2' (temp 2-component vector of uint)
0:? 'gs_ub2' (temp 2-component vector of uint)
0:? 'gs_uc2' (temp 2-component vector of uint)
0:? 'gs_ua3' (temp 3-component vector of uint)
0:? 'gs_ub3' (temp 3-component vector of uint)
0:? 'gs_uc3' (temp 3-component vector of uint)
0:? 'gs_ua4' (temp 4-component vector of uint)
0:? 'gs_ub4' (temp 4-component vector of uint)
0:? 'gs_uc4' (temp 4-component vector of uint)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 213
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 172
ExecutionMode 4 LocalSize 1 1 1
Source HLSL 450
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 51 "gs_ua"
Name 52 "gs_ub"
Name 57 "out_u1"
Name 65 "gs_uc"
Name 93 "gs_ua2"
Name 94 "gs_ub2"
Name 97 "out_u2"
Name 105 "gs_uc2"
Name 133 "gs_ua3"
Name 134 "gs_ub3"
Name 137 "out_u3"
Name 145 "gs_uc3"
Name 172 "inF0"
Name 177 "gs_ua4"
Name 178 "gs_ub4"
Name 181 "out_u4"
Name 189 "gs_uc4"
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
54: 8(int) Constant 1
55: 8(int) Constant 0
86: 6(float) Constant 0
126: 6(float) Constant 1065353216
127: 6(float) Constant 1073741824
128: 24(fvec2) ConstantComposite 126 127
166: 6(float) Constant 1077936128
167: 36(fvec3) ConstantComposite 126 127 166
170: TypeVector 6(float) 4
171: TypePointer Input 170(fvec4)
172(inF0): 171(ptr) Variable Input
175: TypeVector 8(int) 4
176: TypePointer Function 175(ivec4)
210: 6(float) Constant 1082130432
211: 170(fvec4) ConstantComposite 126 127 166 210
4(ComputeShaderFunction): 2 Function None 3
5: Label
177(gs_ua4): 176(ptr) Variable Function
178(gs_ub4): 176(ptr) Variable Function
181(out_u4): 176(ptr) Variable Function
189(gs_uc4): 176(ptr) Variable Function
173: 170(fvec4) Load 172(inF0)
174: 49(bool) All 173
179: 175(ivec4) Load 178(gs_ub4)
180: 2 AtomicIAdd 177(gs_ua4) 54 55 179
182: 175(ivec4) Load 178(gs_ub4)
183: 175(ivec4) AtomicIAdd 177(gs_ua4) 54 55 182
Store 181(out_u4) 183
184: 175(ivec4) Load 178(gs_ub4)
185: 2 AtomicAnd 177(gs_ua4) 54 55 184
186: 175(ivec4) Load 178(gs_ub4)
187: 175(ivec4) AtomicAnd 177(gs_ua4) 54 55 186
Store 181(out_u4) 187
188: 175(ivec4) Load 178(gs_ub4)
190: 175(ivec4) Load 189(gs_uc4)
191: 175(ivec4) AtomicCompareExchange 177(gs_ua4) 54 55 55 190 188
Store 181(out_u4) 191
192: 175(ivec4) Load 178(gs_ub4)
193: 175(ivec4) AtomicExchange 177(gs_ua4) 54 55 192
Store 181(out_u4) 193
194: 175(ivec4) Load 178(gs_ub4)
195: 2 AtomicSMax 177(gs_ua4) 54 55 194
196: 175(ivec4) Load 178(gs_ub4)
197: 175(ivec4) AtomicUMax 177(gs_ua4) 54 55 196
Store 181(out_u4) 197
198: 175(ivec4) Load 178(gs_ub4)
199: 2 AtomicSMin 177(gs_ua4) 54 55 198
200: 175(ivec4) Load 178(gs_ub4)
201: 175(ivec4) AtomicUMin 177(gs_ua4) 54 55 200
Store 181(out_u4) 201
202: 175(ivec4) Load 178(gs_ub4)
203: 2 AtomicOr 177(gs_ua4) 54 55 202
204: 175(ivec4) Load 178(gs_ub4)
205: 175(ivec4) AtomicOr 177(gs_ua4) 54 55 204
Store 181(out_u4) 205
206: 175(ivec4) Load 178(gs_ub4)
207: 2 AtomicXor 177(gs_ua4) 54 55 206
208: 175(ivec4) Load 178(gs_ub4)
209: 175(ivec4) AtomicXor 177(gs_ua4) 54 55 208
Store 181(out_u4) 209
ReturnValue 211
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
51(gs_ua): 9(ptr) Variable Function
52(gs_ub): 9(ptr) Variable Function
57(out_u1): 9(ptr) Variable Function
65(gs_uc): 9(ptr) Variable Function
48: 6(float) Load 11(inF0)
50: 49(bool) All 48
53: 8(int) Load 52(gs_ub)
56: 2 AtomicIAdd 51(gs_ua) 54 55 53
58: 8(int) Load 52(gs_ub)
59: 8(int) AtomicIAdd 51(gs_ua) 54 55 58
Store 57(out_u1) 59
60: 8(int) Load 52(gs_ub)
61: 2 AtomicAnd 51(gs_ua) 54 55 60
62: 8(int) Load 52(gs_ub)
63: 8(int) AtomicAnd 51(gs_ua) 54 55 62
Store 57(out_u1) 63
64: 8(int) Load 52(gs_ub)
66: 8(int) Load 65(gs_uc)
67: 8(int) AtomicCompareExchange 51(gs_ua) 54 55 55 66 64
Store 57(out_u1) 67
68: 8(int) Load 52(gs_ub)
69: 8(int) AtomicExchange 51(gs_ua) 54 55 68
Store 57(out_u1) 69
70: 8(int) Load 52(gs_ub)
71: 2 AtomicSMax 51(gs_ua) 54 55 70
72: 8(int) Load 52(gs_ub)
73: 8(int) AtomicUMax 51(gs_ua) 54 55 72
Store 57(out_u1) 73
74: 8(int) Load 52(gs_ub)
75: 2 AtomicSMin 51(gs_ua) 54 55 74
76: 8(int) Load 52(gs_ub)
77: 8(int) AtomicUMin 51(gs_ua) 54 55 76
Store 57(out_u1) 77
78: 8(int) Load 52(gs_ub)
79: 2 AtomicOr 51(gs_ua) 54 55 78
80: 8(int) Load 52(gs_ub)
81: 8(int) AtomicOr 51(gs_ua) 54 55 80
Store 57(out_u1) 81
82: 8(int) Load 52(gs_ub)
83: 2 AtomicXor 51(gs_ua) 54 55 82
84: 8(int) Load 52(gs_ub)
85: 8(int) AtomicXor 51(gs_ua) 54 55 84
Store 57(out_u1) 85
ReturnValue 86
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 86
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
93(gs_ua2): 27(ptr) Variable Function
94(gs_ub2): 27(ptr) Variable Function
97(out_u2): 27(ptr) Variable Function
105(gs_uc2): 27(ptr) Variable Function
91: 24(fvec2) Load 29(inF0)
92: 49(bool) All 91
95: 26(ivec2) Load 94(gs_ub2)
96: 2 AtomicIAdd 93(gs_ua2) 54 55 95
98: 26(ivec2) Load 94(gs_ub2)
99: 26(ivec2) AtomicIAdd 93(gs_ua2) 54 55 98
Store 97(out_u2) 99
100: 26(ivec2) Load 94(gs_ub2)
101: 2 AtomicAnd 93(gs_ua2) 54 55 100
102: 26(ivec2) Load 94(gs_ub2)
103: 26(ivec2) AtomicAnd 93(gs_ua2) 54 55 102
Store 97(out_u2) 103
104: 26(ivec2) Load 94(gs_ub2)
106: 26(ivec2) Load 105(gs_uc2)
107: 26(ivec2) AtomicCompareExchange 93(gs_ua2) 54 55 55 106 104
Store 97(out_u2) 107
108: 26(ivec2) Load 94(gs_ub2)
109: 26(ivec2) AtomicExchange 93(gs_ua2) 54 55 108
Store 97(out_u2) 109
110: 26(ivec2) Load 94(gs_ub2)
111: 2 AtomicSMax 93(gs_ua2) 54 55 110
112: 26(ivec2) Load 94(gs_ub2)
113: 26(ivec2) AtomicUMax 93(gs_ua2) 54 55 112
Store 97(out_u2) 113
114: 26(ivec2) Load 94(gs_ub2)
115: 2 AtomicSMin 93(gs_ua2) 54 55 114
116: 26(ivec2) Load 94(gs_ub2)
117: 26(ivec2) AtomicUMin 93(gs_ua2) 54 55 116
Store 97(out_u2) 117
118: 26(ivec2) Load 94(gs_ub2)
119: 2 AtomicOr 93(gs_ua2) 54 55 118
120: 26(ivec2) Load 94(gs_ub2)
121: 26(ivec2) AtomicOr 93(gs_ua2) 54 55 120
Store 97(out_u2) 121
122: 26(ivec2) Load 94(gs_ub2)
123: 2 AtomicXor 93(gs_ua2) 54 55 122
124: 26(ivec2) Load 94(gs_ub2)
125: 26(ivec2) AtomicXor 93(gs_ua2) 54 55 124
Store 97(out_u2) 125
ReturnValue 128
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
133(gs_ua3): 39(ptr) Variable Function
134(gs_ub3): 39(ptr) Variable Function
137(out_u3): 39(ptr) Variable Function
145(gs_uc3): 39(ptr) Variable Function
131: 36(fvec3) Load 41(inF0)
132: 49(bool) All 131
135: 38(ivec3) Load 134(gs_ub3)
136: 2 AtomicIAdd 133(gs_ua3) 54 55 135
138: 38(ivec3) Load 134(gs_ub3)
139: 38(ivec3) AtomicIAdd 133(gs_ua3) 54 55 138
Store 137(out_u3) 139
140: 38(ivec3) Load 134(gs_ub3)
141: 2 AtomicAnd 133(gs_ua3) 54 55 140
142: 38(ivec3) Load 134(gs_ub3)
143: 38(ivec3) AtomicAnd 133(gs_ua3) 54 55 142
Store 137(out_u3) 143
144: 38(ivec3) Load 134(gs_ub3)
146: 38(ivec3) Load 145(gs_uc3)
147: 38(ivec3) AtomicCompareExchange 133(gs_ua3) 54 55 55 146 144
Store 137(out_u3) 147
148: 38(ivec3) Load 134(gs_ub3)
149: 38(ivec3) AtomicExchange 133(gs_ua3) 54 55 148
Store 137(out_u3) 149
150: 38(ivec3) Load 134(gs_ub3)
151: 2 AtomicSMax 133(gs_ua3) 54 55 150
152: 38(ivec3) Load 134(gs_ub3)
153: 38(ivec3) AtomicUMax 133(gs_ua3) 54 55 152
Store 137(out_u3) 153
154: 38(ivec3) Load 134(gs_ub3)
155: 2 AtomicSMin 133(gs_ua3) 54 55 154
156: 38(ivec3) Load 134(gs_ub3)
157: 38(ivec3) AtomicUMin 133(gs_ua3) 54 55 156
Store 137(out_u3) 157
158: 38(ivec3) Load 134(gs_ub3)
159: 2 AtomicOr 133(gs_ua3) 54 55 158
160: 38(ivec3) Load 134(gs_ub3)
161: 38(ivec3) AtomicOr 133(gs_ua3) 54 55 160
Store 137(out_u3) 161
162: 38(ivec3) Load 134(gs_ub3)
163: 2 AtomicXor 133(gs_ua3) 54 55 162
164: 38(ivec3) Load 134(gs_ub3)
165: 38(ivec3) AtomicXor 133(gs_ua3) 54 55 164
Store 137(out_u3) 165
ReturnValue 167
FunctionEnd