glslang/Test/baseResults/100scope.vert.out
John Kessenich af459216a1 Correct precision qualification on built-in functions.
This is a replacement commit for pull request #238.

This is a design change, followed by implementation change that
A) fixes the changes caused by the design change, and
B) fixes some cases that were originally incorrect.

The design change is to not give built-in functions default precision qualification.
This is to allow the rule that the precision of some built-in functions adopt their
precision qualification from the calling arguments.  This is A above.

A consequence of this design change is that all built-ins that are supposed to have
an explicit precision qualifier must now be declared that way.  So, a lot more
built-in declarations now have precision qualifiers, just to keep things the same.
This is B above.
2016-05-03 19:34:00 -06:00

241 lines
8.5 KiB
Plaintext

100scope.vert
ERROR: 0:5: 'a' : redefinition
ERROR: 0:17: 'b' : function name is redeclaration of existing name
ERROR: 0:20: 'c' : redefinition
ERROR: 0:22: 'f' : redefinition
ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:24: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
ERROR: 0:25: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
ERROR: 0:38: 'local function declaration' : not supported with this profile: es
ERROR: 0:43: 'sin' : can't use function syntax on variable
ERROR: 0:57: 'z' : undeclared identifier
ERROR: 0:57: 'z' : redefinition
ERROR: 0:73: 'degrees' : can't use function syntax on variable
ERROR: 0:76: 'vertex-shader struct output' : not supported for this version or the enabled extensions
ERROR: 14 compilation errors. No code generated.
Shader version: 100
ERROR: node is still EOpNull!
0:3 Function Definition: f(i1;i1;i1; (global highp int)
0:3 Function Parameters:
0:3 'a' (in highp int)
0:3 'b' (in highp int)
0:3 'c' (in highp int)
0:? Sequence
0:8 Sequence
0:8 Sequence
0:8 move second child to first child (temp highp float)
0:8 'a' (temp highp float)
0:8 add (temp highp float)
0:8 Convert int to float (temp highp float)
0:8 'a' (in highp int)
0:8 Constant:
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void)
0:36 Function Parameters:
0:? Sequence
0:39 Function Call: g( (temp highp int)
0:42 'sin' (temp highp float)
0:43 Constant:
0:43 0.000000
0:44 Function Call: f(i1;i1;i1; (global highp int)
0:44 Constant:
0:44 1 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 3 (const int)
0:47 move second child to first child (temp highp float)
0:47 'f' (temp highp float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (temp highp 4-component vector of float)
0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
0:49 Construct vec4 (temp highp 4-component vector of float)
0:49 'f' (temp highp float)
0:51 Sequence
0:51 Sequence
0:51 move second child to first child (temp highp int)
0:51 'f' (temp highp int)
0:51 Constant:
0:51 0 (const int)
0:51 Loop with condition tested first
0:51 Loop Condition
0:51 Compare Less Than (temp bool)
0:51 'f' (temp highp int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (temp highp int)
0:52 'f' (temp highp int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (temp highp int)
0:51 'f' (temp highp int)
0:54 Sequence
0:54 move second child to first child (temp highp int)
0:54 'x' (temp highp int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (temp highp float)
0:56 'x' (temp highp float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (temp highp float)
0:56 'y' (temp highp float)
0:56 'x' (temp highp float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (temp highp int)
0:60 'x' (temp highp int)
0:60 'x' (temp highp int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (temp structure{temp highp int x})
0:68 'S' (temp structure{temp highp int x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (temp highp int)
0:69 'S' (temp structure{temp highp int x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 0.000000
0:? Linker Objects
0:? 'b' (global bool)
0:? 'tan' (global highp float)
0:? 's' (smooth out structure{global highp float f})
Linked vertex stage:
Shader version: 100
ERROR: node is still EOpNull!
0:3 Function Definition: f(i1;i1;i1; (global highp int)
0:3 Function Parameters:
0:3 'a' (in highp int)
0:3 'b' (in highp int)
0:3 'c' (in highp int)
0:? Sequence
0:8 Sequence
0:8 Sequence
0:8 move second child to first child (temp highp float)
0:8 'a' (temp highp float)
0:8 add (temp highp float)
0:8 Convert int to float (temp highp float)
0:8 'a' (in highp int)
0:8 Constant:
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void)
0:36 Function Parameters:
0:? Sequence
0:39 Function Call: g( (temp highp int)
0:42 'sin' (temp highp float)
0:43 Constant:
0:43 0.000000
0:44 Function Call: f(i1;i1;i1; (global highp int)
0:44 Constant:
0:44 1 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 3 (const int)
0:47 move second child to first child (temp highp float)
0:47 'f' (temp highp float)
0:47 Constant:
0:47 3.000000
0:49 move second child to first child (temp highp 4-component vector of float)
0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
0:49 Construct vec4 (temp highp 4-component vector of float)
0:49 'f' (temp highp float)
0:51 Sequence
0:51 Sequence
0:51 move second child to first child (temp highp int)
0:51 'f' (temp highp int)
0:51 Constant:
0:51 0 (const int)
0:51 Loop with condition tested first
0:51 Loop Condition
0:51 Compare Less Than (temp bool)
0:51 'f' (temp highp int)
0:51 Constant:
0:51 10 (const int)
0:51 Loop Body
0:52 Pre-Increment (temp highp int)
0:52 'f' (temp highp int)
0:51 Loop Terminal Expression
0:51 Pre-Increment (temp highp int)
0:51 'f' (temp highp int)
0:54 Sequence
0:54 move second child to first child (temp highp int)
0:54 'x' (temp highp int)
0:54 Constant:
0:54 1 (const int)
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (temp highp float)
0:56 'x' (temp highp float)
0:56 Constant:
0:56 2.000000
0:56 move second child to first child (temp highp float)
0:56 'y' (temp highp float)
0:56 'x' (temp highp float)
0:60 Sequence
0:60 Sequence
0:60 move second child to first child (temp highp int)
0:60 'x' (temp highp int)
0:60 'x' (temp highp int)
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (temp structure{temp highp int x})
0:68 'S' (temp structure{temp highp int x})
0:68 Constant:
0:68 0 (const int)
0:69 x: direct index for structure (temp highp int)
0:69 'S' (temp structure{temp highp int x})
0:69 Constant:
0:69 0 (const int)
0:73 Constant:
0:73 0.000000
0:? Linker Objects
0:? 'b' (global bool)
0:? 'tan' (global highp float)
0:? 's' (smooth out structure{global highp float f})