src/compiler/glslang_tab.cpp


Log

Author Commit Date CI Message
Nicolas Capens 2a1d8a38 2013-07-18T11:49:40 Add shadow samplers to the compiler front-end. TRAC #23394 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens aaaec130 2013-07-18T11:23:57 Eliminate isVariableBuiltIn. TRAC #21840 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens d4a9b8dd 2013-07-18T11:01:22 Detect redefinition of functions and variables. TRAC #21840 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Jamie Madill 98493ddc 2013-07-08T14:39:03 Simplified TType class by carving out TStructure and TField. R=kbr@chromium.org Review URL: https://codereview.appspot.com/9866043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2423 736b8ea6-26fd-11df-bfd4-992fa37f6226 TRAC #23415 Authored-by: alokp@chromium.org Signed-off-by: Shannon Woods Signed-off-by Nicolas Capens Merged-by: Jamie Madill
Jamie Madill 2aeb26a4 2013-07-08T14:02:55 Added support for EXT_frag_depth This change also required that support be added for associating built-in variables with an extension, similar to how functions could be associated with extensions previously. R=alokp@chromium.org Review URL: https://codereview.appspot.com/9827044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2248 736b8ea6-26fd-11df-bfd4-992fa37f6226 TRAC #23333 Authored-by: bajones@chromium.org Signed-off-by: Shannon Woods Signed-off-by Nicolas Capens Merged-by: Jamie Madill
Jamie Madill 28b97423 2013-07-08T14:01:38 Removed code for unsupported pack-unpack language. Review URL: https://codereview.appspot.com/9685045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2246 736b8ea6-26fd-11df-bfd4-992fa37f6226 TRAC #23333 Authored-by: alokp@chromium.org Signed-off-by: Shannon Woods Signed-off-by Nicolas Capens Merged-by: Jamie Madill
Jamie Madill 075edd84 2013-07-08T13:30:19 Refactor location tracking. R=kbr@chromium.org Review URL: https://codereview.appspot.com/9078046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2202 736b8ea6-26fd-11df-bfd4-992fa37f6226 TRAC #23333 Authored-by: alokp@chromium.org Signed-off-by: Shannon Woods Signed-off-by Nicolas Capens Merged-by: Jamie Madill
Nicolas Capens fc2e6b90 2013-06-24T16:13:26 Add 2D array samplers to the lexer/parser. TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 28043ba7 2013-06-24T16:01:53 Add 3D samplers to the lexer/parser. TRAC #23365 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens 9e3a3f43 2013-06-24T15:54:32 Add unsigned integer samplers to the lexer/parser. TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
Nicolas Capens d273c273 2013-06-24T15:36:48 Add integer samplers to the lexer/parser. TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
alokp@chromium.org ae829e31 2013-05-06T19:14:11 We don't need to keep the param variable around for function prototypes. Saves 20% memory for global symbol initialization R=alokp@chromium.org Review URL: https://codereview.appspot.com/9152043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@2196 736b8ea6-26fd-11df-bfd4-992fa37f6226
Jamie Madill 502d66f6 2013-06-20T11:55:52 Move the parsing of declarator lists into the ParseHelper. TRAC #23311 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill a295edfc 2013-06-06T11:56:48 Add parsing (but not full support) for global default layout qualifiers for block storage and matrix packing. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill a5efff99 2013-06-06T11:56:47 Redesign layout qualifier parsing to be simpler and more storage efficient. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill 60ed9810 2013-06-06T11:56:46 Move the parsing of single declarations into TParseContext. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill 6c23946c 2013-06-06T11:56:45 Properly recognize error cases for 'centroid out' and 'centroid in'. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill b120eac2 2013-06-12T14:08:13 Update the shader translator to use new enums for ES3 shader vertex input and fragment outputs. This fixes many corner cases and error messages with ES3 syntax. TRAC #23268 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Authored-by: Jamie Madill
Jamie Madill f8dc4fb6 2013-05-24T16:34:06 A special state to track field selection is not necessary. Identifier is sufficient to parse struct fieldname. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2195 Review URL: https://codereview.appspot.com/8709048
Jamie Madill 78eb5dfb 2013-05-24T16:34:05 Robust distinction between IDENTIFIER and TYPE_NAME tokens. To distinguish the tokens we used to track the lexer context, which is fragile. This patch implements a better way - combine the two tokens into a common parser rule and let the parser context decide if the declaration is valid, which it already does by checking the naming conflicts. TRAC #23158 Signed-off-by: Nicolas Capens Merged-by: Jamie Madill Authored-by: alokp@chromium.org git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2190 Review URL: https://codereview.appspot.com/8797044
shannonwoods@chromium.org 298f9076 2013-05-30T00:21:17 Eliminated an unused parameter. TRAC #23185 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2410 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 302adfef 2013-05-30T00:21:06 Add partial support for parsing layout qualifiers, added in the GLES SL 3.00 spec. This allows us to run a lot of ES3 unit tests and sample apps. TRAC #23089 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2409 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org c8100b85 2013-05-30T00:20:34 Add support for unsigned integer literals in the shading language. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2405 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 8c788e8d 2013-05-30T00:20:21 Add support for unsigned integer vector types to the shader translator. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2404 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 6b709911 2013-05-30T00:20:04 Add support for the unsigned integer scalar type to the shader translator. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2403 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 1885113c 2013-05-30T00:19:54 Move the code for parsing constructor functions from the grammar to TParseContext. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2402 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 5703d881 2013-05-30T00:19:38 Add full integer support to the shader language. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2400 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 0f376cac 2013-05-30T00:19:23 Move logic for parsing fully specified types out of the grammar file to TParseContext. TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2398 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 9bd22fa9 2013-05-30T00:18:47 Add support for non-square matrices to the shader translator. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2394 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 09e09884 2013-05-30T00:18:25 Add a secondary size field to the shader language types, to account for matrix rows. Also add some extra logic to the promote method to check that the sizes of the arguments to multiplications are properly formed. We require this extra information for non-square matrix support. TRAC #23081 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2392 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 5668c5d7 2013-05-30T00:11:48 Add support for parsing interface blocks to the shader translator. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2341 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org a9100887 2013-05-30T00:11:39 Move the logic for parsing structs and index/field selection expressions from the grammar into TParseContext. TRAC #22930 Signed-off-by: Nicolas Capens Signed-off-by: Geoff Lang Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2340 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 98c01b6a 2013-05-30T00:06:25 Update the shader compiler/translator bison-generated source files with the latest cygwin releases. TRAC #22934 Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2301 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 96e7ba17 2013-05-30T00:02:41 Skip symbol table levels with built-ins for a different shader version. TRAC #22954 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2272 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org 1c848096 2013-05-30T00:02:34 Insert GLSL ES 1.0 built-in variables at the right level. TRAC #22954 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2271 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com 6f273e3a 2013-04-13T03:41:15 Implemented interpolation qualifier parsing. TRAC #22857 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2149 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com 2226e04f 2013-04-13T03:38:26 Support in/out as type qualifiers. TRAC #22715 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2123 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com 5524db0c 2013-04-13T03:38:16 Add support for new ESSL 3.00 keywords. TRAC #22715 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2122 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com c0d0c225 2013-04-13T03:29:36 Provide safer and more convenient constant union accessors. TRAC #22676 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2071 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com cbb6b6a0 2013-04-13T03:27:47 Added preprocessor support for GL_FRAGMENT_PRECISION_HIGH. I will send the tests in a separate patch because I need to refactor the way compiler_tests are setup. Review URL: https://codereview.appspot.com/7402051 git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2058 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com 6b04e1b9 2013-02-28T23:19:41 Fixed one remaining 64-bit truncation issue missed in the last CL. BUG=396 Review URL: https://codereview.appspot.com/7323055 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1961 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com d64b3dab 2013-02-28T23:19:26 Fixed 64-bit integer truncation issues in shader translator. This is an incompatible API change, but one which is necessary in order to improve correctness of the code. The API version in ShaderLang.h is updated and, unfortunately, the define renamed to something less ambiguous due to conflicts on some Android buildbots. Temporary patches in Chromium and WebKit will be landed separately to support this upgrade. BUG=403,404,405,406,407,408,409 Review URL: https://codereview.appspot.com/7300058 Conflicts: include/GLSLANG/ShaderLang.h git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1960 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com d25a6b36 2013-02-28T23:19:13 Check that the incoming type to a default precision qualifier statement is valid. Fixes new WebGL conformance tests shader-with-illegal-default-precision.frag.html and shader-with-illegal-default-precision.vert.html per http://www.khronos.org/bugzilla/show_bug.cgi?id=781 . Also ran WebGL 1.0.1 conformance tests; no regressions. BUG=none Review URL: https://codereview.appspot.com/7302043 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1958 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b3077d08 2013-01-11T04:12:09 Upstream various build fixes from WebKit to ANGLE to make updating ANGLE in WebKit easier. a) http://trac.webkit.org/changeset/127747 b) http://trac.webkit.org/changeset/128539 c) http://trac.webkit.org/changeset/122870 - Specifically, items #3 and #4 in this changeset's commit message. Review URL: https://codereview.appspot.com/7040045 Author: maxvujovic@gmail.com ------ Upodate preprocessor.vcxproj to reflect changes in r1640. Review URL: https://codereview.appspot.com/7061044 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1703 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 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
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
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 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
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 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
apatrick@chromium.org 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
apatrick@chromium.org 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
apatrick@chromium.org 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
apatrick@chromium.org 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
kbr@chromium.org 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
kbr@chromium.org 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
alokp@chromium.org 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
zmo@google.com 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
zmo@google.com 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
kbr@chromium.org 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
zmo@google.com fd747b86 2011-04-23T01:30:07 Implement shader identifier name mapping. The name mapping happens when an identifier is longer than 32 characters. The name mapping is behind a flag, so it won't happen by default. Also, functions to query the mapped names are added. The purpose of this CL is for the drivers that can't handle long names. For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that. This CL also fixes the issue that some of the TIntermSymbols' ids are 0s. ANGLEBUG=144 TEST=test manually with shaders with long identifier names. Review URL: http://codereview.appspot.com/4428058 git-svn-id: https://angleproject.googlecode.com/svn/trunk@619 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 0f4cefe9 2011-01-26T19:30:57 Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX. This makes debugging and profiling using PIX a lot more convenient. The top level of events are the GLES calls with their arguments. Those can be expanded to see the D3D calls that were issued for a particular GLES call. When PIX is attached, the shaders are saved out to temporary files and referenced from the translated HLSL shaders via #line directives. This enabled source level debugging of the original GLSL from PIX for pixel and vertex shaders. The HLSL is also saved to a temporary file so that intrinsic functions like texture2D can be stepped into. It also avoids creating a text file in the current working directory, which has continued to be an issue. I made the dependency on d3d9.dll static again so it can be accessed by GetModuleHandle witihin DllMain. I added an EVENT macro that issues D3DPERF_BeginEvent and D3DPERF_EndEvent around a C++ block. I replaced TRACE with EVENT for all the entry points. I removed the tracing of shader source since the source is visible in PIX. The means by which the filename of the temporary shader file is passed into the shader compiler is a little clunky. I did it that way to avoid changing the function signatures and breaking folks using the translator. I plan to make the compiler respect #pragma optimize so that optimization can be disabled for debugging purposes. For now it just disables shader optimization in debug builds of ANGLE. Review URL: http://codereview.appspot.com/3945043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@541 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 52813558 2010-11-16T18:36:09 Replaced TIntermLoop::testFirst with TIntermLoop::loopType to clearly indicate which type of loop it is. In some cases it is not possble to differentiate between a for-loop and while-loop. BUG=48 Review URL: http://codereview.appspot.com/3123041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@482 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 044a5cf8 2010-11-12T15:42:16 Refactored glslang grammar files to make: - lexer and parser reentrant - line number handling automatic Caveats: - The preprocessor is still not thread-safe and full of bugs. I have another not-yet-ready patch to replace the preprocessor. - The grammar files use options that are not supported by the old versions of flex and bison checked into compiler/tools. So I need to check-in the generated lexer-parser along with a shell script to generate them. Review URL: http://codereview.appspot.com/2992041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@475 736b8ea6-26fd-11df-bfd4-992fa37f6226