glslang/Test/baseResults/functionSemantics.frag.out
John Kessenich bc17b0a96a Front-end: Add missing rule for function-return implicit type conversion check.
Basic (component) type conversion was done, but checking that the composite
was correct was not being done.

Fixes issue #353.
2016-06-28 23:56:31 -06:00

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)