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.
241 lines
8.5 KiB
Plaintext
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})
|
|
|