mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-14 13:51:04 +00:00
bc17b0a96a
Basic (component) type conversion was done, but checking that the composite was correct was not being done. Fixes issue #353.
416 lines
15 KiB
Plaintext
416 lines
15 KiB
Plaintext
functionSemantics.frag
|
|
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
|
ERROR: 0:74: 'return' : cannot convert return value to function return type
|
|
WARNING: 0:74: 'return' : type conversion on return values was not explicitly allowed until version 420
|
|
ERROR: 1 compilation errors. No code generated.
|
|
|
|
|
|
Shader version: 400
|
|
ERROR: node is still EOpNull!
|
|
0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
|
|
0:5 Function Parameters:
|
|
0:5 'a' (in int)
|
|
0:5 'b' (const (read only) int)
|
|
0:5 'c' (in int)
|
|
0:5 'd' (const (read only) int)
|
|
0:5 'e' (out int)
|
|
0:5 'f' (inout int)
|
|
0:7 Sequence
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp int)
|
|
0:7 'sum' (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 'a' (in int)
|
|
0:7 'b' (const (read only) int)
|
|
0:7 'c' (in int)
|
|
0:7 'd' (const (read only) int)
|
|
0:7 'f' (inout int)
|
|
0:10 multiply second child into first child (temp int)
|
|
0:10 'a' (in int)
|
|
0:10 Constant:
|
|
0:10 64 (const int)
|
|
0:12 multiply second child into first child (temp int)
|
|
0:12 'c' (in int)
|
|
0:12 Constant:
|
|
0:12 64 (const int)
|
|
0:14 move second child to first child (temp int)
|
|
0:14 'e' (out int)
|
|
0:14 Constant:
|
|
0:14 1024 (const int)
|
|
0:15 multiply second child into first child (temp int)
|
|
0:15 'f' (inout int)
|
|
0:15 Constant:
|
|
0:15 64 (const int)
|
|
0:17 add second child into first child (temp int)
|
|
0:17 'sum' (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 'a' (in int)
|
|
0:17 component-wise multiply (temp int)
|
|
0:17 Constant:
|
|
0:17 64 (const int)
|
|
0:17 'b' (const (read only) int)
|
|
0:17 'c' (in int)
|
|
0:17 component-wise multiply (temp int)
|
|
0:17 Constant:
|
|
0:17 64 (const int)
|
|
0:17 'd' (const (read only) int)
|
|
0:17 'e' (out int)
|
|
0:17 'f' (inout int)
|
|
0:20 Branch: Return with expression
|
|
0:20 'sum' (temp int)
|
|
0:23 Function Definition: foo2(f1;vf3;i1; (global int)
|
|
0:23 Function Parameters:
|
|
0:23 'a' (in float)
|
|
0:23 'b' (in 3-component vector of float)
|
|
0:23 'r' (out int)
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp int)
|
|
0:25 'r' (out int)
|
|
0:25 Convert float to int (temp int)
|
|
0:25 component-wise multiply (temp float)
|
|
0:25 Constant:
|
|
0:25 3.000000
|
|
0:25 'a' (in float)
|
|
0:26 Branch: Return with expression
|
|
0:26 Convert float to int (temp int)
|
|
0:26 component-wise multiply (temp float)
|
|
0:26 Constant:
|
|
0:26 5.000000
|
|
0:26 direct index (temp float)
|
|
0:26 'b' (in 3-component vector of float)
|
|
0:26 Constant:
|
|
0:26 1 (const int)
|
|
0:29 Function Definition: foo3( (global int)
|
|
0:29 Function Parameters:
|
|
0:31 Sequence
|
|
0:31 Test condition and select (temp void)
|
|
0:31 Condition
|
|
0:31 Compare Greater Than (temp bool)
|
|
0:31 'u' (uniform float)
|
|
0:31 Constant:
|
|
0:31 3.200000
|
|
0:31 true case
|
|
0:32 Sequence
|
|
0:32 Branch: Kill
|
|
0:33 Branch: Return with expression
|
|
0:33 Constant:
|
|
0:33 1000000 (const int)
|
|
0:36 Branch: Return with expression
|
|
0:36 Constant:
|
|
0:36 2000000 (const int)
|
|
0:39 Function Definition: main( (global void)
|
|
0:39 Function Parameters:
|
|
0:? Sequence
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp int)
|
|
0:42 't' (temp int)
|
|
0:42 Constant:
|
|
0:42 2 (const int)
|
|
0:46 move second child to first child (temp int)
|
|
0:46 direct index (temp int)
|
|
0:46 t: direct index for structure (temp 4-component vector of int)
|
|
0:46 'f' (temp structure{temp 4-component vector of int t})
|
|
0:46 Constant:
|
|
0:46 0 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 Constant:
|
|
0:46 32 (const int)
|
|
0:49 Sequence
|
|
0:49 move second child to first child (temp int)
|
|
0:49 'color' (temp int)
|
|
0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
|
|
0:49 Constant:
|
|
0:49 1 (const int)
|
|
0:49 Constant:
|
|
0:49 2 (const int)
|
|
0:49 add (temp int)
|
|
0:49 't' (temp int)
|
|
0:49 't' (temp int)
|
|
0:49 Constant:
|
|
0:49 8 (const int)
|
|
0:49 'e' (temp int)
|
|
0:49 direct index (temp int)
|
|
0:49 t: direct index for structure (temp 4-component vector of int)
|
|
0:49 'f' (temp structure{temp 4-component vector of int t})
|
|
0:49 Constant:
|
|
0:49 0 (const int)
|
|
0:49 Constant:
|
|
0:49 1 (const int)
|
|
0:51 add second child into first child (temp int)
|
|
0:51 'color' (temp int)
|
|
0:51 component-wise multiply (temp int)
|
|
0:51 Constant:
|
|
0:51 128 (const int)
|
|
0:51 add (temp int)
|
|
0:51 'e' (temp int)
|
|
0:51 direct index (temp int)
|
|
0:51 t: direct index for structure (temp 4-component vector of int)
|
|
0:51 'f' (temp structure{temp 4-component vector of int t})
|
|
0:51 Constant:
|
|
0:51 0 (const int)
|
|
0:51 Constant:
|
|
0:51 1 (const int)
|
|
0:57 move second child to first child (temp float)
|
|
0:57 'ret' (temp float)
|
|
0:57 Convert int to float (temp float)
|
|
0:57 Comma (global int)
|
|
0:57 move second child to first child (temp int)
|
|
0:57 'tempReturn' (global int)
|
|
0:57 Function Call: foo2(f1;vf3;i1; (global int)
|
|
0:57 Constant:
|
|
0:57 4.000000
|
|
0:57 Constant:
|
|
0:57 1.000000
|
|
0:57 2.000000
|
|
0:57 3.000000
|
|
0:57 'tempArg' (temp int)
|
|
0:57 move second child to first child (temp float)
|
|
0:57 'arg' (temp float)
|
|
0:57 Convert int to float (temp float)
|
|
0:57 'tempArg' (temp int)
|
|
0:57 'tempReturn' (global int)
|
|
0:58 add second child into first child (temp int)
|
|
0:58 'color' (temp int)
|
|
0:58 Convert float to int (temp int)
|
|
0:58 add (temp float)
|
|
0:58 'ret' (temp float)
|
|
0:58 'arg' (temp float)
|
|
0:60 add second child into first child (temp int)
|
|
0:60 'color' (temp int)
|
|
0:60 Function Call: foo3( (global int)
|
|
0:62 move second child to first child (temp 4-component vector of float)
|
|
0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
|
|
0:62 Construct vec4 (temp 4-component vector of float)
|
|
0:62 Convert int to float (temp float)
|
|
0:62 'color' (temp int)
|
|
0:66 Function Definition: aggCall( (global void)
|
|
0:66 Function Parameters:
|
|
0:? Sequence
|
|
0:69 Function Call: m(vf2; (global 3-component vector of float)
|
|
0:69 Convert int to float (temp 2-component vector of float)
|
|
0:69 Construct ivec2 (temp 2-component vector of int)
|
|
0:69 Convert float to int (temp int)
|
|
0:69 'F' (temp float)
|
|
0:72 Function Definition: badConv( (global 4-component vector of float)
|
|
0:72 Function Parameters:
|
|
0:74 Sequence
|
|
0:74 Branch: Return with expression
|
|
0:74 'u' (uniform float)
|
|
0:? Linker Objects
|
|
0:? 'u' (uniform float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 400
|
|
ERROR: node is still EOpNull!
|
|
0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
|
|
0:5 Function Parameters:
|
|
0:5 'a' (in int)
|
|
0:5 'b' (const (read only) int)
|
|
0:5 'c' (in int)
|
|
0:5 'd' (const (read only) int)
|
|
0:5 'e' (out int)
|
|
0:5 'f' (inout int)
|
|
0:7 Sequence
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp int)
|
|
0:7 'sum' (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 add (temp int)
|
|
0:7 'a' (in int)
|
|
0:7 'b' (const (read only) int)
|
|
0:7 'c' (in int)
|
|
0:7 'd' (const (read only) int)
|
|
0:7 'f' (inout int)
|
|
0:10 multiply second child into first child (temp int)
|
|
0:10 'a' (in int)
|
|
0:10 Constant:
|
|
0:10 64 (const int)
|
|
0:12 multiply second child into first child (temp int)
|
|
0:12 'c' (in int)
|
|
0:12 Constant:
|
|
0:12 64 (const int)
|
|
0:14 move second child to first child (temp int)
|
|
0:14 'e' (out int)
|
|
0:14 Constant:
|
|
0:14 1024 (const int)
|
|
0:15 multiply second child into first child (temp int)
|
|
0:15 'f' (inout int)
|
|
0:15 Constant:
|
|
0:15 64 (const int)
|
|
0:17 add second child into first child (temp int)
|
|
0:17 'sum' (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 add (temp int)
|
|
0:17 'a' (in int)
|
|
0:17 component-wise multiply (temp int)
|
|
0:17 Constant:
|
|
0:17 64 (const int)
|
|
0:17 'b' (const (read only) int)
|
|
0:17 'c' (in int)
|
|
0:17 component-wise multiply (temp int)
|
|
0:17 Constant:
|
|
0:17 64 (const int)
|
|
0:17 'd' (const (read only) int)
|
|
0:17 'e' (out int)
|
|
0:17 'f' (inout int)
|
|
0:20 Branch: Return with expression
|
|
0:20 'sum' (temp int)
|
|
0:23 Function Definition: foo2(f1;vf3;i1; (global int)
|
|
0:23 Function Parameters:
|
|
0:23 'a' (in float)
|
|
0:23 'b' (in 3-component vector of float)
|
|
0:23 'r' (out int)
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp int)
|
|
0:25 'r' (out int)
|
|
0:25 Convert float to int (temp int)
|
|
0:25 component-wise multiply (temp float)
|
|
0:25 Constant:
|
|
0:25 3.000000
|
|
0:25 'a' (in float)
|
|
0:26 Branch: Return with expression
|
|
0:26 Convert float to int (temp int)
|
|
0:26 component-wise multiply (temp float)
|
|
0:26 Constant:
|
|
0:26 5.000000
|
|
0:26 direct index (temp float)
|
|
0:26 'b' (in 3-component vector of float)
|
|
0:26 Constant:
|
|
0:26 1 (const int)
|
|
0:29 Function Definition: foo3( (global int)
|
|
0:29 Function Parameters:
|
|
0:31 Sequence
|
|
0:31 Test condition and select (temp void)
|
|
0:31 Condition
|
|
0:31 Compare Greater Than (temp bool)
|
|
0:31 'u' (uniform float)
|
|
0:31 Constant:
|
|
0:31 3.200000
|
|
0:31 true case
|
|
0:32 Sequence
|
|
0:32 Branch: Kill
|
|
0:33 Branch: Return with expression
|
|
0:33 Constant:
|
|
0:33 1000000 (const int)
|
|
0:36 Branch: Return with expression
|
|
0:36 Constant:
|
|
0:36 2000000 (const int)
|
|
0:39 Function Definition: main( (global void)
|
|
0:39 Function Parameters:
|
|
0:? Sequence
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp int)
|
|
0:42 't' (temp int)
|
|
0:42 Constant:
|
|
0:42 2 (const int)
|
|
0:46 move second child to first child (temp int)
|
|
0:46 direct index (temp int)
|
|
0:46 t: direct index for structure (temp 4-component vector of int)
|
|
0:46 'f' (temp structure{temp 4-component vector of int t})
|
|
0:46 Constant:
|
|
0:46 0 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 Constant:
|
|
0:46 32 (const int)
|
|
0:49 Sequence
|
|
0:49 move second child to first child (temp int)
|
|
0:49 'color' (temp int)
|
|
0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
|
|
0:49 Constant:
|
|
0:49 1 (const int)
|
|
0:49 Constant:
|
|
0:49 2 (const int)
|
|
0:49 add (temp int)
|
|
0:49 't' (temp int)
|
|
0:49 't' (temp int)
|
|
0:49 Constant:
|
|
0:49 8 (const int)
|
|
0:49 'e' (temp int)
|
|
0:49 direct index (temp int)
|
|
0:49 t: direct index for structure (temp 4-component vector of int)
|
|
0:49 'f' (temp structure{temp 4-component vector of int t})
|
|
0:49 Constant:
|
|
0:49 0 (const int)
|
|
0:49 Constant:
|
|
0:49 1 (const int)
|
|
0:51 add second child into first child (temp int)
|
|
0:51 'color' (temp int)
|
|
0:51 component-wise multiply (temp int)
|
|
0:51 Constant:
|
|
0:51 128 (const int)
|
|
0:51 add (temp int)
|
|
0:51 'e' (temp int)
|
|
0:51 direct index (temp int)
|
|
0:51 t: direct index for structure (temp 4-component vector of int)
|
|
0:51 'f' (temp structure{temp 4-component vector of int t})
|
|
0:51 Constant:
|
|
0:51 0 (const int)
|
|
0:51 Constant:
|
|
0:51 1 (const int)
|
|
0:57 move second child to first child (temp float)
|
|
0:57 'ret' (temp float)
|
|
0:57 Convert int to float (temp float)
|
|
0:57 Comma (global int)
|
|
0:57 move second child to first child (temp int)
|
|
0:57 'tempReturn' (global int)
|
|
0:57 Function Call: foo2(f1;vf3;i1; (global int)
|
|
0:57 Constant:
|
|
0:57 4.000000
|
|
0:57 Constant:
|
|
0:57 1.000000
|
|
0:57 2.000000
|
|
0:57 3.000000
|
|
0:57 'tempArg' (temp int)
|
|
0:57 move second child to first child (temp float)
|
|
0:57 'arg' (temp float)
|
|
0:57 Convert int to float (temp float)
|
|
0:57 'tempArg' (temp int)
|
|
0:57 'tempReturn' (global int)
|
|
0:58 add second child into first child (temp int)
|
|
0:58 'color' (temp int)
|
|
0:58 Convert float to int (temp int)
|
|
0:58 add (temp float)
|
|
0:58 'ret' (temp float)
|
|
0:58 'arg' (temp float)
|
|
0:60 add second child into first child (temp int)
|
|
0:60 'color' (temp int)
|
|
0:60 Function Call: foo3( (global int)
|
|
0:62 move second child to first child (temp 4-component vector of float)
|
|
0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
|
|
0:62 Construct vec4 (temp 4-component vector of float)
|
|
0:62 Convert int to float (temp float)
|
|
0:62 'color' (temp int)
|
|
0:66 Function Definition: aggCall( (global void)
|
|
0:66 Function Parameters:
|
|
0:? Sequence
|
|
0:69 Function Call: m(vf2; (global 3-component vector of float)
|
|
0:69 Convert int to float (temp 2-component vector of float)
|
|
0:69 Construct ivec2 (temp 2-component vector of int)
|
|
0:69 Convert float to int (temp int)
|
|
0:69 'F' (temp float)
|
|
0:72 Function Definition: badConv( (global 4-component vector of float)
|
|
0:72 Function Parameters:
|
|
0:74 Sequence
|
|
0:74 Branch: Return with expression
|
|
0:74 'u' (uniform float)
|
|
0:? Linker Objects
|
|
0:? 'u' (uniform float)
|
|
|