HLSL: Non-functional: add vector ? : tests.
This commit is contained in:
@@ -2,122 +2,133 @@ hlsl.conditional.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' ( in 4-component vector of float)
|
||||
0:8 Function Definition: vectorCond( ( temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:? Sequence
|
||||
0:9 Branch: Return with expression
|
||||
0:9 f4: direct index for structure ( uniform 4-component vector of float)
|
||||
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
|
||||
0:9 Constant:
|
||||
0:9 2 (const uint)
|
||||
0:14 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:14 Function Parameters:
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp int)
|
||||
0:15 'a' ( temp int)
|
||||
0:15 Constant:
|
||||
0:15 5 (const int)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp int)
|
||||
0:16 'b' ( temp int)
|
||||
0:16 Constant:
|
||||
0:16 6 (const int)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp int)
|
||||
0:17 'c' ( temp int)
|
||||
0:17 Constant:
|
||||
0:17 7 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp int)
|
||||
0:18 'd' ( temp int)
|
||||
0:18 Constant:
|
||||
0:18 7 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 'ret' ( temp 4-component vector of float)
|
||||
0:21 add ( temp 4-component vector of float)
|
||||
0:20 add ( temp 4-component vector of float)
|
||||
0:19 add ( temp 4-component vector of float)
|
||||
0:19 vector-scale ( temp 4-component vector of float)
|
||||
0:19 Convert int to float ( temp float)
|
||||
0:19 'a' ( temp int)
|
||||
0:19 'input' ( in 4-component vector of float)
|
||||
0:20 vector-scale ( temp 4-component vector of float)
|
||||
0:20 Convert int to float ( temp float)
|
||||
0:20 'b' ( temp int)
|
||||
0:20 'input' ( in 4-component vector of float)
|
||||
0:21 vector-scale ( temp 4-component vector of float)
|
||||
0:21 Convert int to float ( temp float)
|
||||
0:21 'c' ( temp int)
|
||||
0:21 'input' ( in 4-component vector of float)
|
||||
0:22 vector-scale ( temp 4-component vector of float)
|
||||
0:22 Convert int to float ( temp float)
|
||||
0:22 'd' ( temp int)
|
||||
0:22 'input' ( in 4-component vector of float)
|
||||
0:24 Comma ( temp int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'e' ( temp int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'a' ( temp int)
|
||||
0:24 Test condition and select ( temp int)
|
||||
0:24 Condition
|
||||
0:24 Convert int to bool ( temp bool)
|
||||
0:24 'b' ( temp int)
|
||||
0:24 true case
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'c' ( temp int)
|
||||
0:24 'd' ( temp int)
|
||||
0:24 false case
|
||||
0:24 Constant:
|
||||
0:24 10 (const int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'b' ( temp int)
|
||||
0:24 Test condition and select ( temp int)
|
||||
0:24 Condition
|
||||
0:24 Convert int to bool ( temp bool)
|
||||
0:24 'a' ( temp int)
|
||||
0:24 true case
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'd' ( temp int)
|
||||
0:24 'c' ( temp int)
|
||||
0:24 false case
|
||||
0:24 Constant:
|
||||
0:24 11 (const int)
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 'f' ( temp 4-component vector of float)
|
||||
0:26 Test condition and select ( temp 4-component vector of float)
|
||||
0:26 Condition
|
||||
0:26 Compare Less Than ( temp bool)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'ret' ( temp 4-component vector of float)
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 true case
|
||||
0:26 vector-scale ( temp 4-component vector of float)
|
||||
0:26 Convert int to float ( temp float)
|
||||
0:26 'c' ( temp int)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:26 false case
|
||||
0:26 vector-scale ( temp 4-component vector of float)
|
||||
0:26 Convert int to float ( temp float)
|
||||
0:26 'd' ( temp int)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:27 Branch: Return with expression
|
||||
0:27 add ( temp 4-component vector of float)
|
||||
0:27 add ( temp 4-component vector of float)
|
||||
0:27 vector-scale ( temp 4-component vector of float)
|
||||
0:27 Convert int to float ( temp float)
|
||||
0:27 'e' ( temp int)
|
||||
0:27 'ret' ( temp 4-component vector of float)
|
||||
0:27 'f' ( temp 4-component vector of float)
|
||||
0:27 Function Call: vectorCond( ( temp 4-component vector of float)
|
||||
0:14 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:14 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child ( temp int)
|
||||
0:3 'a' ( temp int)
|
||||
0:3 Constant:
|
||||
0:3 5 (const int)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child ( temp int)
|
||||
0:4 'b' ( temp int)
|
||||
0:4 Constant:
|
||||
0:4 6 (const int)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp int)
|
||||
0:5 'c' ( temp int)
|
||||
0:5 Constant:
|
||||
0:5 7 (const int)
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp int)
|
||||
0:6 'd' ( temp int)
|
||||
0:6 Constant:
|
||||
0:6 7 (const int)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp 4-component vector of float)
|
||||
0:7 'ret' ( temp 4-component vector of float)
|
||||
0:9 add ( temp 4-component vector of float)
|
||||
0:8 add ( temp 4-component vector of float)
|
||||
0:7 add ( temp 4-component vector of float)
|
||||
0:7 vector-scale ( temp 4-component vector of float)
|
||||
0:7 Convert int to float ( temp float)
|
||||
0:7 'a' ( temp int)
|
||||
0:7 'input' ( in 4-component vector of float)
|
||||
0:8 vector-scale ( temp 4-component vector of float)
|
||||
0:8 Convert int to float ( temp float)
|
||||
0:8 'b' ( temp int)
|
||||
0:8 'input' ( in 4-component vector of float)
|
||||
0:9 vector-scale ( temp 4-component vector of float)
|
||||
0:9 Convert int to float ( temp float)
|
||||
0:9 'c' ( temp int)
|
||||
0:9 'input' ( in 4-component vector of float)
|
||||
0:10 vector-scale ( temp 4-component vector of float)
|
||||
0:10 Convert int to float ( temp float)
|
||||
0:10 'd' ( temp int)
|
||||
0:10 'input' ( in 4-component vector of float)
|
||||
0:12 Comma ( temp int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'e' ( temp int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'a' ( temp int)
|
||||
0:12 Test condition and select ( temp int)
|
||||
0:12 Condition
|
||||
0:12 Convert int to bool ( temp bool)
|
||||
0:12 'b' ( temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'c' ( temp int)
|
||||
0:12 'd' ( temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 10 (const int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'b' ( temp int)
|
||||
0:12 Test condition and select ( temp int)
|
||||
0:12 Condition
|
||||
0:12 Convert int to bool ( temp bool)
|
||||
0:12 'a' ( temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'd' ( temp int)
|
||||
0:12 'c' ( temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 11 (const int)
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'f' ( temp 4-component vector of float)
|
||||
0:14 Test condition and select ( temp 4-component vector of float)
|
||||
0:14 Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 direct index ( temp float)
|
||||
0:14 'ret' ( temp 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 direct index ( temp float)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 true case
|
||||
0:14 vector-scale ( temp 4-component vector of float)
|
||||
0:14 Convert int to float ( temp float)
|
||||
0:14 'c' ( temp int)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:14 false case
|
||||
0:14 vector-scale ( temp 4-component vector of float)
|
||||
0:14 Convert int to float ( temp float)
|
||||
0:14 'd' ( temp int)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:15 Branch: Return with expression
|
||||
0:15 add ( temp 4-component vector of float)
|
||||
0:15 vector-scale ( temp 4-component vector of float)
|
||||
0:15 Convert int to float ( temp float)
|
||||
0:15 'e' ( temp int)
|
||||
0:15 'ret' ( temp 4-component vector of float)
|
||||
0:15 'f' ( temp 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:14 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
@@ -128,282 +139,322 @@ Linked fragment stage:
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' ( in 4-component vector of float)
|
||||
0:8 Function Definition: vectorCond( ( temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:? Sequence
|
||||
0:9 Branch: Return with expression
|
||||
0:9 f4: direct index for structure ( uniform 4-component vector of float)
|
||||
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
|
||||
0:9 Constant:
|
||||
0:9 2 (const uint)
|
||||
0:14 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:14 Function Parameters:
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp int)
|
||||
0:15 'a' ( temp int)
|
||||
0:15 Constant:
|
||||
0:15 5 (const int)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp int)
|
||||
0:16 'b' ( temp int)
|
||||
0:16 Constant:
|
||||
0:16 6 (const int)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp int)
|
||||
0:17 'c' ( temp int)
|
||||
0:17 Constant:
|
||||
0:17 7 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp int)
|
||||
0:18 'd' ( temp int)
|
||||
0:18 Constant:
|
||||
0:18 7 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp 4-component vector of float)
|
||||
0:19 'ret' ( temp 4-component vector of float)
|
||||
0:21 add ( temp 4-component vector of float)
|
||||
0:20 add ( temp 4-component vector of float)
|
||||
0:19 add ( temp 4-component vector of float)
|
||||
0:19 vector-scale ( temp 4-component vector of float)
|
||||
0:19 Convert int to float ( temp float)
|
||||
0:19 'a' ( temp int)
|
||||
0:19 'input' ( in 4-component vector of float)
|
||||
0:20 vector-scale ( temp 4-component vector of float)
|
||||
0:20 Convert int to float ( temp float)
|
||||
0:20 'b' ( temp int)
|
||||
0:20 'input' ( in 4-component vector of float)
|
||||
0:21 vector-scale ( temp 4-component vector of float)
|
||||
0:21 Convert int to float ( temp float)
|
||||
0:21 'c' ( temp int)
|
||||
0:21 'input' ( in 4-component vector of float)
|
||||
0:22 vector-scale ( temp 4-component vector of float)
|
||||
0:22 Convert int to float ( temp float)
|
||||
0:22 'd' ( temp int)
|
||||
0:22 'input' ( in 4-component vector of float)
|
||||
0:24 Comma ( temp int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'e' ( temp int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'a' ( temp int)
|
||||
0:24 Test condition and select ( temp int)
|
||||
0:24 Condition
|
||||
0:24 Convert int to bool ( temp bool)
|
||||
0:24 'b' ( temp int)
|
||||
0:24 true case
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'c' ( temp int)
|
||||
0:24 'd' ( temp int)
|
||||
0:24 false case
|
||||
0:24 Constant:
|
||||
0:24 10 (const int)
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'b' ( temp int)
|
||||
0:24 Test condition and select ( temp int)
|
||||
0:24 Condition
|
||||
0:24 Convert int to bool ( temp bool)
|
||||
0:24 'a' ( temp int)
|
||||
0:24 true case
|
||||
0:24 move second child to first child ( temp int)
|
||||
0:24 'd' ( temp int)
|
||||
0:24 'c' ( temp int)
|
||||
0:24 false case
|
||||
0:24 Constant:
|
||||
0:24 11 (const int)
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 'f' ( temp 4-component vector of float)
|
||||
0:26 Test condition and select ( temp 4-component vector of float)
|
||||
0:26 Condition
|
||||
0:26 Compare Less Than ( temp bool)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'ret' ( temp 4-component vector of float)
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 true case
|
||||
0:26 vector-scale ( temp 4-component vector of float)
|
||||
0:26 Convert int to float ( temp float)
|
||||
0:26 'c' ( temp int)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:26 false case
|
||||
0:26 vector-scale ( temp 4-component vector of float)
|
||||
0:26 Convert int to float ( temp float)
|
||||
0:26 'd' ( temp int)
|
||||
0:26 'input' ( in 4-component vector of float)
|
||||
0:27 Branch: Return with expression
|
||||
0:27 add ( temp 4-component vector of float)
|
||||
0:27 add ( temp 4-component vector of float)
|
||||
0:27 vector-scale ( temp 4-component vector of float)
|
||||
0:27 Convert int to float ( temp float)
|
||||
0:27 'e' ( temp int)
|
||||
0:27 'ret' ( temp 4-component vector of float)
|
||||
0:27 'f' ( temp 4-component vector of float)
|
||||
0:27 Function Call: vectorCond( ( temp 4-component vector of float)
|
||||
0:14 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:14 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child ( temp int)
|
||||
0:3 'a' ( temp int)
|
||||
0:3 Constant:
|
||||
0:3 5 (const int)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child ( temp int)
|
||||
0:4 'b' ( temp int)
|
||||
0:4 Constant:
|
||||
0:4 6 (const int)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp int)
|
||||
0:5 'c' ( temp int)
|
||||
0:5 Constant:
|
||||
0:5 7 (const int)
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp int)
|
||||
0:6 'd' ( temp int)
|
||||
0:6 Constant:
|
||||
0:6 7 (const int)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp 4-component vector of float)
|
||||
0:7 'ret' ( temp 4-component vector of float)
|
||||
0:9 add ( temp 4-component vector of float)
|
||||
0:8 add ( temp 4-component vector of float)
|
||||
0:7 add ( temp 4-component vector of float)
|
||||
0:7 vector-scale ( temp 4-component vector of float)
|
||||
0:7 Convert int to float ( temp float)
|
||||
0:7 'a' ( temp int)
|
||||
0:7 'input' ( in 4-component vector of float)
|
||||
0:8 vector-scale ( temp 4-component vector of float)
|
||||
0:8 Convert int to float ( temp float)
|
||||
0:8 'b' ( temp int)
|
||||
0:8 'input' ( in 4-component vector of float)
|
||||
0:9 vector-scale ( temp 4-component vector of float)
|
||||
0:9 Convert int to float ( temp float)
|
||||
0:9 'c' ( temp int)
|
||||
0:9 'input' ( in 4-component vector of float)
|
||||
0:10 vector-scale ( temp 4-component vector of float)
|
||||
0:10 Convert int to float ( temp float)
|
||||
0:10 'd' ( temp int)
|
||||
0:10 'input' ( in 4-component vector of float)
|
||||
0:12 Comma ( temp int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'e' ( temp int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'a' ( temp int)
|
||||
0:12 Test condition and select ( temp int)
|
||||
0:12 Condition
|
||||
0:12 Convert int to bool ( temp bool)
|
||||
0:12 'b' ( temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'c' ( temp int)
|
||||
0:12 'd' ( temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 10 (const int)
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'b' ( temp int)
|
||||
0:12 Test condition and select ( temp int)
|
||||
0:12 Condition
|
||||
0:12 Convert int to bool ( temp bool)
|
||||
0:12 'a' ( temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child ( temp int)
|
||||
0:12 'd' ( temp int)
|
||||
0:12 'c' ( temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 11 (const int)
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'f' ( temp 4-component vector of float)
|
||||
0:14 Test condition and select ( temp 4-component vector of float)
|
||||
0:14 Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 direct index ( temp float)
|
||||
0:14 'ret' ( temp 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 direct index ( temp float)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 true case
|
||||
0:14 vector-scale ( temp 4-component vector of float)
|
||||
0:14 Convert int to float ( temp float)
|
||||
0:14 'c' ( temp int)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:14 false case
|
||||
0:14 vector-scale ( temp 4-component vector of float)
|
||||
0:14 Convert int to float ( temp float)
|
||||
0:14 'd' ( temp int)
|
||||
0:14 'input' ( in 4-component vector of float)
|
||||
0:15 Branch: Return with expression
|
||||
0:15 add ( temp 4-component vector of float)
|
||||
0:15 vector-scale ( temp 4-component vector of float)
|
||||
0:15 Convert int to float ( temp float)
|
||||
0:15 'e' ( temp int)
|
||||
0:15 'ret' ( temp 4-component vector of float)
|
||||
0:15 'f' ( temp 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:14 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 102
|
||||
// Id's are bound by 116
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 95 98
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 109 112
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 11 "@PixelShaderFunction(vf4;"
|
||||
Name 10 "input"
|
||||
Name 15 "a"
|
||||
Name 17 "b"
|
||||
Name 19 "c"
|
||||
Name 21 "d"
|
||||
Name 22 "ret"
|
||||
Name 42 "e"
|
||||
Name 64 "f"
|
||||
Name 93 "input"
|
||||
Name 95 "input"
|
||||
Name 98 "@entryPointOutput"
|
||||
Name 99 "param"
|
||||
Decorate 95(input) Location 0
|
||||
Decorate 98(@entryPointOutput) Location 0
|
||||
Name 9 "vectorCond("
|
||||
Name 14 "@PixelShaderFunction(vf4;"
|
||||
Name 13 "input"
|
||||
Name 16 "$Global"
|
||||
MemberName 16($Global) 0 "c4"
|
||||
MemberName 16($Global) 1 "t4"
|
||||
MemberName 16($Global) 2 "f4"
|
||||
MemberName 16($Global) 3 "t"
|
||||
MemberName 16($Global) 4 "f"
|
||||
Name 18 ""
|
||||
Name 27 "a"
|
||||
Name 29 "b"
|
||||
Name 31 "c"
|
||||
Name 33 "d"
|
||||
Name 34 "ret"
|
||||
Name 54 "e"
|
||||
Name 76 "f"
|
||||
Name 107 "input"
|
||||
Name 109 "input"
|
||||
Name 112 "@entryPointOutput"
|
||||
Name 113 "param"
|
||||
MemberDecorate 16($Global) 0 Offset 0
|
||||
MemberDecorate 16($Global) 1 Offset 16
|
||||
MemberDecorate 16($Global) 2 Offset 32
|
||||
MemberDecorate 16($Global) 3 Offset 48
|
||||
MemberDecorate 16($Global) 4 Offset 52
|
||||
Decorate 16($Global) Block
|
||||
Decorate 18 DescriptorSet 0
|
||||
Decorate 109(input) Location 0
|
||||
Decorate 112(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
9: TypeFunction 7(fvec4) 8(ptr)
|
||||
13: TypeInt 32 1
|
||||
14: TypePointer Function 13(int)
|
||||
16: 13(int) Constant 5
|
||||
18: 13(int) Constant 6
|
||||
20: 13(int) Constant 7
|
||||
45: TypeBool
|
||||
46: TypeInt 32 0
|
||||
47: 46(int) Constant 0
|
||||
53: 13(int) Constant 10
|
||||
62: 13(int) Constant 11
|
||||
66: TypePointer Function 6(float)
|
||||
69: 46(int) Constant 1
|
||||
94: TypePointer Input 7(fvec4)
|
||||
95(input): 94(ptr) Variable Input
|
||||
97: TypePointer Output 7(fvec4)
|
||||
98(@entryPointOutput): 97(ptr) Variable Output
|
||||
8: TypeFunction 7(fvec4)
|
||||
11: TypePointer Function 7(fvec4)
|
||||
12: TypeFunction 7(fvec4) 11(ptr)
|
||||
16($Global): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
|
||||
17: TypePointer Uniform 16($Global)
|
||||
18: 17(ptr) Variable Uniform
|
||||
19: TypeInt 32 1
|
||||
20: 19(int) Constant 2
|
||||
21: TypePointer Uniform 7(fvec4)
|
||||
26: TypePointer Function 19(int)
|
||||
28: 19(int) Constant 5
|
||||
30: 19(int) Constant 6
|
||||
32: 19(int) Constant 7
|
||||
57: TypeBool
|
||||
58: TypeInt 32 0
|
||||
59: 58(int) Constant 0
|
||||
65: 19(int) Constant 10
|
||||
74: 19(int) Constant 11
|
||||
78: TypePointer Function 6(float)
|
||||
81: 58(int) Constant 1
|
||||
108: TypePointer Input 7(fvec4)
|
||||
109(input): 108(ptr) Variable Input
|
||||
111: TypePointer Output 7(fvec4)
|
||||
112(@entryPointOutput): 111(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
93(input): 8(ptr) Variable Function
|
||||
99(param): 8(ptr) Variable Function
|
||||
96: 7(fvec4) Load 95(input)
|
||||
Store 93(input) 96
|
||||
100: 7(fvec4) Load 93(input)
|
||||
Store 99(param) 100
|
||||
101: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 99(param)
|
||||
Store 98(@entryPointOutput) 101
|
||||
107(input): 11(ptr) Variable Function
|
||||
113(param): 11(ptr) Variable Function
|
||||
110: 7(fvec4) Load 109(input)
|
||||
Store 107(input) 110
|
||||
114: 7(fvec4) Load 107(input)
|
||||
Store 113(param) 114
|
||||
115: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;) 113(param)
|
||||
Store 112(@entryPointOutput) 115
|
||||
Return
|
||||
FunctionEnd
|
||||
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
|
||||
10(input): 8(ptr) FunctionParameter
|
||||
12: Label
|
||||
15(a): 14(ptr) Variable Function
|
||||
17(b): 14(ptr) Variable Function
|
||||
19(c): 14(ptr) Variable Function
|
||||
21(d): 14(ptr) Variable Function
|
||||
22(ret): 8(ptr) Variable Function
|
||||
42(e): 14(ptr) Variable Function
|
||||
43: 14(ptr) Variable Function
|
||||
55: 14(ptr) Variable Function
|
||||
64(f): 8(ptr) Variable Function
|
||||
65: 8(ptr) Variable Function
|
||||
Store 15(a) 16
|
||||
Store 17(b) 18
|
||||
Store 19(c) 20
|
||||
Store 21(d) 20
|
||||
23: 13(int) Load 15(a)
|
||||
24: 6(float) ConvertSToF 23
|
||||
25: 7(fvec4) Load 10(input)
|
||||
26: 7(fvec4) VectorTimesScalar 25 24
|
||||
27: 13(int) Load 17(b)
|
||||
28: 6(float) ConvertSToF 27
|
||||
29: 7(fvec4) Load 10(input)
|
||||
30: 7(fvec4) VectorTimesScalar 29 28
|
||||
31: 7(fvec4) FAdd 26 30
|
||||
32: 13(int) Load 19(c)
|
||||
33: 6(float) ConvertSToF 32
|
||||
34: 7(fvec4) Load 10(input)
|
||||
35: 7(fvec4) VectorTimesScalar 34 33
|
||||
36: 7(fvec4) FAdd 31 35
|
||||
37: 13(int) Load 21(d)
|
||||
38: 6(float) ConvertSToF 37
|
||||
39: 7(fvec4) Load 10(input)
|
||||
40: 7(fvec4) VectorTimesScalar 39 38
|
||||
41: 7(fvec4) FAdd 36 40
|
||||
Store 22(ret) 41
|
||||
44: 13(int) Load 17(b)
|
||||
48: 45(bool) INotEqual 44 47
|
||||
SelectionMerge 50 None
|
||||
BranchConditional 48 49 52
|
||||
49: Label
|
||||
51: 13(int) Load 21(d)
|
||||
Store 19(c) 51
|
||||
Store 43 51
|
||||
Branch 50
|
||||
52: Label
|
||||
Store 43 53
|
||||
Branch 50
|
||||
50: Label
|
||||
54: 13(int) Load 43
|
||||
Store 15(a) 54
|
||||
Store 42(e) 54
|
||||
56: 13(int) Load 15(a)
|
||||
57: 45(bool) INotEqual 56 47
|
||||
SelectionMerge 59 None
|
||||
BranchConditional 57 58 61
|
||||
58: Label
|
||||
60: 13(int) Load 19(c)
|
||||
Store 21(d) 60
|
||||
Store 55 60
|
||||
Branch 59
|
||||
61: Label
|
||||
Store 55 62
|
||||
Branch 59
|
||||
59: Label
|
||||
63: 13(int) Load 55
|
||||
Store 17(b) 63
|
||||
67: 66(ptr) AccessChain 22(ret) 47
|
||||
68: 6(float) Load 67
|
||||
70: 66(ptr) AccessChain 10(input) 69
|
||||
71: 6(float) Load 70
|
||||
72: 45(bool) FOrdLessThan 68 71
|
||||
SelectionMerge 74 None
|
||||
BranchConditional 72 73 79
|
||||
73: Label
|
||||
75: 13(int) Load 19(c)
|
||||
76: 6(float) ConvertSToF 75
|
||||
77: 7(fvec4) Load 10(input)
|
||||
78: 7(fvec4) VectorTimesScalar 77 76
|
||||
Store 65 78
|
||||
Branch 74
|
||||
79: Label
|
||||
80: 13(int) Load 21(d)
|
||||
81: 6(float) ConvertSToF 80
|
||||
82: 7(fvec4) Load 10(input)
|
||||
83: 7(fvec4) VectorTimesScalar 82 81
|
||||
Store 65 83
|
||||
Branch 74
|
||||
74: Label
|
||||
84: 7(fvec4) Load 65
|
||||
Store 64(f) 84
|
||||
85: 13(int) Load 42(e)
|
||||
86: 6(float) ConvertSToF 85
|
||||
87: 7(fvec4) Load 22(ret)
|
||||
88: 7(fvec4) VectorTimesScalar 87 86
|
||||
89: 7(fvec4) Load 64(f)
|
||||
90: 7(fvec4) FAdd 88 89
|
||||
ReturnValue 90
|
||||
9(vectorCond(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
22: 21(ptr) AccessChain 18 20
|
||||
23: 7(fvec4) Load 22
|
||||
ReturnValue 23
|
||||
FunctionEnd
|
||||
14(@PixelShaderFunction(vf4;): 7(fvec4) Function None 12
|
||||
13(input): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
27(a): 26(ptr) Variable Function
|
||||
29(b): 26(ptr) Variable Function
|
||||
31(c): 26(ptr) Variable Function
|
||||
33(d): 26(ptr) Variable Function
|
||||
34(ret): 11(ptr) Variable Function
|
||||
54(e): 26(ptr) Variable Function
|
||||
55: 26(ptr) Variable Function
|
||||
67: 26(ptr) Variable Function
|
||||
76(f): 11(ptr) Variable Function
|
||||
77: 11(ptr) Variable Function
|
||||
Store 27(a) 28
|
||||
Store 29(b) 30
|
||||
Store 31(c) 32
|
||||
Store 33(d) 32
|
||||
35: 19(int) Load 27(a)
|
||||
36: 6(float) ConvertSToF 35
|
||||
37: 7(fvec4) Load 13(input)
|
||||
38: 7(fvec4) VectorTimesScalar 37 36
|
||||
39: 19(int) Load 29(b)
|
||||
40: 6(float) ConvertSToF 39
|
||||
41: 7(fvec4) Load 13(input)
|
||||
42: 7(fvec4) VectorTimesScalar 41 40
|
||||
43: 7(fvec4) FAdd 38 42
|
||||
44: 19(int) Load 31(c)
|
||||
45: 6(float) ConvertSToF 44
|
||||
46: 7(fvec4) Load 13(input)
|
||||
47: 7(fvec4) VectorTimesScalar 46 45
|
||||
48: 7(fvec4) FAdd 43 47
|
||||
49: 19(int) Load 33(d)
|
||||
50: 6(float) ConvertSToF 49
|
||||
51: 7(fvec4) Load 13(input)
|
||||
52: 7(fvec4) VectorTimesScalar 51 50
|
||||
53: 7(fvec4) FAdd 48 52
|
||||
Store 34(ret) 53
|
||||
56: 19(int) Load 29(b)
|
||||
60: 57(bool) INotEqual 56 59
|
||||
SelectionMerge 62 None
|
||||
BranchConditional 60 61 64
|
||||
61: Label
|
||||
63: 19(int) Load 33(d)
|
||||
Store 31(c) 63
|
||||
Store 55 63
|
||||
Branch 62
|
||||
64: Label
|
||||
Store 55 65
|
||||
Branch 62
|
||||
62: Label
|
||||
66: 19(int) Load 55
|
||||
Store 27(a) 66
|
||||
Store 54(e) 66
|
||||
68: 19(int) Load 27(a)
|
||||
69: 57(bool) INotEqual 68 59
|
||||
SelectionMerge 71 None
|
||||
BranchConditional 69 70 73
|
||||
70: Label
|
||||
72: 19(int) Load 31(c)
|
||||
Store 33(d) 72
|
||||
Store 67 72
|
||||
Branch 71
|
||||
73: Label
|
||||
Store 67 74
|
||||
Branch 71
|
||||
71: Label
|
||||
75: 19(int) Load 67
|
||||
Store 29(b) 75
|
||||
79: 78(ptr) AccessChain 34(ret) 59
|
||||
80: 6(float) Load 79
|
||||
82: 78(ptr) AccessChain 13(input) 81
|
||||
83: 6(float) Load 82
|
||||
84: 57(bool) FOrdLessThan 80 83
|
||||
SelectionMerge 86 None
|
||||
BranchConditional 84 85 91
|
||||
85: Label
|
||||
87: 19(int) Load 31(c)
|
||||
88: 6(float) ConvertSToF 87
|
||||
89: 7(fvec4) Load 13(input)
|
||||
90: 7(fvec4) VectorTimesScalar 89 88
|
||||
Store 77 90
|
||||
Branch 86
|
||||
91: Label
|
||||
92: 19(int) Load 33(d)
|
||||
93: 6(float) ConvertSToF 92
|
||||
94: 7(fvec4) Load 13(input)
|
||||
95: 7(fvec4) VectorTimesScalar 94 93
|
||||
Store 77 95
|
||||
Branch 86
|
||||
86: Label
|
||||
96: 7(fvec4) Load 77
|
||||
Store 76(f) 96
|
||||
97: 19(int) Load 54(e)
|
||||
98: 6(float) ConvertSToF 97
|
||||
99: 7(fvec4) Load 34(ret)
|
||||
100: 7(fvec4) VectorTimesScalar 99 98
|
||||
101: 7(fvec4) Load 76(f)
|
||||
102: 7(fvec4) FAdd 100 101
|
||||
103: 7(fvec4) FunctionCall 9(vectorCond()
|
||||
104: 7(fvec4) FAdd 102 103
|
||||
ReturnValue 104
|
||||
FunctionEnd
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
float4 c4;
|
||||
float4 t4;
|
||||
float4 f4;
|
||||
float t;
|
||||
float f;
|
||||
|
||||
float4 vectorCond()
|
||||
{
|
||||
return f4; // return (c4 ? t4 : f4) +
|
||||
// (c4 ? t : f );
|
||||
}
|
||||
|
||||
float4 PixelShaderFunction(float4 input) : COLOR0
|
||||
{
|
||||
int a = 1 < 2 ? 3 < 4 ? 5 : 6 : 7;
|
||||
@@ -12,5 +24,5 @@ float4 PixelShaderFunction(float4 input) : COLOR0
|
||||
e = a = b ? c = d : 10, b = a ? d = c : 11;
|
||||
float4 f;
|
||||
f = ret.x < input.y ? c * input : d * input;
|
||||
return e * ret + f;
|
||||
return e * ret + f + vectorCond();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user