|
98d04ec8
|
2012-05-21T22:47:20
|
|
Implemented #define and #undef directives.
Review URL: https://codereview.appspot.com/6215072
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1092 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0eb51ac3
|
2012-05-21T21:43:57
|
|
Deleted old unused files.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1091 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
964b7194
|
2012-05-17T21:12:27
|
|
Fixed compile error in lexer_glue.cpp.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1089 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
99b5c0c9
|
2012-05-17T20:44:52
|
|
Fixed compile errors and warnings on linux.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1088 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2c958eef
|
2012-05-17T20:35:42
|
|
Moved error-handling to a separate class - Diagnostics. We were earlier returning errors as tokens which did not work very well when error occured while parsing a preprocessor directive. Now all returned tokens are valid. Errors are reported via an abstract Diagnostics interface. Updated unit-tests with the new scheme.
Review URL: https://codereview.appspot.com/6203089
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1087 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
04d7d22b
|
2012-05-16T19:24:07
|
|
Reafactored Lexer class to allow chaining. The full chain when parsing #if directive looks like this: Preprocessor -> MacroExpander -> DirectiveHandler -> MacroExpander -> DefinedFilter -> Tokenizer. This chain dynamically changes depending on the current context.
Also added an incomplete implementation of #if handling and ExpressionParser to illustrate how this design is supposed to work.
Review URL: https://codereview.appspot.com/6203060
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1084 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ac5d7f39
|
2012-05-09T15:37:04
|
|
Memory associated with allTokens is never freed due to early return in "case -1" in CPPpragma(yystypepp*) in cpp.c
ISSUE=328
Signed-off-by: Daniel Koch
Author: David Kilzer
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1072 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b45306b7
|
2012-05-07T02:12:34
|
|
Ensure that strings produced by getVariableInfo are always null-terminated
Issue 326
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1070 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
30a487c7
|
2012-05-02T17:30:46
|
|
Minor refactoring for Input class. Chnaged a raw array to std::vector.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1068 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
98eec912
|
2012-05-01T10:04:08
|
|
Using yy_scan_string, which flushes the old buffer does not work. GLSL requires that each input string is concatenated, but yy_scan_string treats each string individually. Added a custom YY_INPUT which maintains the continuity between each string.
Review URL: https://codereview.appspot.com/6130045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1066 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8b47903c
|
2012-04-29T19:50:09
|
|
Added missing files from the renaming of UnfoldSelect to UnfoldShortCircuit.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1064 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f8f8f362
|
2012-04-28T00:35:00
|
|
Renamed UnfoldSelect to UnfoldShortCircuit.
TRAC #11866
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1062 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8915eba8
|
2012-04-28T00:34:44
|
|
Implemented short-circuiting for logical OR and AND operators.
TRAC #11866
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1061 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
44fffeef
|
2012-04-28T00:34:20
|
|
Ensure that non-sequence single-statement conditional blocks and loop bodies get unfolding of short-circuiting operators.
TRAC #11866
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1060 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a11a6ab8
|
2012-04-27T10:00:38
|
|
Changes to handle comments properly and associated tests.
Review URL: https://codereview.appspot.com/6111059
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1059 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
128d9199
|
2012-04-26T22:39:21
|
|
Added tests for token location.
Review URL: https://codereview.appspot.com/6118062
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1058 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
79fb1019
|
2012-04-26T21:07:39
|
|
Ugly hack to fix compile error on windows. VC++ does not support C99 and hence snprintf.
BUG=308
Review URL: https://codereview.appspot.com/6120055
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1057 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ef1eaa04
|
2012-04-26T18:02:42
|
|
Changed Token::Location::string to Token::Location::file to keep it consistent with __FILE__ inbult macro.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1055 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
85f2b2c5
|
2012-04-25T06:06:33
|
|
Added rules for ignoring comments.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1053 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|