|
ddb6e8e3
|
2012-04-25T00:48:13
|
|
Stop using unsafe sprintf method.
ISSUE=308
Signed-off-by: Kenneth Russell
Author: David Kilzer
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1052 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
28182485
|
2012-04-24T23:07:34
|
|
Drastically simplified Input class. Now most of the heavy lifting is done by in-built yy_scan_string and yy_scan_bytes. Comment handling will be done by the lexer.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1051 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d08bb0cc
|
2012-04-23T19:27:13
|
|
The default implementation in flex only handles LF characters. GLSL supports all three newline characters - LF, CR, and CR+LF. Use a custom newline handler.
Review URL: https://codereview.appspot.com/6105045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1049 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
036a7356
|
2012-04-20T22:34:53
|
|
Do not return newline and number sign. They are for internal purposes only.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1048 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
78a35198
|
2012-04-19T17:16:26
|
|
Added a catch-rule for invalid numbers.
Note that we do not need such a rule for identifiers because they will always be either terminated by a space, a punctuator, or an invalid character. Space and punctuator are both valid cases. The invalid character will be caught by another rule specifically for invalid characters. I will cover this case when I add tests for valid character set.
Review URL: https://codereview.appspot.com/5978048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1047 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
aeba7b89
|
2012-04-17T23:25:10
|
|
Build fix for chromeos.
BUG=
TEST=chromeos bots compile when we roll ANGLE
TBR=alokp
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1046 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
571fe348
|
2012-04-17T17:40:29
|
|
Don't append '_' to the end of prefix in long name mapping if the original name starts with '_'
Otherwise we will have '__' which is illegal.
Review URL: https://codereview.appspot.com/5978058
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1044 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e63436b9
|
2012-04-13T22:51:42
|
|
Handle hex int constant in preprocessor
The patch is provided by jdashg and committed by zmo.
(see angle issue 178)
ANGLEBUG=178
TEST=shader-with-hex-int-constant-macro.html
TBR=zmo
Review URL: https://codereview.appspot.com/6037044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1041 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
320c5d7f
|
2012-04-13T21:32:35
|
|
Minor formatting change in pp.l.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1039 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
763d0fb9
|
2012-04-13T21:27:06
|
|
Fixed compile error in lexer_glue.cpp.
TBR=zmo@chromium.org
Review URL: https://codereview.appspot.com/6035044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1038 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d089d118
|
2012-04-13T17:05:12
|
|
Removed unnecessary includion of Token.h in various files.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1037 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5e75f344
|
2012-04-12T23:47:10
|
|
Mac/Linux build fix.
BUG=
TEST=compile fine
TBR=alokp
Review URL: https://codereview.appspot.com/6013048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1035 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
57442b11
|
2012-04-12T23:09:59
|
|
Update emulated functions.
It turns out there are bugs in our tests, so kbr fixed them a while ago. Now we had another look at the tests, and it turned out some functions we don't have emulate, and some functions we need to also emulate in fragment shaders.
BUG=
TEST=
R=kbr
Review URL: https://codereview.appspot.com/6011056
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1034 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
14e966b2
|
2012-04-12T20:57:53
|
|
Modified the interface of Preprocessor. Added it to the build file. Lexer changes to record leading space.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1033 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
40da4c53
|
2012-04-12T05:23:19
|
|
Added HAS_LEADING_SPACE flag to pp::Token. Split the new preprocessor into a separate target.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1032 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
beadd5d2
|
2012-04-12T02:35:31
|
|
Update reserved keywords.
TRAC #20514
ISSUE=317
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1031 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b7ad052f
|
2012-04-11T20:55:01
|
|
Fix a few compilation warning/errors on Linux/Mac.
Review URL: https://codereview.appspot.com/6009045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1030 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2e793f0f
|
2012-04-11T19:41:35
|
|
Decorate (and undecorate) struct fields too (when not built-in).
Trac #20510
Issue=316,317
Authored-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1027 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bac1aa1c
|
2012-04-05T17:06:55
|
|
Removed the unnecessary usage of InputSrc::getch and InputSrc::ungetch when handling pragma. These functions are not supported by the new lexer.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1020 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
408c45e7
|
2012-04-05T15:54:43
|
|
Added an alternate lexer for the existing preprocessor. It is still behind a compile-time flag.
Review URL: https://codereview.appspot.com/5976072
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1019 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
978702d8
|
2012-04-04T15:05:58
|
|
Return a sequence when optimizing constant conditions so that brackets will be added to the HLSL output.
TRAC #20052
ISSUE=252
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1016 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ff6a0a5c
|
2012-04-03T21:03:02
|
|
Fixed line number reporting. Each newline was being counted twice.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1015 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3f990c4a
|
2012-04-03T19:50:35
|
|
Added lexer rules for operators.
Review URL: https://codereview.appspot.com/5966072
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1014 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4b2a522a
|
2012-04-03T17:19:42
|
|
Punted on bison parser. It was turning out to be more complicated than necessary. Manual parsing combined with a flex lexer is easier.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1012 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
01fd431c
|
2012-03-30T21:33:30
|
|
More prep work for macro expansion. Off-loaded lexing from Context class to a new Lexer class.
Review URL: https://codereview.appspot.com/5059048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1011 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
43affc5e
|
2012-03-28T14:55:39
|
|
Selection nodes are temporaries.
Issue=156
TRAC #16816
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1010 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ed2180dc
|
2012-03-26T17:08:54
|
|
Fix comma operator precedence.
TRAC #20059
ISSUE=290
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1009 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
73536984
|
2012-03-21T20:45:49
|
|
Fixed missing semicolon for do-while.
TRAC #20055
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1007 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
43eecdc1
|
2012-03-20T20:10:33
|
|
Avoid adding duplicate struct constructors.
TRAC #20057
ISSUE=285
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1006 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5dd6d09f
|
2012-03-20T20:10:28
|
|
The function parameters and function body belong to the same scope.
TRAC #20056
ISSUE=256
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1005 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ab8ca191
|
2012-03-20T20:10:24
|
|
Define constructors for structures defined in argument lists.
TRAC #20056
ISSUE=256
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1004 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
eec8efc3
|
2012-03-09T21:57:49
|
|
Detect when declaring previously undeclared variables as invariant, and avoid using an uninitialized type.
TRAC #20042
ISSUE=241
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1002 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
83dc5a78
|
2012-03-09T21:57:07
|
|
Start a new scope for conditional statements even when there are no curly brackets. Also fix the DO WHILE grammar.
TRAC #20052
ISSUE=252,255
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1001 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
05bc204e
|
2012-03-09T21:56:58
|
|
Regenerate the parser using Bison 2.4.2.
TRAC #20052
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1000 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2a073de7
|
2012-03-09T21:56:43
|
|
Limit HLSL loop scope to match that of GLSL.
TRAC #19197
ISSUE=260
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@999 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
35342dc4
|
2012-02-28T02:01:22
|
|
Provide multi-dimensional atan intrinsics.
TRAC #19989
Issue=302
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@996 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9c3a393d
|
2012-01-30T20:03:32
|
|
Enabled MSVC warning 4389 : signed/unsigned mismatch.
I also fixed Config.cpp so it compiles without the warning.
This is because this is now a warning as error in Chromium.
Review URL: https://codereview.appspot.com/5600047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@980 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
26f6e5d8
|
2012-01-27T22:57:16
|
|
Added missing printf format type.
%z was actually just a modifier.
Review URL: https://codereview.appspot.com/5569082
git-svn-id: https://angleproject.googlecode.com/svn/trunk@979 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e4319635
|
2012-01-27T22:13:17
|
|
Fix printf format specifier in PoolAlloc.cpp.
%Iu is used for size_t printf arguments in MSVC. The GCC equivalent is %z. MSVC does not support %z though.
Review URL: https://codereview.appspot.com/5578050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@977 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c742fca5
|
2012-01-27T02:01:32
|
|
Fix warning in PoolAlloc.cpp.
Use "I" instead of "l" as printf type prefix for size_t.
Review URL: https://codereview.appspot.com/5572071
git-svn-id: https://angleproject.googlecode.com/svn/trunk@966 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e057c5dd
|
2012-01-26T19:18:24
|
|
Fixed more warnings.
Clang warns about missing case in enum glslang_lex.cpp so I disabled that one as well.
MSVC, as Chromium is built at least, warns about things in its own STL headers in SymbolTable.cpp so disabled the warning for that file.
esTransform.c had a struct that the compiler could not determine was initialized so I explicitly initialized it.
Review URL: https://codereview.appspot.com/5577048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@965 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a1d8059d
|
2012-01-25T21:52:10
|
|
Increase MSVC warning level to 4.
There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings.
In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code.
There should be no functional changes in this patch.
Review URL: https://codereview.appspot.com/5570066
git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
536888b8
|
2012-01-25T02:10:25
|
|
Explicitly disable warnings for auto-generated files.
I think this is better than modifying the auto-generated files.
Review URL: https://codereview.appspot.com/5569058
git-svn-id: https://angleproject.googlecode.com/svn/trunk@963 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f3c92311
|
2012-01-25T00:51:19
|
|
Fix remaining compiler warnings in translator_common.
One MSVC warning and one GCC warning.
I also added a variable to build_angle.gyp that will enforce various rules not normally applied to third party software when built as part of chromium.
Review URL: https://codereview.appspot.com/5570061
git-svn-id: https://angleproject.googlecode.com/svn/trunk@962 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9dc0a247
|
2012-01-24T21:45:37
|
|
Enable warnings as errors.
I didn't do it for translator_common though because it contains automatically generated code.
This is improve the signal to noise ratio in the chromium build logs.
Review URL: https://codereview.appspot.com/5572055
git-svn-id: https://angleproject.googlecode.com/svn/trunk@960 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7e84fd68
|
2012-01-24T21:44:39
|
|
Fix MSVC warning in DetectRecursion.cpp.
In preparation for turning on warnings as errors.
Review URL: https://codereview.appspot.com/5564053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@959 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
77b95e1c
|
2012-01-23T17:09:06
|
|
Detect GNU Hurd and Debian kFreeBSD as ANGLE_OS_POSIX
See https://bugzilla.mozilla.org/show_bug.cgi?id=711353
Patch by Mike Hommey
git-svn-id: https://angleproject.googlecode.com/svn/trunk@954 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b9f64aae
|
2012-01-20T00:35:15
|
|
Use a global ref-counted singleton for long name map.
This makes sure the same varying/uniform variables maps to the unique name in vertex/fragment shader.
BUG=
TEST=webgl conformance tests
Review URL: https://codereview.appspot.com/5556065
git-svn-id: https://angleproject.googlecode.com/svn/trunk@950 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9996b8e6
|
2012-01-19T01:43:55
|
|
Rollback r942.
MapLongVariableNames inherits from TIntermTraverser, and TIntermTraverser uses ANGLE's memory allocator, thus the memory is released per compilation. Our design is for MapLongVariableNames to be a singleton across all compilations, thus, this is not working.
BUG=
TEST=
TBR=kbr
Review URL: https://codereview.appspot.com/5556053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@949 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6575602e
|
2012-01-17T21:45:38
|
|
Finished off the GLSL compiler's support for parsing shaders using OES_EGL_image_external.
The GLSL to HLSL translator work is not done yet so the extension is disabled in Shader.cpp.
Review URL: https://codereview.appspot.com/5530081
git-svn-id: https://angleproject.googlecode.com/svn/trunk@946 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4625d27b
|
2012-01-13T00:29:21
|
|
Long name mapping needs to be consistent between vertex/fragment shaders.
For example: varying variables, uniforms.
This CL makes MapLongVariableNames a ref-counted singleton and therefore, the map is shared by all shaders.
Also, function/variable names changes from Varying to Global because uniforms also need to be consistent, not just varying variables.
ANGLEBUG=279
TEST=webgl conformance tests, especially invalid-passed-params.html and glsl-long-variable-names.html
Review URL: http://codereview.appspot.com/5539046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@942 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
89c9813b
|
2012-01-06T02:17:03
|
|
Fix a bug in long variable name mapping.
Originally we only match varying variables in vertex/fragment shaders. However, we should also match uniform names. For example, if a uniform variable name is used in both vertex and fragment shader, and after mapping the names are different, then the name mapping table is no longer 1:1.
BUG=106638 (crbug)
TEST=http://seanseefried.com/chrome-bug/simple-broken.html shows a magenta square
Review URL: http://codereview.appspot.com/5520051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@939 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9a4d112c
|
2012-01-05T20:06:28
|
|
Fix off-by-one error in enforcement of WebGL's maximum struct nesting.
BUG=http://code.google.com/p/angleproject/issues/detail?id=275
TEST=WebGL conformance suite
TBR=nicolas
Review URL: http://codereview.appspot.com/5520049
git-svn-id: https://angleproject.googlecode.com/svn/trunk@938 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d9a54f98
|
2011-12-22T18:32:53
|
|
Fixed gl_FragCoord.y calculation
TRAC #19349
ANGLEBUG=272
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@925 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
93563fcf
|
2011-12-13T18:18:04
|
|
(Landing this on behalf of groby@chromium.org. Review the CL at http://codereview.appspot.com/5482053/)
Fix issue-242 (failure to compile any shader using cos() with
SH_EMULATE_BUILT_IN_FUNCTIONS)
ANGLEBUG=242
git-svn-id: https://angleproject.googlecode.com/svn/trunk@910 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
67d72526
|
2011-11-29T17:23:51
|
|
Checks parameters of matrices for under-fullness in shader constructor check.
TRAC #18906
Issue=218
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@898 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4229f59f
|
2011-11-24T22:34:04
|
|
Fix HLSL translation for mod(vec2,vec2)
ANGLEBUG=258
Signed-off-by: Daniel Koch
Signed-off-by: Nicolas Capens
Author: Sam Hocevar
git-svn-id: https://angleproject.googlecode.com/svn/trunk@890 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
205fef33
|
2011-11-22T20:50:02
|
|
Added support for GL_ARB_texture_rectangle to shader validator.
Parser was regenerated with the flex/bison shipped with Ubuntu 10.04.
BUG=251
TEST=tested with new Core Animation plugin rendering path on Mac OS X
Review URL: http://codereview.appspot.com/5432044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@888 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1625d7d4
|
2011-11-14T21:15:39
|
|
Fixed the incorrect TQualifier on gl_FragData.
Signed-off-by: Daniel Koch
Author: Mark Callow
git-svn-id: https://angleproject.googlecode.com/svn/trunk@879 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
476541f6
|
2011-10-27T21:14:51
|
|
Implemented new restrictions on nesting of structs in WebGL shaders.
Added previously missing check for embedded structs; even though these
attempts would be caught by an underlying GLSL compiler, the shader
validator should not let them through.
BUG=http://code.google.com/p/angleproject/issues/detail?id=235
TEST=WebGL conformance tests
Review URL: http://codereview.appspot.com/5327046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@809 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
22152117
|
2011-10-26T01:18:28
|
|
Limit copied uniform and vertex attribute names to the implicit size of the
buffers passed in. Increase the size of the buffer the client will allocate
for mapped names to be equal to the maximum token length.
BUG=http://code.google.com/p/angleproject/issues/detail?id=234
TEST=WebGL conformance test to be checked in soon
Review URL: http://codereview.appspot.com/5306063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@804 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a033e02d
|
2011-10-19T13:29:32
|
|
VC11 fails to build angle because oppl_allocator::operator= does not exist
ANGLEBUG=229
Signed-off-by: Nicolas Capens
Author: Ehsan Akhgari
git-svn-id: https://angleproject.googlecode.com/svn/trunk@798 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a9ae4aa9
|
2011-10-19T13:29:27
|
|
Fix for bogus "Bad aggregation op" error when dumping intermediate tree
Bug=228
Author: Mark Callow
git-svn-id: https://angleproject.googlecode.com/svn/trunk@797 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ccb38417
|
2011-10-04T18:43:40
|
|
Support multiple nested ternary operators per statement
TRAC #18382
ANGLEBUG=203,208
Signed-off-by: Daniel Koch
Author: Nicolas Capens
- by incrementing the temporary index, adding 1 for every nesting level, and rewinding it after each traverse.
Also fixed multiple ternary operator unfolding for loops.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@784 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c0d73ed8
|
2011-10-04T18:43:30
|
|
Use a different name for ternary operator unfolding temporaries, to avoid clashes with T x = x handling.
TRAC #18382
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@783 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
46974d29
|
2011-09-27T21:26:19
|
|
Fix memory corruption in ANGLE shader translator.
The bug is that within each compilation cycle, all the memory allocated through T* types are freed to be reused. So if certain information is meant to outlive the cycle, it should use the std type instead of the T* type:
1) emulated function vector
2) mapped long names map
BUG=none
TEST=webgl conformance test conformance/glsl/glsl-feature-mod-gentype.html does not crash in Win Debug.
Review URL: http://codereview.appspot.com/5137047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@773 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
55d48c74
|
2011-09-26T18:24:36
|
|
Create structure definitions for structures in a return statement.
TRAC #18319
ANGLEBUG=185
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@766 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7fb81e83
|
2011-09-23T18:20:46
|
|
Fix single statement loops.
TRAC #18301
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@765 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
51db7fb1
|
2011-09-20T16:11:06
|
|
Optimize string comparisons by avoiding the creation of temporary substrings.
TRAC #16567
Bug=136
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@761 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c72c6416
|
2011-09-20T16:09:17
|
|
Decorate arrays uniforms with "ar_" to identify arrays of size 1.
TRAC #16567
Bug=136
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@760 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a3b4ab4c
|
2011-09-16T00:53:26
|
|
Further work on the function emulation.
This is to work around driver bugs. We added more functions, and removed some unnecessary ones. Remove the function group because we have flags for each function now. Use more macros instead of functions. Don't emit global precision because that will affect all later code.
ANGLEBUG=196
TEST=build and test on Mac ATI/NVIDIA, fixes the failing webgl glsl conformance tests.
Review URL: http://codereview.appspot.com/5011053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@754 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
74a46a5c
|
2011-09-15T18:47:53
|
|
Recognize ANDROID as a POSIX OS
BUG=207
Review URL: http://codereview.appspot.com/5016050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@753 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
16efbbae
|
2011-09-13T04:10:41
|
|
Complete implementation for handling #define directive.
Review URL: http://codereview.appspot.com/4963062
git-svn-id: https://angleproject.googlecode.com/svn/trunk@752 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f420c424
|
2011-09-12T18:27:59
|
|
Add/remove more functions to use shims.
Remove normalize and add cos instead to avoid a crash in Mac with ATI cards (angle bug 193, 202).
Also add atan and mod as it's also buggy on Mac/Win with NVIDIA cards.
Also, trying to minimize emulated functions by adding masks for fragment/vertex shaders.
ANGLEBUG=196
Review URL: http://codereview.appspot.com/4992047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@748 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f5450910
|
2011-09-09T01:37:19
|
|
Fix extension behavior in shader validation.
If an extension is not specified, it is disabled by default, thus a shader should fail compiling if features from that extension are used.
ANGLEBUG=204
TEST=webgl conformance/extensions/oes-standard-derivatives.html
Review URL: http://codereview.appspot.com/4974071
git-svn-id: https://angleproject.googlecode.com/svn/trunk@745 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3a01d1bc
|
2011-08-30T05:10:53
|
|
Preparation for macro expansion.
Review URL: http://codereview.appspot.com/4919045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@741 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e4eb9911
|
2011-08-29T21:13:12
|
|
Fix a bug introduced in r738.
ANGLEBUG=201
TEST=chrome gpu bots green, no complaint from Firefox/Benoit
Review URL: http://codereview.appspot.com/4956050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@740 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
32e97315
|
2011-08-24T01:03:11
|
|
Emulate certain buil-in functions to work around driver bugs.
This is implemented by adding a new compile option SH_EMULATE_BUILT_IN_FUNCTIONS. The emulated functions are names as webgl_originalName_emu so there will never be naming conflicts.
At the moment only three functions are emulated: normalize, abs, sign. Also, the compile option will emulate all three. However, the mechanism to emulate only a selected subset is also imeplemented. It can be turned on easily.
ANGLEBUG=196
TEST=with this option, the failed test with abs.frag passes.
Review URL: http://codereview.appspot.com/4916043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@738 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b81c401d
|
2011-08-21T06:53:11
|
|
Modified Token class to store various types of data. Added debug code to dump token to an output stream.
Review URL: http://codereview.appspot.com/4920041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@737 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
71c14ff8
|
2011-08-17T20:24:24
|
|
Fix the standalone translator_common.vcproj
BUG=none
TEST=build fine with that .vcproj
TBR=daniel@transgaming.com
Review URL: http://codereview.appspot.com/4902049
git-svn-id: https://angleproject.googlecode.com/svn/trunk@735 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0c6bb7a6
|
2011-08-17T19:39:58
|
|
Add an compile option to unroll for-loops with integer indices.
ANGLEBUG=193
TEST=with this option, for-loops with integer indices will be unrolled.
Review URL: http://codereview.appspot.com/4899047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@734 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
57f7ce00
|
2011-08-15T23:13:05
|
|
Output the precision for the return type in function declarations.
Tested with GLSL ES conformance suite (which doesn't test this) and
the WebGL conformance suite, which now contains tests to ensure that
these constructs compile correctly.
Chromium bug: http://crbug.com/86952
Review URL: http://codereview.appspot.com/4897045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@731 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
75fe6b76
|
2011-08-14T05:31:22
|
|
General cleanup of compiler directory and ParseHelper.
Review URL: http://codereview.appspot.com/4801084
git-svn-id: https://angleproject.googlecode.com/svn/trunk@730 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
09c323a4
|
2011-08-12T18:22:25
|
|
Add an option to support for GL_OES_EGL_image_external.
Comes with this extension is the new sampler type samplerExternalOES.
ANGLEBUG=175
TEST=compile the attached shader file
Review URL: http://codereview.appspot.com/4809076
git-svn-id: https://angleproject.googlecode.com/svn/trunk@728 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4e4b807d
|
2011-08-07T05:36:04
|
|
Beginnings of a new preprocessor.
Review URL: http://codereview.appspot.com/4830050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@718 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5a0a8dd3
|
2011-08-03T20:57:52
|
|
Remove unnecessary Visit function overloading.
BUG=none
TEST=build ok, run as before
Review URL: http://codereview.appspot.com/4814063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@715 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
651abd8d
|
2011-08-02T15:29:03
|
|
Fixed standalone visual studio projects by adding DetectRecursion files.
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@713 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b1762df4
|
2011-07-30T02:04:23
|
|
Detect function recursion and reject a shader if detected.
ANGLEBUG=191
TEST=shaders with function recursion are rejected.
Review URL: http://codereview.appspot.com/4808061
git-svn-id: https://angleproject.googlecode.com/svn/trunk@711 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0f87e7fd
|
2011-06-24T14:03:32
|
|
Fix GrowAtomTable() on out-of-memory.
Issue=173
Signed-off-by: Daniel Koch
Author: Benoit Jacob
git-svn-id: https://angleproject.googlecode.com/svn/trunk@699 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5bf210b2
|
2011-06-21T14:22:03
|
|
Add x86-64 project settings.
Bug=55
TRAC #15606
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@698 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
216aa5ed
|
2011-06-17T22:31:32
|
|
Map long for-loop control variable names in shaders.
Look at TIntermLoop::traverse() in IntermTraverse.cpp, the control init part is not handled explicitly there (unlike the other two parts). It is expected hat visitLoop will cover the init part. The bug in the MapLongVariableNames is that the visitLoop doesn't do anything. This CL fixes it.
BUG=171
TEST=conformance/glsl-long-variable-names.html passing.
Review URL: http://codereview.appspot.com/4644045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@696 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
dc4b4f85
|
2011-06-17T00:42:53
|
|
Always emit precision in shader variable declarations.
After the shader compile (and before code output), the precision scopes are already lost. In order to correctly output precisions, we need to emit precision in each variable declaration, therefore, each variable should have its precision set. This CL fixes the bugs that the precisions are lost for variables using default precsions and struct fields. Also, this CL fixes a bug in the grammar: constructors are not type_specifier and they shouldn't have precisions.
BUG=168
TEST=webgl conformance tests, gles2 conformance tests.
Review URL: http://codereview.appspot.com/4617041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@695 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
189be2f1
|
2011-06-16T18:28:53
|
|
Emit precisions in function arguments and return type for GLES2.
BUG=none
TEST=Translator with GLES2 output backend emit precisions for function arguments and return type.
Review URL: http://codereview.appspot.com/4643042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@694 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5601ea0d
|
2011-06-10T18:23:25
|
|
Implement ES2 backend for Angle translator.
With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL.
Note that we always emit the highest supported float precision for fragment shader due to anglebug 168. Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision.
Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc.
anglebug=81
test=translator emitting correct GLSL ES code when ES2 backend is selected.
Review URL: http://codereview.appspot.com/4550129
git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8ab69840
|
2011-06-02T21:53:45
|
|
Insert a new-line ('\n') before the #line directive in HLSL source.
Without this, sometimes the #line directive shows up at the end of
the previous line of shader source. This was causing syntax errors
when trying to compile shaders during a PIX session.
Review URL: http://codereview.appspot.com/4561059
git-svn-id: https://angleproject.googlecode.com/svn/trunk@667 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
04277b82
|
2011-06-02T18:41:26
|
|
Generate an error in the parser for unsized array declarations.
BUG=164
TEST=none
Review URL: http://codereview.appspot.com/4539101
git-svn-id: https://angleproject.googlecode.com/svn/trunk@666 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
24c08c4e
|
2011-05-27T17:40:48
|
|
Fix the bug that long varying varibales are mapped into different names in fragment/vertex shaders.
ANGLEBUG=144
TEST=the same long varying variable name in fragment/vertex shaders map to the same shortened name if using the same translator.
Review URL: http://codereview.appspot.com/4547063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@660 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5cb728c5
|
2011-05-17T18:34:24
|
|
Add missing newlines to source files
Issue=154
git-svn-id: https://angleproject.googlecode.com/svn/trunk@653 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
424bb49d
|
2011-05-11T15:36:59
|
|
Validate shaders so they don't exceed the texture unit counts.
Issue=95
TRAC #16568
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@641 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
15795192
|
2011-05-11T15:36:20
|
|
Translate vertex texture lookup functions.
Issue=95
TRAC #16568
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@635 736b8ea6-26fd-11df-bfd4-992fa37f6226
|