|
3ce8dbcd
|
2012-06-08T17:52:30
|
|
Add placeholder entry points for GL_OES_get_program_binary.
Review URL: https://codereview.appspot.com/6279054
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1146 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
d2820bfb
|
2012-01-27T15:38:48
|
|
Add entry points and constants for GL_ANGLE_instanced_arrays.
TRAC #19489
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@968 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
|
|
8983cbc5
|
2012-01-17T14:10:19
|
|
Refresh EGL/eglext.h from Khronos
git-svn-id: https://angleproject.googlecode.com/svn/trunk@944 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
35be8c1f
|
2012-01-17T14:10:08
|
|
Refresh GLES2/gl2ext.h from Khronos
git-svn-id: https://angleproject.googlecode.com/svn/trunk@943 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
56d46abe
|
2011-11-23T14:53:10
|
|
Add GL_ANGLE_pack_reverse_row_order. Performs vertical flip in readPixels and
may write direct to client ptr.
Bug=none
Test= Tested in a modified version of Chromium using canvas2D.
Review URL: http://codereview.appspot.com/5373104
git-svn-id: https://angleproject.googlecode.com/svn/trunk@889 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
|
|
afaa0490
|
2011-11-21T21:14:23
|
|
Upstream android's change for angle
BUG=
TEST=
Review URL: http://codereview.appspot.com/5410050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@887 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
43911ec8
|
2011-11-12T04:30:04
|
|
Add new function prototypes to gl2ext.h
Trac #18608
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@877 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7d18c17f
|
2011-11-11T04:18:21
|
|
Added the texture usage parameter.
TRAC #18732
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@860 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ff941aa9
|
2011-11-11T04:17:09
|
|
Added support for floating-point and BGRA storage textures.
TRAC #18730
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@859 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
64a0fb2a
|
2011-11-11T04:10:40
|
|
Implemented glTexStorage2DEXT.
TRAC #18730
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@857 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d30bd0a7
|
2011-11-11T04:10:34
|
|
Added the immutable parameter.
TRAC #18730
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@856 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4ff960d9
|
2011-11-09T17:47:09
|
|
Implemented context creation with reset notification.
TRAC #18607
Signed-off-by: Daniel Koch
Authors: Shannon Woods, Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@848 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
17f548cb
|
2011-11-09T17:47:02
|
|
Implemented reset status.
TRAC #18607
Signed-off-by: Daniel Koch
Authors: Shannon Woods, Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@847 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
22eab922
|
2011-10-21T01:16:42
|
|
Allowed translator_hlsl and glsl to be built as shared libs on windows.
The problem was gyp was out-of-date (I rolled it to 1080) and ShaderLang.cpp exports were not being exported because it was in translator_common which is a static lib.
I tested shared library and static library builds in debug and release and also the checked in ANGLE.sln build.
See original attempt: http://codereview.appspot.com/5305052/.
Review URL: http://codereview.appspot.com/5305053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@801 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
50297fc1
|
2011-10-05T18:43:27
|
|
Assign proper enum to GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE
Trac #18416
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@785 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a574f78f
|
2011-10-03T21:45:23
|
|
Add an extension for querying translated HLSL shader source.
Review URL: http://codereview.appspot.com/5149046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@780 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
|
|
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
|
|
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
|
|
50c526d2
|
2011-08-10T05:19:44
|
|
Add support for DXT3 and DXT5
TEST=none
BUG=none
Review URL: http://codereview.appspot.com/4809068
git-svn-id: https://angleproject.googlecode.com/svn/trunk@721 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bb1d1713
|
2011-07-29T16:32:31
|
|
Add Wayland typedefs to eglplatform.h
Issue=188
Author: Daniel Nicoara
git-svn-id: https://angleproject.googlecode.com/svn/trunk@709 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8518910d
|
2011-07-29T16:32:23
|
|
Refresh EGL and GLES2 headers from Khronos registry
Based on SVN r15167
git-svn-id: https://angleproject.googlecode.com/svn/trunk@708 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
84d7cbc3
|
2011-07-14T22:53:19
|
|
Add extension to create software device.
Add an extension so that users can receive a device that renders in software. Currently this is done by loading a swiftshader dll.
BUG=
TEST=
Review URL: http://codereview.appspot.com/4631093
git-svn-id: https://angleproject.googlecode.com/svn/trunk@705 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5601ea0d
|
2011-06-10T18:23:25
|
|
Implement ES2 backend for Angle translator.
With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL.
Note that we always emit the highest supported float precision for fragment shader due to anglebug 168. Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision.
Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc.
anglebug=81
test=translator emitting correct GLSL ES code when ES2 backend is selected.
Review URL: http://codereview.appspot.com/4550129
git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
721b7f26
|
2011-02-11T00:54:47
|
|
Issue=91 -- implement pbuffers in ANGLE; add D3D share handle support
git-svn-id: https://angleproject.googlecode.com/svn/trunk@558 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e41afd8d
|
2011-02-01T18:49:22
|
|
fix pedantic compiler warnings
Issue=108
git-svn-id: https://angleproject.googlecode.com/svn/trunk@554 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
|
|
b59a778c
|
2010-11-24T18:38:33
|
|
Implemented validation for loop and indexing limitations specified by GLSL ES spec 1.0 Appendix A Section 4 and 5.
A couple of things to note:
- This CL only validates the "form" of loop and indexing. It does not detect number-of-iterations or out-of-bound access. This will require more involved analysis/heuristics.
- I haved combined SH_VALIDATE_CONTROL_FLOW and SH_VALIDATE_INDEXING into one flag - SH_VALIDATE_LOOP_INDEXING. Validating both together is much easier.
BUG=48
Review URL: http://codereview.appspot.com/3225041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@491 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1f29954d
|
2010-11-12T15:50:23
|
|
Added API to enforce GLSL limitations mandated by WebGL.
BUG=48
Review URL: http://codereview.appspot.com/3005042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@476 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4888ceb6
|
2010-10-01T21:13:12
|
|
Made the API of shader translator library consistent.
- We recently started using OpenGL-type enums. This CL makes all old enums consistent with the new scheme.
- Renamed TBuiltInResource to ShBuiltInResources to have a consistent prefix
BUG=46
Review URL: http://codereview.appspot.com/2328041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@443 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2fa73694
|
2010-09-28T17:20:39
|
|
Added version number for shader translator API.
BUG=45
Review URL: http://codereview.appspot.com/2234047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@442 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ee76f6af
|
2010-09-27T19:28:55
|
|
Implemented functionality to collect and return info for attributes and uniforms.
BUG=26
Review URL: http://codereview.appspot.com/2206046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@440 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7beea408
|
2010-09-15T21:18:34
|
|
Added API to query for active attribs and uniforms. These functions are modeled after glGetShaderiv, glGetProgramiv, glGetActiveAttrib, and glGetActiveUniform. The main difference between this and OpenGL API is that we do not have programs - just shaders.
BUG=26
Review URL: http://codereview.appspot.com/2183041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@425 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94a86ad8
|
2010-08-25T20:02:11
|
|
Adding support for OES_standard_derivatives extension. This is not the complete implementation. Sending it to get feedback on the API. Is it OK to add extension support into TBuiltInResource? I could create a new struct for extensions but that would lead to API change.
BUG=25
Review URL: http://codereview.appspot.com/1953047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@402 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
01868135
|
2010-08-24T19:21:17
|
|
Implements compressed textures.
TRAC #12714
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@397 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1f135d86
|
2010-08-24T19:20:36
|
|
Implements glRenderbufferMultisampleStorage
TRAC #12714
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@390 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4cbc590f
|
2010-08-24T19:20:26
|
|
Implements blitFramebuffer
TRAC #12713
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@389 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a27ff1ee
|
2010-08-24T19:20:11
|
|
Creates separate bind points for read & write framebuffers.
TRAC #12712
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@387 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b3999348
|
2010-08-12T19:46:23
|
|
Added comment about return values of ShInitialize() and ShFinalize().
Review URL: http://codereview.appspot.com/1980041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@383 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e4249f02
|
2010-07-26T18:13:52
|
|
Refactored the way symbol tables are initialized and stored. This was done in response to the addition of EShSpec.
Symbol table entries depend on three things - language, spec (not now but may eventually), and built-in resources.
We used to build two global symbol-tables - one for each language. During each compile, one of the symbol table was
copied and resource-specific stuff was added. I have moved the symbol table to TCompiler that gets initilized when
compiler is created and reused for each compile. This makes it much cleaner and extensible in case a spec requires
special entries to be added to the symbol table.
PS: Sorry for the long CL, but all of it needed to be done in one CL. I have verified that everything still compiles
and passes all conformance tests.
Review URL: http://codereview.appspot.com/1864044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@351 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c54bf507
|
2010-07-22T16:49:09
|
|
Further cleanup of ShaderLang.h. Removed redundant/unused macros and enum fields.
Review URL: http://codereview.appspot.com/1842046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@349 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
774d7063
|
2010-07-21T18:55:45
|
|
Cleaned up translator API. Deleted unsupported dead code.
BUG=9
Review URL: http://codereview.appspot.com/1665050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@348 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
29cd91af
|
2010-07-16T19:30:45
|
|
Added an option for specifying language specification in preparation for supporting WebGL in addition to GLES2. This CL just replaces unused debugOptions variable with EShSpec variable.
BUG=11
Review URL: http://codereview.appspot.com/1692051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@344 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
12d38031
|
2010-04-08T03:51:23
|
|
Remove GLES2/glextimg.h
Trac #11785
This is not an official khronos header
Signed-off-by: Andrew Lewycky
Signed-off-by: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@111 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
04694067
|
2010-04-08T03:51:18
|
|
Refresh KHR headers from Khronos svn@10929
Trac #11785
Signed-off-by: Andrew Lewycky
Signed-off-by: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@109 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c68e9299
|
2010-04-08T03:51:15
|
|
Refresh GLES2 header files from Khronos svn@10929
Trac #11785
Signed-off-by: Andrew Lewycky
Signed-off-by: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@108 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fe110ab7
|
2010-04-08T03:51:12
|
|
Refresh EGL files from Khronos svn@10929
Trac #11785
Signed-off-by: Andrew Lewycky
Signed-off-by: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@107 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ea0e1af4
|
2010-03-22T19:33:14
|
|
Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work.
1. Added include/GLSLANG which includes compiler API
2. Deleted src/include and moved the header files to the same directory as the corresponding source files
3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from.
I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend.
Review URL: http://codereview.appspot.com/662042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f0866696
|
2010-03-17T13:13:18
|
|
mv Include -> include
Trac #11406
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@42 736b8ea6-26fd-11df-bfd4-992fa37f6226
|