|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|