src/compiler


Log

Author Commit Date CI Message
jacob.benoit.1@gmail.com fdeb2547 2012-10-26T19:53:10 Issue 354: remove ANGLE_USE_NSPR (revert r454) git-svn-id: https://angleproject.googlecode.com/svn/trunk@1327 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b401a92b 2012-10-26T18:58:24 Move the new preprocessor out of the 'new' directory. TRAC #21966 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1326 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3be1d571 2012-10-26T18:58:16 Removed the old preprocessor source, interface and license. TRAC #21966 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1325 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a646c916 2012-10-26T18:58:12 Removed the compile flag to select between preprocessors, always using the new one. TRAC #21966 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1324 736b8ea6-26fd-11df-bfd4-992fa37f6226
gman@chromium.org 8d804799 2012-10-17T21:33:48 Add Variable Packing checks to ANGLE BUG=373 TEST=unit tests git-svn-id: https://angleproject.googlecode.com/svn/trunk@1317 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e5bb409 2012-10-17T18:24:53 Also prototype the Lod0 function variant if needed. TRAC #21842 Issue=374 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1307 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c60c15c0 2012-10-17T18:15:14 Add filter files for VS2010 Solution browser Trac #21647 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1300 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2187b4a3 2012-10-17T18:12:07 Delete old .vcproj files that were replaced by .vcxproj files Trac #21647 Signed-off-by: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1298 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d99f9a45 2012-10-17T18:11:55 Adjust dependencies for samples Trac #21647 Signed-off-by: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1296 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e9b408bf 2012-10-17T18:11:40 Add auto converted .vxcproj files for VC++ 2010 Express Trac #21647 Signed-off-by: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1295 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8abd0b79 2012-09-27T17:46:07 Generate a more descriptive error when trying to initialize a const array. TRAC #21589 Issue=359 Signed-off-by: Daniel Koch Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1286 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 8d47c114 2012-09-06T16:03:23 Emit "#version 120" if the shader has array as out parameter. Review URL: https://codereview.appspot.com/6494082 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1273 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com a6e9428a 2012-08-27T20:46:41 Avoid storing references to temporary strings in RenameFunction Issue=360 Review URL: https://codereview.appspot.com/6483045/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1266 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org ab8c026f 2012-08-13T17:36:25 Shader translator converted single-element vector swizzle to direct index access. It is not wrong, but unnecessary and moreover it triggers a MESA optimizer bug. Review URL: https://codereview.appspot.com/6460074 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1246 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 433f4aaa 2012-07-18T17:29:52 Fix always true condition in assert in MacroExpander.cpp. Issue: 349 Review URL: https://codereview.appspot.com/6420046/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1228 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 6c0c2d87 2012-07-18T15:49:56 Do not call MacroExpander::popMacro() from MacroExpander::~MacroExpander(). MacroExpander::popMacro() assumes that the macro being popped has been fully parsed. This may not be true for MacroExpander destructor which may get called anytime the compiler decides to abort the compilation process. This patch just deletes the macro-contexts pushed in the stack without validating the parse state of current macro. BUG=348 Review URL: https://codereview.appspot.com/6415043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1227 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com e640ef8e 2012-07-13T18:42:40 Make the new preprocessor backwards compatible with Bison 2.3 Review URL: http://codereview.appspot.com/6356098/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1224 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com d91a0e99 2012-07-13T17:32:57 Recognize QNX as POSIX. Review URL: https://codereview.appspot.com/6353097/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1223 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org dd8e4aa4 2012-07-12T01:33:10 Fix vertex texture fetch. The texture v coordinate was still being flipped. Fixes http://code.google.com/p/chromium/issues/detail?id=136650. Review URL: https://codereview.appspot.com/6345095 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1214 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2fe20a86 2012-07-11T20:37:41 Don't set the Break flag on the last loop fragment. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1213 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5b60f5eb 2012-07-11T20:37:38 Don't check for Break on the first loop fragment. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1212 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 8c77f854 2012-07-11T20:37:35 Indicate breaking out of an excessive loop using the loop index name. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1211 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e9b3f60a 2012-07-11T20:37:31 Keep track of the index name of excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1210 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0933b0cc 2012-07-11T20:37:28 Use a single index for excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1209 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c264de47 2012-07-11T20:37:25 Limit HLSL loop scope to match that of GLSL, for excessive loops. TRAC #21167 ISSUE=338 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1208 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a8833e91 2012-07-11T20:37:16 Disallow redefinition of built-in functions. TRAC #21173 Issue=343 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1206 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org fc0543f4 2012-07-11T20:31:02 This patch reverts r1203, but in slightly different way. It seems there is a problem with the config of memory bots. The usage of std::locale in ANGLE is fine. Review URL: https://codereview.appspot.com/6392052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1205 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 39a94266 2012-07-10T23:30:30 Reconstructed preprocessor.vcproj from libGLESv2.vcproj. There was something different about the project properties in release builds that caused std::vector to have different member variable offsets, leading to the samples crashing in Release builds. Removed stuff that was specific to libGLESv2.vcproj. Project now builds in all configs including x64. Review URL: https://codereview.appspot.com/6374050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1204 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 828ec8fa 2012-07-10T17:50:12 Builds for chrome memroy bots (windows only) do not link due to the usage of std::locale, the reason for which is still unknown. This patch avoids the usage of std::locale, while still enforcing "C" locale and checking for overflow. Review URL: https://codereview.appspot.com/6392046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1203 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 68b3e91c 2012-07-09T18:39:32 Fixed link error on GCC and clang. They complain about missing symbols even when those symbols are not used. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1196 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org c0a1eb3c 2012-07-09T18:27:04 Fixed compile error on android. It was complaining about tolower. This patch removes the usage of tolower, and adds tests for checking both versions of hexadecimal integers - 0x and 0X. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1195 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org f099dfdb 2012-07-09T17:48:10 Enable the new preprocessor. Passes all unit-tests and WebGL conformance tests! Review URL: https://codereview.appspot.com/6357055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1194 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org c022c3af 2012-07-09T15:56:42 WebGL spec specifies maximum length of all types of tokens - not just identifier tokens. And it also means preprocessing-tokens, not compiler tokens. Note that this implies that non-compliant tokens even inside excluded #if blocks will trigger error. TODO: This behavior should be implemented as a preprocessor option, so that a GLES2 compiler can choose to disable it. Review URL: https://codereview.appspot.com/6355066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1193 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org d35efdf5 2012-07-03T19:33:10 Restricted the length of identifiers (including #define directive) to 256, as required by webgl spec. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1186 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 390209ae 2012-07-03T16:12:48 Lowered the severity of EOF_IN_DIRECTIVE from an ERROR to WARNING. There are just too many shaders on internet (including webgl conformance test) that do not have a newline at the end of directives, especially #endif. Review URL: https://codereview.appspot.com/6352059 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1185 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org d0d9f87a 2012-07-03T16:06:40 Make sure that #version occurs before anything else, except for comments and white space. Review URL: https://codereview.appspot.com/6348056 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1184 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 2e81891c 2012-06-29T21:26:03 Handled the case where int and float are of correct format, but large. The GLSL spec is not very clear on how integers should be interpreted for expressions. C99 says the expression is of type intmax_t. I am parsing all integers as int except those in expressions, which are being parsed as unsigned int. Review URL: https://codereview.appspot.com/6351051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1179 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 6b495719 2012-06-29T00:06:58 Moved error-counting to Diagnostics so that errors generated during preprocessing is included in the count. Enabled logging of preprocessor diagnostics into info-log. Review URL: https://codereview.appspot.com/6354047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1177 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org f115592d 2012-06-28T23:34:30 Used std::ostringstream instead of std::stringstream wherever applicable. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1176 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 5b6a68e0 2012-06-28T20:29:13 Replaced pp::Token::value with pp::Token::text. The term value will be used for a function which will convert text to integer/float constant. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1175 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com c6b3b3c7 2012-06-27T22:49:39 Fix the compiler warnings on WebKit ports when updating ANGLE in WebKit. Remove the varargs used for extra info formatting in the error() and warning() methods of ParseHelper. Use std::stringstream for formatting instead. Review URL: http://codereview.appspot.com/6310067/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1170 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 432d6fc4 2012-06-27T22:13:21 Introduced preprocessing token types. This fixes a bug where invalid tokens inside excluded conditional block may report diagnostics. Now we let the invalid tokens to bubble through the preprocessor so that they have chance to be skipped. Review URL: https://codereview.appspot.com/6356045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1169 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org d39ec4c1 2012-06-26T04:37:55 Implemented conditional processing. Review URL: https://codereview.appspot.com/6333046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1168 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 8b8f02dc 2012-06-25T20:39:58 [SH_TIMING_RESTRICTIONS] Restrict sampler dependent values from the tex coord and bias parameters of all sampling operations, not just texture2D. Issue: 335 Review URL: https://codereview.appspot.com/6305049/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1167 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9616e583 2012-06-22T18:27:01 Merge no-flip-rows r1142 to trunk. Review URL: https://codereview.appspot.com/6304052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1162 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org e6357c0e 2012-06-19T20:24:23 Added x64 config to preprocessor.vcproj. Review URL: https://codereview.appspot.com/6295105 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1161 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org e3043b14 2012-06-19T19:40:52 Fixed compile error in the new preprocessor due to the change Preprocessor::predefineMacro() interface. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1160 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org b197c885 2012-06-19T18:53:39 Fixed build for manually-maintained vcproj files. Review URL: https://codereview.appspot.com/6297103 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1159 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 73bc298e 2012-06-19T18:48:05 Hooked up the new preprocessor behind a compile-time flag ANGLE_USE_NEW_PREPROCESSOR. Review URL: https://codereview.appspot.com/6304095 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1158 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org f3cdb460 2012-06-19T18:39:48 Added support for pre-defined macros. Review URL: https://codereview.appspot.com/6301084 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1157 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 999f0ff6 2012-06-16T02:45:24 Removed static destructors in DependencyGraphBuilder. Review URL: https://codereview.appspot.com/6296079/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1154 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 646ea1ec 2012-06-15T17:36:31 Fixed compile error for translator_hlsl. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1153 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 0c1f5942 2012-06-15T16:33:41 Fixed compile error on linux. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1152 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org a19572ce 2012-06-15T16:30:08 Fixed compile error on linux. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1151 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 8b851c6d 2012-06-15T16:25:11 Preparation of hooking up the new preprocessor. - Added custom Diagnostics class. Routed all info-log messages via this new class. - Added custom DirectiveHandler class. Moved directive-handling code to this class and routed the old path. - Deleted lexer_glue because it is not needed anymore. The new preprocessor is almost ready! - Killed a bunch of dead code related to PragmaTable. Review URL: https://codereview.appspot.com/6308074 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1150 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 46aa13d8 2012-06-15T15:40:27 Implemented line directive. Review URL: https://codereview.appspot.com/6307083 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1149 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 7fc38ddd 2012-06-14T18:23:23 Implemented macro expansion. Review URL: https://codereview.appspot.com/6303052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1148 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 69ab2993 2012-06-13T15:42:30 Remove an unused variable from readCPPline() This causes problems with -Wunused-but-set-variable in GCC 4.6. Review: http://codereview.appspot.com/6296o59/ Author: Steve Block git-svn-id: https://angleproject.googlecode.com/svn/trunk@1147 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 430f5e0c 2012-06-08T17:47:59 Add the SH_CSS_SHADERS_SPEC flag. Review URL: https://codereview.appspot.com/6270050/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1145 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 77222c97 2012-06-04T21:06:05 Apply SH_TIMING_RESTRICTIONS to all samplers. Issue: 332 Review URL: https://codereview.appspot.com/6273044/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1131 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ecdf44a8 2012-06-01T01:45:15 Generate Lod0 functions even if they don't contain gradients, so we can call them from discontinuous loops. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1128 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 679280b2 2012-05-31T22:41:21 Fix gyp build and disable warning that is an error in Chrome. Review URL: https://codereview.appspot.com/6260063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1127 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 19d7aa60 2012-05-31T17:34:05 Fixed the location of EOF token. Added three new location tests for EOF. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1125 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ddbb45d6 2012-05-31T01:21:41 Return 0 for dFdx, dFdy and fwidth for discontinuous arguments. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1124 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e11100ce 2012-05-31T01:20:32 Call Lod0 functions when inside a loop with a discontinuity. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1123 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 89431aa5 2012-05-31T01:20:29 Output Lod0 copies of functions containing gradient operations when the shader contains a discontinuity. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1122 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 79744f22 2012-05-31T01:20:24 Added a traverser for detecting gradient operations. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1121 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e2095642 2012-05-31T01:20:20 Add analysis utility to detect discontinuities. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1120 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a54f5186 2012-05-31T01:20:16 Added Lod0 versions of texture sampling intrinsics. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1119 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e9704bc 2012-05-31T01:20:13 Output the complete function at once to avoid having to erase the function arguments. TRAC #20737 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1118 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 06eb0d42 2012-05-31T01:17:14 Adjust the maximum loop iterations to keep the HLSL compiler happy Trac #20913 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1117 736b8ea6-26fd-11df-bfd4-992fa37f6226
maxvujovic@gmail.com 66ebd014 2012-05-30T22:18:11 Add the SH_TIMING_RESTRICTIONS compile flag and dependency graph implementation. Description of the algorithm: http://code.google.com/p/mvujovic/wiki/ShaderControlFlowAnalysis This flag is one potential solution to timing attacks on textures containing cross-domain content or user agent data. This kind of analysis could be useful for both WebGL and CSS Shaders. The SH_TIMING_RESTRICTIONS flag will reject a shader if it uses texture dependent data to affect control flow. Other ways of affecting shader timing such as using NaNs in basic arithmetic operations or using built-in functions (e.g. atan) with different inputs are still under investigation. Issue=329 Review URL: http://codereview.appspot.com/6195062/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@1101 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 51b96855 2012-05-30T20:25:05 Fixed compile errors on linux. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1099 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org e5dfefad 2012-05-24T19:29:37 Renamed UNEXPECTED_TOKEN_IN_DIRECTIVE to UNEXPECTED_TOKEN. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1096 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 7c884540 2012-05-24T19:13:03 Implemented #extension and #version directives. Review URL: https://codereview.appspot.com/6242045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1095 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 36124de8 2012-05-24T02:17:43 Implemented #error and #pragma directives. Added new tests and updated old ones for the new preprocessor API. Review URL: https://codereview.appspot.com/6213066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1094 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 07d921de 2012-05-22T20:22:08 Token::value now contains text for all types of tokens - not just CONST_INT, CONST_FLOAT, and IDENTIFIER. This makes it easier to report diagnostics and various preprocessor directives. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1093 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
daniel@transgaming.com 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
jacob.benoit.1@gmail.com 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
alokp@chromium.org 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
alokp@chromium.org 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
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
kbr@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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
alokp@chromium.org 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