Implement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier.
This commit is contained in:
parent
cd784bc561
commit
589107095c
16 changed files with 8844 additions and 6104 deletions
768
Test/baseResults/hlsl.intrinsics.comp.out
Normal file
768
Test/baseResults/hlsl.intrinsics.comp.out
Normal file
|
|
@ -0,0 +1,768 @@
|
|||
hlsl.intrinsics.comp
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:44 Function Definition: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
|
||||
0:17 Function Parameters:
|
||||
0:17 'inF0' (temp float)
|
||||
0:17 'inF1' (temp float)
|
||||
0:17 'inF2' (temp float)
|
||||
0:17 'inU0' (temp uint)
|
||||
0:17 'inU1' (temp uint)
|
||||
0:? Sequence
|
||||
0:21 all (global bool)
|
||||
0:21 'inF0' (temp 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: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
|
||||
0:45 Function Parameters:
|
||||
0:45 'inF0' (temp 1-component vector of float)
|
||||
0:45 'inF1' (temp 1-component vector of float)
|
||||
0:45 'inF2' (temp 1-component vector of float)
|
||||
0:? Sequence
|
||||
0:47 Branch: Return with expression
|
||||
0:47 Constant:
|
||||
0:47 0.000000
|
||||
0:77 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
|
||||
0:51 Function Parameters:
|
||||
0:51 'inF0' (temp 2-component vector of float)
|
||||
0:51 'inF1' (temp 2-component vector of float)
|
||||
0:51 'inF2' (temp 2-component vector of float)
|
||||
0:51 'inU0' (temp 2-component vector of uint)
|
||||
0:51 'inU1' (temp 2-component vector of uint)
|
||||
0:? Sequence
|
||||
0:55 all (global bool)
|
||||
0:55 'inF0' (temp 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: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
|
||||
0:78 Function Parameters:
|
||||
0:78 'inF0' (temp 3-component vector of float)
|
||||
0:78 'inF1' (temp 3-component vector of float)
|
||||
0:78 'inF2' (temp 3-component vector of float)
|
||||
0:78 'inU0' (temp 3-component vector of uint)
|
||||
0:78 'inU1' (temp 3-component vector of uint)
|
||||
0:? Sequence
|
||||
0:82 all (global bool)
|
||||
0:82 'inF0' (temp 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' (temp 4-component vector of float)
|
||||
0:105 'inF1' (temp 4-component vector of float)
|
||||
0:105 'inF2' (temp 4-component vector of float)
|
||||
0:105 'inU0' (temp 4-component vector of uint)
|
||||
0:105 'inU1' (temp 4-component vector of uint)
|
||||
0:? Sequence
|
||||
0:109 all (global bool)
|
||||
0:109 'inF0' (temp 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: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
|
||||
0:17 Function Parameters:
|
||||
0:17 'inF0' (temp float)
|
||||
0:17 'inF1' (temp float)
|
||||
0:17 'inF2' (temp float)
|
||||
0:17 'inU0' (temp uint)
|
||||
0:17 'inU1' (temp uint)
|
||||
0:? Sequence
|
||||
0:21 all (global bool)
|
||||
0:21 'inF0' (temp 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: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
|
||||
0:45 Function Parameters:
|
||||
0:45 'inF0' (temp 1-component vector of float)
|
||||
0:45 'inF1' (temp 1-component vector of float)
|
||||
0:45 'inF2' (temp 1-component vector of float)
|
||||
0:? Sequence
|
||||
0:47 Branch: Return with expression
|
||||
0:47 Constant:
|
||||
0:47 0.000000
|
||||
0:77 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
|
||||
0:51 Function Parameters:
|
||||
0:51 'inF0' (temp 2-component vector of float)
|
||||
0:51 'inF1' (temp 2-component vector of float)
|
||||
0:51 'inF2' (temp 2-component vector of float)
|
||||
0:51 'inU0' (temp 2-component vector of uint)
|
||||
0:51 'inU1' (temp 2-component vector of uint)
|
||||
0:? Sequence
|
||||
0:55 all (global bool)
|
||||
0:55 'inF0' (temp 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: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
|
||||
0:78 Function Parameters:
|
||||
0:78 'inF0' (temp 3-component vector of float)
|
||||
0:78 'inF1' (temp 3-component vector of float)
|
||||
0:78 'inF2' (temp 3-component vector of float)
|
||||
0:78 'inU0' (temp 3-component vector of uint)
|
||||
0:78 'inU1' (temp 3-component vector of uint)
|
||||
0:? Sequence
|
||||
0:82 all (global bool)
|
||||
0:82 'inF0' (temp 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' (temp 4-component vector of float)
|
||||
0:105 'inF1' (temp 4-component vector of float)
|
||||
0:105 'inF2' (temp 4-component vector of float)
|
||||
0:105 'inU0' (temp 4-component vector of uint)
|
||||
0:105 'inU1' (temp 4-component vector of uint)
|
||||
0:? Sequence
|
||||
0:109 all (global bool)
|
||||
0:109 'inF0' (temp 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 182
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "ComputeShaderFunction"
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source HLSL 450
|
||||
Name 4 "ComputeShaderFunction"
|
||||
Name 8 "inF0"
|
||||
Name 14 "gs_ua"
|
||||
Name 15 "gs_ub"
|
||||
Name 20 "out_u1"
|
||||
Name 28 "gs_uc"
|
||||
Name 54 "inF0"
|
||||
Name 59 "gs_ua2"
|
||||
Name 60 "gs_ub2"
|
||||
Name 63 "out_u2"
|
||||
Name 71 "gs_uc2"
|
||||
Name 98 "inF0"
|
||||
Name 103 "gs_ua3"
|
||||
Name 104 "gs_ub3"
|
||||
Name 107 "out_u3"
|
||||
Name 115 "gs_uc3"
|
||||
Name 141 "inF0"
|
||||
Name 146 "gs_ua4"
|
||||
Name 147 "gs_ub4"
|
||||
Name 150 "out_u4"
|
||||
Name 158 "gs_uc4"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
10: TypeBool
|
||||
12: TypeInt 32 0
|
||||
13: TypePointer Function 12(int)
|
||||
17: 12(int) Constant 1
|
||||
18: 12(int) Constant 0
|
||||
49: 6(float) Constant 0
|
||||
52: TypeVector 6(float) 2
|
||||
53: TypePointer Function 52(fvec2)
|
||||
57: TypeVector 12(int) 2
|
||||
58: TypePointer Function 57(ivec2)
|
||||
92: 6(float) Constant 1065353216
|
||||
93: 6(float) Constant 1073741824
|
||||
94: 52(fvec2) ConstantComposite 92 93
|
||||
96: TypeVector 6(float) 3
|
||||
97: TypePointer Function 96(fvec3)
|
||||
101: TypeVector 12(int) 3
|
||||
102: TypePointer Function 101(ivec3)
|
||||
136: 6(float) Constant 1077936128
|
||||
137: 96(fvec3) ConstantComposite 92 93 136
|
||||
139: TypeVector 6(float) 4
|
||||
140: TypePointer Function 139(fvec4)
|
||||
144: TypeVector 12(int) 4
|
||||
145: TypePointer Function 144(ivec4)
|
||||
179: 6(float) Constant 1082130432
|
||||
180: 139(fvec4) ConstantComposite 92 93 136 179
|
||||
4(ComputeShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
8(inF0): 7(ptr) Variable Function
|
||||
14(gs_ua): 13(ptr) Variable Function
|
||||
15(gs_ub): 13(ptr) Variable Function
|
||||
20(out_u1): 13(ptr) Variable Function
|
||||
28(gs_uc): 13(ptr) Variable Function
|
||||
54(inF0): 53(ptr) Variable Function
|
||||
59(gs_ua2): 58(ptr) Variable Function
|
||||
60(gs_ub2): 58(ptr) Variable Function
|
||||
63(out_u2): 58(ptr) Variable Function
|
||||
71(gs_uc2): 58(ptr) Variable Function
|
||||
98(inF0): 97(ptr) Variable Function
|
||||
103(gs_ua3): 102(ptr) Variable Function
|
||||
104(gs_ub3): 102(ptr) Variable Function
|
||||
107(out_u3): 102(ptr) Variable Function
|
||||
115(gs_uc3): 102(ptr) Variable Function
|
||||
141(inF0): 140(ptr) Variable Function
|
||||
146(gs_ua4): 145(ptr) Variable Function
|
||||
147(gs_ub4): 145(ptr) Variable Function
|
||||
150(out_u4): 145(ptr) Variable Function
|
||||
158(gs_uc4): 145(ptr) Variable Function
|
||||
9: 6(float) Load 8(inF0)
|
||||
11: 10(bool) All 9
|
||||
16: 12(int) Load 15(gs_ub)
|
||||
19: 2 AtomicIAdd 14(gs_ua) 17 18 16
|
||||
21: 12(int) Load 15(gs_ub)
|
||||
22: 12(int) AtomicIAdd 14(gs_ua) 17 18 21
|
||||
Store 20(out_u1) 22
|
||||
23: 12(int) Load 15(gs_ub)
|
||||
24: 2 AtomicAnd 14(gs_ua) 17 18 23
|
||||
25: 12(int) Load 15(gs_ub)
|
||||
26: 12(int) AtomicAnd 14(gs_ua) 17 18 25
|
||||
Store 20(out_u1) 26
|
||||
27: 12(int) Load 15(gs_ub)
|
||||
29: 12(int) Load 28(gs_uc)
|
||||
30: 12(int) AtomicCompareExchange 14(gs_ua) 17 18 18 29 27
|
||||
Store 20(out_u1) 30
|
||||
31: 12(int) Load 15(gs_ub)
|
||||
32: 12(int) AtomicExchange 14(gs_ua) 17 18 31
|
||||
Store 20(out_u1) 32
|
||||
33: 12(int) Load 15(gs_ub)
|
||||
34: 2 AtomicSMax 14(gs_ua) 17 18 33
|
||||
35: 12(int) Load 15(gs_ub)
|
||||
36: 12(int) AtomicUMax 14(gs_ua) 17 18 35
|
||||
Store 20(out_u1) 36
|
||||
37: 12(int) Load 15(gs_ub)
|
||||
38: 2 AtomicSMin 14(gs_ua) 17 18 37
|
||||
39: 12(int) Load 15(gs_ub)
|
||||
40: 12(int) AtomicUMin 14(gs_ua) 17 18 39
|
||||
Store 20(out_u1) 40
|
||||
41: 12(int) Load 15(gs_ub)
|
||||
42: 2 AtomicOr 14(gs_ua) 17 18 41
|
||||
43: 12(int) Load 15(gs_ub)
|
||||
44: 12(int) AtomicOr 14(gs_ua) 17 18 43
|
||||
Store 20(out_u1) 44
|
||||
45: 12(int) Load 15(gs_ub)
|
||||
46: 2 AtomicXor 14(gs_ua) 17 18 45
|
||||
47: 12(int) Load 15(gs_ub)
|
||||
48: 12(int) AtomicXor 14(gs_ua) 17 18 47
|
||||
Store 20(out_u1) 48
|
||||
ReturnValue 49
|
||||
FunctionEnd
|
||||
Loading…
Add table
Add a link
Reference in a new issue