06098890abAllow derivative functions if derivative extension is enabled. I still need to add validation for "#extension GL_OES_standard_derivatives : enable". BUG=25 Review URL: http://codereview.appspot.com/1965045
alokp@chromium.org
2010-08-26 19:36:42 +00:00
94a86ad8f1Adding 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
alokp@chromium.org
2010-08-25 20:02:11 +00:00
575e7910ffChanged glFlush to not wait until issued event is processed.
apatrick@chromium.org
2010-08-25 18:07:12 +00:00
58e5429861Cleanup TType and related classes: 1. Removed unused functions 2. Removed unnecessary virtuality of functions 3. Grouped related functions together
alokp@chromium.org
2010-08-24 21:40:03 +00:00
1ac37d8030Optimizes Texture::loadImageData TRAC #13046 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:21:31 +00:00
1dcea9f858Implements a special case for temporary surface creation for DXT low mip levels. TRAC #12908 The lowest mip levels for DXT textures will have dimensions < 4, so a D3D texture cannot be created to hold them offscreen directly. Instead, we must create a larger texture one of whose mip levels would be the desired dimension, and store the surface from that texture for later inclusion in the final texture. Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:21:27 +00:00
f5cde48355Allocates a texture rather than an offscreen plain surface for new textures. TRAC #12908 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:21:11 +00:00
d36c2971e8Advertises the GL_OES_rgb8_rgba8 extension.
daniel@transgaming.com
2010-08-24 19:21:07 +00:00
6397754a3cImplements support for rgb8 and rgba8 renderbuffer storage formats TRAC #12717 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:21:02 +00:00
3ea20e7cbcFixes a bug where framebuffer_multisample was not properly being added to the extension string. TRAC #12966 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:58 +00:00
d470a1b5d3Implements multisample fragment operations TRAC #12711 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:48 +00:00
1f135d86abImplements glRenderbufferMultisampleStorage TRAC #12714 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:36 +00:00
4cbc590fb5Implements blitFramebuffer TRAC #12713 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:26 +00:00
ca7c008a89Initializes renderbuffer formats for attachments to the default framebuffer. TRAC #12864 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:20 +00:00
a27ff1eeafCreates separate bind points for read & write framebuffers. TRAC #12712 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-24 19:20:11 +00:00
b707a3b755Added runtime checks for GetClientRect errors.
apatrick@chromium.org
2010-08-23 23:12:51 +00:00
32cfaf4b48TIntermBinary::promote() was incorrectly marking the type of result as const in some cases. The result can only be const if both operands are const. Also cleaned up the function to remove redundant/repeated checks. BUG=24 TEST=OpenGL ES 2.0 Conformance tests Review URL: http://codereview.appspot.com/1938047
alokp@chromium.org
2010-08-23 21:01:13 +00:00
94e1934d37Fixed crash on context lost.
apatrick@chromium.org
2010-08-17 22:19:58 +00:00
6ad6ce8d0bFixed Display::initialize so it does not crash for devices that do not support PS 2.0.
apatrick@chromium.org
2010-08-12 00:16:16 +00:00
c7b6eba93fFixed warnings about deprecated conversion from string constant to char*. Submitted by timeless. BUG=18 Review URL: http://codereview.appspot.com/1936041
alokp@chromium.org
2010-08-09 22:33:53 +00:00
b416e70e90Some compilers do not support standard STL allocator interface. Also removed _Charalloc function only needed by VC++6.0, which we do not support. Submitted by Eagle.Lu. BUG=19 Review URL: http://codereview.appspot.com/1913048
alokp@chromium.org
2010-08-09 22:32:56 +00:00
bcfba4c3f3Fix warnings about comparison/assignement between signed and unsigned types. Submitted by timeless. BUG=13 Review URL: http://codereview.appspot.com/1895051
alokp@chromium.org
2010-08-09 22:30:49 +00:00
b2dfd8ea30Fix warnings about initialization order in the class initialization list. Submitted by timeless. BUG=14 Review URL: http://codereview.appspot.com/1850054
alokp@chromium.org
2010-08-09 22:28:19 +00:00
003e7b135aWe were trying to change a const_iterator which was rightly caught by SunStudio compiler. Submitted by Eagle.Lu. BUG=19 Review URL: http://codereview.appspot.com/1879049
alokp@chromium.org
2010-08-09 17:14:46 +00:00
5223af6b27Replaced __inline with inline to make it compile with SunStudio compiler. Submitted by Eagle.Lu. BUG=19 Review URL: http://codereview.appspot.com/1910047
alokp@chromium.org
2010-08-09 17:14:09 +00:00
f8de41fb6bAdding separate license file for the preprocessor code and removing the ANGLE boilerplate license from those files.
vangelis@google.com
2010-08-09 16:51:37 +00:00
5783308ef9Add Al and Vlad to contributors file
daniel@transgaming.com
2010-08-08 04:50:02 +00:00
a9198d9c6fImplement EXT_texture_format_BGRA8888 and EXT_read_format_bgra Trac #13050, Issue=21 Original Author: Vladimir Vukicevic Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-08 04:49:56 +00:00
bc3699da7cImplements fixes for problems discovered running San Angeles demo on Chrome TRAC #13077 - clamp scissor to rendertarget size - ensure textures are renderable when required Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-05 14:48:49 +00:00
31273558e8Fixes erroneous copy in subImage calls after failure is already detected. TRAC #13074 Also adds initializations for missed Texture members. Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-08-04 13:42:44 +00:00
257e8d0f82Added missing sources to build_angle.gyp.
apatrick@chromium.org
2010-07-28 23:07:39 +00:00
37fa3c8eeeRemoves Windows-style line endings from Display.cpp TRAC #12714 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:21:21 +00:00
bbc57796e8Checks completeness of framebuffer before read operations. TRAC #12565 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:21:05 +00:00
da13f3e902Adds resource manager class. TRAC #12493 The resource manager class is now in charge of allocation & management of objects which may be shared by multiple contexts. Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:20:56 +00:00
cdacc8e271Implement GL_OES_packed_depth_stencil TRAC #12336 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:20:50 +00:00
162267d63afix spacing issue due to manual merge
daniel@transgaming.com
2010-07-28 19:20:48 +00:00
4f921eb4e6Renamed dx_Window to dx_Viewport TRAC #11594 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:20:44 +00:00
be5a0867c4Implement gl_PointCoord on SM3 hardware TRAC #11594 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-07-28 19:20:37 +00:00
b75e523ab1Use TestCooperativeLevel instead of ValidateDevice to check for device loss.
daniel@transgaming.com
2010-07-28 19:13:47 +00:00
34b99cdf6cDe-allocate memory in ShFinalize(). There still seems to be a bug here if the translator is used in a multi-threaded environment. It seems memory local to only one thread is being deallocated - the thread from which ShFinalize() is called. I will look into it closely in the next CL. Review URL: http://codereview.appspot.com/1878044
alokp@chromium.org
2010-07-27 18:37:55 +00:00
5eb4609cd0Encapsulate expressions with ternary operators with brackets. This preserves the order of precedence when ternary expressions are used in a compound expression. BUG=20 Review URL: http://codereview.appspot.com/1894041
alokp@chromium.org
2010-07-26 18:15:21 +00:00
e4249f0217Refactored 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.
alokp@chromium.org
2010-07-26 18:13:52 +00:00
6db8cab4b8ReadPixels recovers from device lost error.
apatrick@chromium.org
2010-07-22 20:39:50 +00:00
a300988e45Check for reserved prefixes (gl_, webgl_, and _webgl_) in struct and field names. GLES2 and WebGL both require this for all identifiers - variable, function, struct, and field names. ANGLE was only validating variable and function names. BUG=11 Review URL: http://codereview.appspot.com/1856046
alokp@chromium.org
2010-07-21 18:54:37 +00:00
613ef31a9fAdded checks for webgl_ and _webgl_ reserved identifiers. This currently only checks variable and function names. Struct names and field names will be added in the another CL. BUG=11 Review URL: http://codereview.appspot.com/1674050
alokp@chromium.org
2010-07-21 18:54:22 +00:00
bad6c2a42bAdded <stdio.h> include for sprintf. It broke Chrome downstream when I bumped the rev.
apatrick@chromium.org
2010-07-20 20:19:51 +00:00
29cd91af30Added 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
alokp@chromium.org
2010-07-16 19:30:45 +00:00
01b666f225Fixed compilation error on mingw. Used _MSC_VER for MSVC-specific code instead of WIN32. Recieved patch from cjacek. BUG=12 Review URL: http://codereview.appspot.com/1694049
alokp@chromium.org
2010-07-16 19:27:45 +00:00
9abe956ea6Removed the precision check creating spurious error messages TRAC #12641 The precision of compiler temporaries doesn't require checking, and would be hard to determine at parse time. We only require correct precisions for declarations, which is checked separately. So we can safely remove the check for binary operations.
daniel@transgaming.com
2010-06-24 13:02:21 +00:00
c6f5340070Clear must ignore buffers that are not present.
daniel@transgaming.com
2010-06-24 13:02:19 +00:00
353569a9caEliminates redundant calls to GetDeviceCaps TRAC #12283 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-06-24 13:02:12 +00:00
8187fa8f13Added some includes.
apatrick@chromium.org
2010-06-15 22:09:28 +00:00
cba04990ecAdded parentheses around a few operators so that if they are used in a compound statement, order of operations is preserved. BUG=5 TEST=OpenGL ES 2.0 conformance tests. Review URL: http://codereview.appspot.com/1691041
alokp@chromium.org
2010-06-14 20:36:41 +00:00
334aa1f359Handled case where selection nodes that use ternary operators are part of a sequence. Usually they are part of an assignment. BUG=4 TEST=OpenGL ES 2.0 conformance tests, specifically operators test. Review URL: http://codereview.appspot.com/1643043
alokp@chromium.org
2010-06-11 23:38:29 +00:00
7d3849bd7cFix build when a project patch contains spaces
daniel@transgaming.com
2010-06-08 16:07:55 +00:00
306cc952a0Workaround for drivers that apparently don't disable instancing when we ask.
daniel@transgaming.com
2010-06-08 16:07:47 +00:00
1c233ff444Increase the number of supported attribs (12) and texture units (16) TRAC #12313 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-06-08 14:13:00 +00:00
b0a1dcccf6Fix regression due to float printing changes Trac #12501
daniel@transgaming.com
2010-06-07 02:06:26 +00:00
a3bbfd43feFixes double-decoration when getUniformLocation is called from defineUniform. TRAC #12437
daniel@transgaming.com
2010-06-07 02:06:09 +00:00
8f05d1aa87Save D3D state before altering it for masked clears TRAC #12380 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-06-07 02:06:03 +00:00
dd7948b3aeAccording to spec, the stencil ref is clamped to the range [0,2^s-1]
daniel@transgaming.com
2010-06-02 16:12:34 +00:00
91b7232040Removed the dependency of compiler on common. This is done to make compiler self-sufficient so that it is easier to consume by external developers. I tried to replace all instances of assert by simply redefining assert(x) to ASSERT(x), but was getting a lot of compile errors. I still need to investigate that. Review URL: http://codereview.appspot.com/1461041
alokp@chromium.org
2010-06-02 15:50:56 +00:00
4e4facd4a1Refactored InfoSink. I have replaced most instances of sprintf with std::ostringstream to make it safer. I have made sure that everything still compiles and passes conformance tests. Review URL: http://codereview.appspot.com/1391041
alokp@chromium.org
2010-06-02 15:21:22 +00:00
e37888d153Add support for various egl Get methods Trac #12375 This patch stores the current READ/DRAW and display in the context and allows these eglGets to work.
daniel@transgaming.com
2010-05-27 16:45:46 +00:00
5ac5dd25aeCorrect the eglMakeCurrent return value on lost context (syntax) TRAC #11233 Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-27 15:02:27 +00:00
561637aed1Avoid using instancing on hardware where it does not work well enough.
daniel@transgaming.com
2010-05-27 15:02:21 +00:00
d88b7736fcDo not write extraneous semi-colons - some glsl compilers are do not like that even though it is so easy to ignore. Review URL: http://codereview.appspot.com/1301041
alokp@chromium.org
2010-05-26 15:13:14 +00:00
90033b9eb5ShInitialize/ShFinalize is designed to be called once per process, or it would crash at random locations. I changed ShFinalize() to properly cleanup and reset global variables so that they can be called multiple times. I think that the compiler setup is much more complicated than it needs to be. It unnecessarily uses global variables. A custom pool allocator is overkill too. Review URL: http://codereview.appspot.com/1238045
alokp@chromium.org
2010-05-24 15:02:43 +00:00
866f318d05TextureColorbufferProxy must query the texture to get the latest width & height.
daniel@transgaming.com
2010-05-20 19:28:22 +00:00
81655a720eUse instancing for non-array vertex attributes.
daniel@transgaming.com
2010-05-20 19:18:17 +00:00
8c9ff193e3Add Jim Hauxwell as a contributor
daniel@transgaming.com
2010-05-20 19:18:11 +00:00
b28a23bd8bFixes query for active texture TRAC #12374
daniel@transgaming.com
2010-05-20 19:18:06 +00:00
c6c6f0272dReport an EGL_CONTEXT_LOST error on D3DERR_DEVICELOST Trac #11233 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-20 19:18:00 +00:00
8026c67712Fixed struct name lexing TRAC #12110 Unlike built-in types, structs can be redefined (in a different scope). Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-20 19:17:48 +00:00
838bceaee2Detect draws that would read outside the vertex buffer.
daniel@transgaming.com
2010-05-20 19:17:42 +00:00
741a588e70Add defines to enable the reference rasterizer TRAC #12343 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-20 19:17:29 +00:00
5d4c28f9d5Removes check for framebuffer == 0 in glRenderbufferStorage TRAC #12346 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-19 07:14:19 +00:00
178adff757Give sorted configs a unique ID without changing the original set TRAC #12323 This fixes building on Visual C++ 2010, which has const iterators for STL sets as specified by C++0x. Signed-off-by: Shannon Woods Singed-off-by: Daniel Koch
daniel@transgaming.com
2010-05-18 18:52:04 +00:00