src/libEGL


Log

Author Commit Date CI Message
jbauman@chromium.org 0806cb27 2012-08-27T18:14:32 Disable npot texture support on AMD cards on XP. We had been seeing some BSODs due to this. BUG= Review URL: https://codereview.appspot.com/6485058 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1264 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 29ab9525 2012-08-27T16:25:37 Minor GCC fixes - Added missing typename keyword - Use proper filenames includes (this matters when cross compiling on case sensitive OSes) - Added <string> include where GCC requires it - Avoid collision between enum variables and template params Issue=358 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1261 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com db2115d8 2012-08-27T16:25:33 Use unordered_map instead of hash_map on GCC stdext namespace is a non-standard extension. Use standard std::unordered_map on GCC. Issue=358 Signed-of-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1260 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1825d8e5 2012-08-27T16:25:29 Fixed preprocessors errors on GCC - Preprocessor variables need to be separated from string constants to be separated token - Use ##__VA_ARGS__ GCC extension to support empry __VA_ARGS__ (should be no-op on MSVC). See: http://www.delorie.com/gnu/docs/gcc/gcc_44.html for details. The following series fixes compilation on GCC (from mingw-w64) and allows cross compiling the source on Linux. It was tested in Mozilla tree since ANGLE has no support for GCC in its build system. Issue=358 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1259 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 85e4419f 2012-08-17T20:58:01 Only round back buffer to 64 pixels when vendor ID in Intel. This is actually to fix AMD / Intel switchable systems when using integrated Intel where the source rectangle to Present is not respected. Review URL: https://codereview.appspot.com/6459101 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1254 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 0c71fd40 2012-08-10T18:08:47 Round swap chain surfaces to 64 pixels in width. Review URL: https://codereview.appspot.com/6449123 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1245 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 3cfd7225 2012-07-13T22:36:58 Cache D3D vertex and pixel shader objects so they can be reused and shared by multiple contexts. WebGL conformance tests did not regress. I verified they exercise the Blit code. Review URL: https://codereview.appspot.com/6345105 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1225 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 07ab841a 2012-07-12T15:17:09 Implement Anisotropic Texture filtering support Bug=297 Authored-by: Conor Dickinson, Cloud Party, Inc. Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1219 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 95a758f3 2012-07-12T15:17:06 Remove dos-style line-endings (EOL changes only) git-svn-id: https://angleproject.googlecode.com/svn/trunk@1218 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 11190ec6 2012-07-11T20:37:21 Disable debug logging on Release builds. TRAC #21169 ISSUE=322 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1207 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 13be3e43 2012-07-04T19:16:24 Increase the maximum point size to what is reported by Direct3D. TRAC #21121 Issue=345,305 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1191 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6409edb0 2012-06-25T14:57:18 Fix line-endings in libEGL.cpp git-svn-id: https://angleproject.googlecode.com/svn/trunk@1165 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
daniel@transgaming.com 63e6afe9 2012-05-31T01:14:42 Ensure all getDepthStencil and getRenderTarget calls consistently handle references to the underlying d3d surfaces Trac #20875 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1114 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e32d5699 2012-05-31T01:14:22 Pass the usage parameter into TextureStorage instead of passing a boolean Trac #20875 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1108 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1c49f79d 2012-05-31T01:14:02 Detect depth texture support using INTZ and NULL textures Trac #20875 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1103 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org cca2b70b 2012-02-08T00:59:46 Create D3D device when eglInitialize is called. This is because some GPUs / drivers are unable to create the device once the Chromium GPU process sandbox has been locked down and waiting for the first context / surface to be created is too late. Review URL: https://codereview.appspot.com/5647046 git-svn-id: https://angleproject.googlecode.com/svn/trunk@983 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 6c762d08 2012-02-03T23:31:53 Disable getting share handles when PIX is enabled. PIX doesn't seem to work with share handles, so disable them when we detect that pix is enabled. BUG= TEST= Review URL: https://codereview.appspot.com/5625048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@982 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9c3a393d 2012-01-30T20:03:32 Enabled MSVC warning 4389 : signed/unsigned mismatch. I also fixed Config.cpp so it compiles without the warning. This is because this is now a warning as error in Chromium. Review URL: https://codereview.appspot.com/5600047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@980 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c6f7f9d5 2012-01-27T15:40:00 Centralize detection of instancing support. TRAC #19489 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@976 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 9dc0a247 2012-01-24T21:45:37 Enable warnings as errors. I didn't do it for translator_common though because it contains automatically generated code. This is improve the signal to noise ratio in the chromium build logs. Review URL: https://codereview.appspot.com/5572055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@960 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bb5223d0 2012-01-24T13:38:10 Fix float texture support test Trac #19573 Issue=281 Signed-off-by: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@957 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 86bdb824 2012-01-20T18:24:39 Adds support for EXT_occlusion_query_boolean TRAC #19360 Signed-off-by: Daniel Koch Authored-by: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@951 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2678b34b 2012-01-18T16:29:40 Changes the pointer from textures to their renderbuffer proxies to non-refcounted (2/2) TRAC #19335 Issue=271 Instead, the texture maintains an internal refcount which causes the pointer to behave kind of like a "weak" shared pointer-- its reference won't prevent the renderbuffer from being deleted, but if the renderbuffer's refcount drops to zero, the texture should set its pointer to the renderbuffer to null so that a new one can be created at the next getRenderbuffer call. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@948 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f289ee8d 2012-01-11T20:03:29 Allocate D3D queries from a pool for the Display. This is a workaround for an Intel bug. The crash looks like this: 0x5f816c53 [d3d9.dll + 0x00036c53] CQuery::~CQuery() 0x5f816bec [d3d9.dll + 0x00036bec] CQuery::`vector deleting destructor'(unsigned int) 0x5f7e8129 [d3d9.dll + 0x00008129] CBaseObject::~CBaseObject() 0x5f9e19c7 [libglesv2.dll + 0x000319c7] gl::Fence::`vector deleting destructor'(unsigned int) 0x5f9de78e [libglesv2.dll - context.cpp:975] gl::Context::deleteFence(unsigned int) 0x5f9e1491 [libglesv2.dll - context.cpp:198] gl::Context::~Context() 0x5f9e182f [libglesv2.dll - context.cpp:3936] glDestroyContext 0x717654ec [libegl.dll - display.cpp:749] egl::Display::destroyContext(gl::Context *) 0x7176a3da [libegl.dll - libegl.cpp:907] eglDestroyContext 0x64fbaf33 [chrome.dll - gl_context_egl.cc:75] gfx::GLContextEGL::Destroy() The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win 7. With this change, D3D queries are only released when the display is destroyed or reset or if a very high number of D3D queries have been allocated. Tested by stepping exercising the NV_fence entry points in a debugger. Review URL: http://codereview.appspot.com/5534065 git-svn-id: https://angleproject.googlecode.com/svn/trunk@941 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org a5ddde91 2012-01-10T23:00:07 Move Context::sync to Display::sync. This is a workaround for an Intel bug. The crash looks like this: 0x5f816c53 [d3d9.dll + 0x00036c53] CQuery::~CQuery() 0x5f816bec [d3d9.dll + 0x00036bec] CQuery::`vector deleting destructor'(unsigned int) 0x5f7e8129 [d3d9.dll + 0x00008129] CBaseObject::~CBaseObject() 0x5f9e19c7 [libglesv2.dll + 0x000319c7] gl::Fence::`vector deleting destructor'(unsigned int) 0x5f9de78e [libglesv2.dll - context.cpp:975] gl::Context::deleteFence(unsigned int) 0x5f9e1491 [libglesv2.dll - context.cpp:198] gl::Context::~Context() 0x5f9e182f [libglesv2.dll - context.cpp:3936] glDestroyContext 0x717654ec [libegl.dll - display.cpp:749] egl::Display::destroyContext(gl::Context *) 0x7176a3da [libegl.dll - libegl.cpp:907] eglDestroyContext 0x64fbaf33 [chrome.dll - gl_context_egl.cc:75] gfx::GLContextEGL::Destroy() This is a crash in deleteFence but the same could happen in flush. Fix for the former to follow. The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win 7. Tested by stepping through a call to glFinish in the debugger and ensuring that it sleeps but eventually returns. Review URL: http://codereview.appspot.com/5503094 git-svn-id: https://angleproject.googlecode.com/svn/trunk@940 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e19d8328 2011-12-13T17:30:48 Ensure the device states are reinitialized after a device Reset Trac #19246 Issue=262 After a device lost the "mSceneStarted" variable was getting out of sync and thus we were never restarting the scene before drawing. It's probably best to ensure that any default states we need are also set after a reset. Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@909 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f4490e22 2011-12-06T02:05:22 Implemented EGL_NV_post_sub_buffer. The change to the sample is just to demonstrate how I tested it. I won't check in the stuff under samples/. It's not clear to me what eglPostSubBufferNV should do if EGL_POST_SUB_BUFFER_SUPPORTED_NV is false. At the moment it fails silently as though it was called on the wrong surface type: "If <surface> is a back-buffered surface, then the requested portion of the color buffer is copied to the native window associated with that surface. If <surface> is a single-buffered window, pixmap, or pbuffer surface, eglSwapBuffers and eglPostSubBufferNV have no effect." Review URL: http://codereview.appspot.com/5345050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@902 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7a2fdc9c 2011-11-24T22:34:09 Avoid rendering the last pixel of lines. Trac #19035 Issue=257 Author: Yuriy O'Donnell Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@891 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 59580a3d 2011-11-12T04:23:44 Used the MANAGED pool for non-renderable textures on XP. TRAC #14743 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@874 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 8747f18f 2011-11-09T17:50:38 Advertise robustness extension strings. Trac #18607 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@850 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com cf23c45f 2011-11-09T17:47:26 Disable automatic device resets when using reset notification. TRAC #18607 Signed-off-by: Daniel Koch Authors: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@849 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 09fcc9fe 2011-11-09T17:46:47 Notify the display of a lost device and mark all contexts lost. TRAC #18606 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@845 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6f5c5fc0 2011-11-09T17:46:39 Check for all device lost errors. TRAC #18606 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@844 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bbeffbb6 2011-11-09T17:46:11 Be more explicit about floating-point format support. TRAC #16284 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@839 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 06312bae 2011-11-09T17:44:26 CreateAdditionalSwapChain can return D3DERR_DEVICELOST. TRAC #18386 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@817 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1043535e 2011-11-09T17:44:21 Call ResetEx on lost or hung Ex devices. Attempt calling Reset/ResetEx at most 3 times. TRAC #18386 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@816 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 94910c9e 2011-11-09T17:44:15 Perform proper Reset sequence. Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@815 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1a1fe249 2011-09-26T18:25:45 Sort EGL extension string Trac #18320 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@768 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com aa00b593 2011-09-23T18:19:50 Disable FLIPEX when the formats are not 32-bit and when swap interval is 0. TRAC #18108 ANGLEBUG=209 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@764 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com fe4b0c9e 2011-09-13T00:53:11 Fix resetting of non-existing device TRAC #18139 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@750 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a866244f 2011-09-13T00:52:26 Avoid an unnecessary MFC header dependency. Bug=180 TRAC #18128 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@749 736b8ea6-26fd-11df-bfd4-992fa37f6226
vangelis@google.com 8c9c4521 2011-09-09T18:22:28 Adding code to try and reset the device if eglCreateWindowSurface and eglCreateSurface are called while the device is reported as lost. Currently only eglCreateContext attempts to reset the device. This is a short term fix until the whole device lost issue can be revisited. One of the issues here is that if any of these egl entry points are called while the device is lost (e.g. while the screen saver is on in XP) ANGLE will spin until the device comes back. Review URL: http://codereview.appspot.com/4961070 git-svn-id: https://angleproject.googlecode.com/svn/trunk@746 736b8ea6-26fd-11df-bfd4-992fa37f6226
jacob.benoit.1@gmail.com bde15998 2011-08-24T15:05:37 Issue 199: invalid assertion in Surface.cpp makes debug browser crash on conformance test drawingbuffer-static-canvas-test.html This patch fixes assertions that were wrongly asserting that only OOM errors could occur when allocating a D3D texture/surface. The drawingbuffer-static-canvas-test.html test tries a 32768x150 size, and that fails because of the too large width without being OOM. git-svn-id: https://angleproject.googlecode.com/svn/trunk@739 736b8ea6-26fd-11df-bfd4-992fa37f6226
gman@chromium.org 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
jbauman@chromium.org 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
kbr@chromium.org 1a2cd269 2011-07-08T17:30:18 Changed two assertions to explicit tests, and added an error code to those checked during ReadPixels. These changes are needed to avoid having ANGLE assert in debug builds when running WebGL test cases which provoke a GPU reset. BUG=none TEST=slow-shader-example and lots-of-polys-example in WebGL test suite Review URL: http://codereview.appspot.com/4684042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@703 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a2a85dc1 2011-07-06T20:24:27 Fix DelayLoadDLLs deps for dwmapi in release builds Issue=177 git-svn-id: https://angleproject.googlecode.com/svn/trunk@701 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5bf210b2 2011-06-21T14:22:03 Add x86-64 project settings. Bug=55 TRAC #15606 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@698 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 58f76fe0 2011-06-21T14:21:07 Fix 64-bit support. Bug=55 TRAC #15606 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@697 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 03208d5d 2011-06-15T01:15:24 Attempt to ensure pipeline flush on rendertarget change Some ATI cards appear not to flush the pipeline correctly, causing textures not to pick up newly-drawn contexts, so do an extra no-op draw when necessary. BUG=169 TEST=chromium on hulu.com Review URL: http://codereview.appspot.com/4576051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@693 736b8ea6-26fd-11df-bfd4-992fa37f6226
twiz@chromium.org d1c32963 2011-06-10T22:20:29 Correct usage of GetVersion() windows calls. Review: http://codereview.appspot.com/4579049 git-svn-id: https://angleproject.googlecode.com/svn/trunk@688 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org db5d5f66 2011-06-08T23:50:48 Fix crlf newlines in surface.cpp TBR=apatrick@chromium.org git-svn-id: https://angleproject.googlecode.com/svn/trunk@686 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 82e7e9d0 2011-06-08T18:43:16 Recommit r668, which got undone accidentally by r673. Review URL: http://codereview.appspot.com/4589043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@683 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d6e74da1 2011-06-08T12:40:23 Add missing DWM libraries to Release project. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@680 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 837dd9ab 2011-06-07T00:40:33 Do not set a WNDPROC on a window created by another thread. It turns out SetWindowLong succeeds for other threads in the same process but we do not want the WNDPROC to be called from threads other than the thread on which EGL is running on. This was one of the reasons --in-process-gpu was not working with ANGLE in Chrome. Review URL: http://codereview.appspot.com/4576045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@677 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 79169b5a 2011-06-06T19:01:08 Use DwmAPI, if available, to minimize queueing of presents. Review URL: http://codereview.appspot.com/4559065 git-svn-id: https://angleproject.googlecode.com/svn/trunk@673 736b8ea6-26fd-11df-bfd4-992fa37f6226
baustin@google.com 250f06c9 2011-06-06T16:59:53 Made it possible to turn off D3D9Ex support with a command-line compiler option. The "Debug This Pixel..." feature in PIX often fails when using the D3D9Ex interfaces. In order to get debug pixel to work on a Vista/Win 7 machine, define "ANGLE_ENABLE_D3D9EX=0" in your project file. Review URL: http://codereview.appspot.com/4526106 git-svn-id: https://angleproject.googlecode.com/svn/trunk@672 736b8ea6-26fd-11df-bfd4-992fa37f6226
baustin@google.com 8106e870 2011-06-03T22:36:47 Handle additional lost device error codes that may be returned when using IDirect3DDevice9Ex. Review URL: http://codereview.appspot.com/4529113 git-svn-id: https://angleproject.googlecode.com/svn/trunk@671 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 585b3d0e 2011-06-03T01:48:11 Disable use of FlipEx for problematic use cases. It seems that DWM will, when given an HWND that has an associated FlipEX swap chain, stretch the contents of the HWND to fill the new window IF you don't issue draw calls to that HWND before the WM_PAINT returns. This leads to horrendous sizing artifacts. For Chromium, this is a show stopper. But, FlipEx is definitely a good thing, for regular single process applications. So, is there a clean way to conditionally disable FlipEX for these problem cases? The heuristic in this patch basically says "if your hwnd is not in-process, then you're probably not painting in its HWND, so don't sue FlipEX." This catches the Chromium use case. There is still the possibility of a regular single-process EGL application that tries to draw outside WM_PAINT that would experience sizing artefacts. But, maybe that's OK. Anyways, I'm not married to this technique. Just throwing something out there to start the discussion. :) Review URL: http://codereview.appspot.com/4536102 git-svn-id: https://angleproject.googlecode.com/svn/trunk@668 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4f9ef0d6 2011-05-30T23:51:19 Implemented OES_texture_npot support. TRAC #16871 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@661 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6c4dba0d 2011-05-26T14:15:31 Fix lost context recovery for Windows XP. Issue=138 TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@657 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c556fa57 2011-05-26T14:13:29 Revert pending surface destruction (part of revision 632). TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@656 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 062231c0 2011-05-26T14:12:17 Only use D3DSWAPEFFECT_FLIPEX on D3D9Ex devices. TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@655 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 93c0fce4 2011-05-25T01:55:06 Use D3DSWAPEFFECT_FLIPEX on Windows 7. Reduces frame rate jitters on Windows 7 reported in crbug.com/82925 Review URL: http://codereview.appspot.com/4517096 git-svn-id: https://angleproject.googlecode.com/svn/trunk@654 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2b720c92 2011-05-13T16:05:22 Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension Trac #16711 Also rename the extension file to match the extension name Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 4e297707 2011-05-12T23:04:07 Add support for eglCreatePbufferFromClientBuffer, taking as input a D3D share handle corresponding to the enum EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE. No spec as of yet, but it does the obvious thing. BUG=129 TEST= Review URL: http://codereview.appspot.com/4325048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@650 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2ff573c6 2011-05-11T15:37:17 Enable vertex texture fetch support. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@644 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3b1703f4 2011-05-11T15:36:26 Detect support for vertex shader texture lookups. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@636 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 192a1810 2011-05-05T00:00:30 Implemented semantics for eglDestroySurface when surface is current on thread. The spec has this to say. " All resources associated with surface which were allocated by EGL are marked for deletion as soon as possible. If surface is current to any thread (see section 3.7.3), resources are not actually released while the surface remains current. Future references to surface remain valid only so long as it is current; it will be destroyed, and all future references to it will become invalid, as soon as any otherwise valid eglMakeCurrent call is made from the thread it is bound to." Review URL: http://codereview.appspot.com/4449064 git-svn-id: https://angleproject.googlecode.com/svn/trunk@632 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 06d7a755 2011-04-30T01:02:52 Move attrib-list handling into Display Move the handling of attrib-lists in eglCreatePbufferSurface and eglCreateWindowList into methods in Display, so we can keep libEGL.cpp as a thin layer. BUG= TEST= Review URL: http://codereview.appspot.com/4453051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@628 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a114c273 2011-04-22T04:18:50 Advertise depthbuffer-less surface configs. TRAC #16493 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@617 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org ae345807 2011-03-30T22:04:25 Add support for eglBindTexImage and eglReleaseTexImage With this patch we can bind pbuffers as textures. Once we add support for using a sharing handle to create a pbuffer we can use this to allow us to use it as a texture as well. BUG=129 TEST=modified Simple_Texture2D works Review URL: http://codereview.appspot.com/4291066/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@604 736b8ea6-26fd-11df-bfd4-992fa37f6226
vladimirv@gmail.com 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
apatrick@chromium.org 9e83b593 2011-02-10T22:04:34 Check for device lost with CheckDeviceState when using D3D9Ex. According to the docs, TestCooperativeLevel is a no-op with D3D9Ex. http://msdn.microsoft.com/en-us/library/bb174348(VS.85).aspx I believe it is safe to ignore the additional return values from CheckDeviceState. Some appear to be to allow optimization when a window is occluded. The new errors seem to be best treated as device lost as we were before. Although if the device is removed (!) I'm not sure what to do. It might also be useful to communicate D3DERR_DEVICEHUNG to Chromium in the future so it can use it as a hint to back off. Tested that D3D9 and D3D9Ex take the appropriate paths through Display::isDeviceLost. Bug: http://code.google.com/p/angleproject/issues/detail?id=113 Review URL: http://codereview.appspot.com/4154042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@557 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
daniel@transgaming.com a0ce7e61 2011-01-25T14:47:16 Added version info resources. TRAC #15181 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@539 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org b31f532d 2011-01-19T19:02:52 All surfaces follow D3D Y convention, i.e. (0, 0) is "top-left" rather than GL's "bottom-left". This eliminates the need to flip the default FBO to the D3D convention using additional blits when presenting and reduces VRAM usage for redundant window sized surfaces. I took out the gl_Position.y flip from the vertex shader so FBOs are rendered according to D3D conventions. Texture lookups are flipped on Y to compensate. Cube map +Y and -Y faces are swapped. Y is now flipped in various other places, including uploading and reading back texture data from / to system memory, functions that take pixel space coordinates, winding order for culling, the implementation of ddy, the calculation of gl_Position and gl_FragCoord in fragment shaders and the flipping of compressed texture tiles. Review URL: http://codereview.appspot.com/3265041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@536 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f759f7a4 2011-01-13T21:42:53 Review: http://codereview.appspot.com/3969041/ Fixed dangling pointers in Surface. When the surface is reset, either because of device lost or a window resize, and any of these fail: CreateDepthStencilSurface CreateTexture Some subsset of mSwapChain and/or mDepthStencil would be left uninitialized. This seemed to happen frequently on WIndows XP boxes. Example crash dumps: Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffff800f0004 ) 0x014f1aac [libegl.dll - surface.cpp:479] egl::Surface::getDepthStencil() 0x1001324c [libglesv2.dll - context.cpp:301] gl::Context::makeCurrent(egl::Display *,egl::Surface *) 0x10018c7e [libglesv2.dll - main.cpp:85] gl::makeCurrent(gl::Context *,egl::Display *,egl::Surface *) 0x10017366 [libglesv2.dll - context.cpp:3524] glMakeCurrent 0x014f607c [libegl.dll - libegl.cpp:884] eglMakeCurrent Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffffe95b5a5d ) 0x01131a14 [libegl.dll - surface.cpp:433] egl::Surface::swap() 0x01136310 [libegl.dll - libegl.cpp:1043] eglSwapBuffers 0x0214ac64 [chrome.dll - gl_context_egl.cc:240] gfx::NativeViewEGLContext::SwapBuffers() git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ee04e455 2011-01-08T05:46:27 Create dynamic buffers in the default pool. TRAC #14889 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@529 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 37b141e2 2011-01-08T05:46:13 Create buffers in the managed pool on Windows XP. TRAC #14888 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@527 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 83921386 2011-01-08T05:46:00 rewrite buffers implementation to support static buffers more efficiently Bug=89 Trac #13565 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@526 736b8ea6-26fd-11df-bfd4-992fa37f6226
baustin@google.com d2fed1c7 2011-01-06T21:51:20 Fixed compile errors that show up when _UNICODE is not defined. Review URL: http://codereview.appspot.com/3772045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@525 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7595a122 2010-12-12T08:53:27 Fix infinite loop in eglCreateWindowSurface Issue=90 Contributed by vladimirv git-svn-id: https://angleproject.googlecode.com/svn/trunk@503 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org db9cac07 2010-12-09T20:16:17 Don't unsubclass the surface's output window if the window has been destroyed. Review URL: http://codereview.appspot.com/3357041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@499 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com beb2a273 2010-11-26T16:26:16 Render directly to a render target texture. TRAC #14506 This speeds up surface swapping by avoiding an unnecessary StretchRect from a render target surface to a render target texture (anti-aliased surfaces are unsupported so no resolve is needed). Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@493 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org a6e31e58 2010-11-18T00:24:27 Resize surface on receipt of WM_SIZE to avoid corruption during resize. We hook WM_SIZE using window subclassing. This is a continuation of http://codereview.appspot.com/3038042/ Review URL: http://codereview.appspot.com/3122041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@486 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 74d760bc 2010-11-03T12:27:18 Preserve the scissor and viewport rectangles on swap and blit TRAC #14054 The SetRenderTarget calls used in Blit::boxFilter() and Surface::swap() implicitly reset the scissor and viewport rectangles. So we need to ensure that the original rectangles get captured, and restored afterwards (the Context only keeps track of explicitly changed state). Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@472 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 24e39699 2010-11-01T21:19:43 Fixed null dereference when null passed as attribute list to eglCreateContext. I tested that the samples still work and that they fail as expected, but do not crash, if the attribute list argument is null. Review URL: http://codereview.appspot.com/2725042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@471 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 78477fc0 2010-10-27T17:57:14 eglCreateContext checks client version is 2. I believe we don't support version 1 since we are missing things like the fixed function pipeline. This is motivated by consistency with other EGL implementations, which return a v1 context if the EGL_CONTEXT_CLIENT_VERSION attribute is not specified. Review URL: http://codereview.appspot.com/2760041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@468 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 73a5db67 2010-10-15T17:58:13 Initialize renderbuffer variables. Make serials constant. Removed X1R5G5B5 support. TRAC #13792 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@460 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ed828e5b 2010-10-15T17:57:30 Detect L8 and A8L8 texture support. TRAC #13792 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@455 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 1c76801e 2010-10-07T00:35:24 - Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES capability during initialization to fail on DirectX8 drivers. - Fail in GetDeviceCaps loop after one second. Review URL: http://codereview.appspot.com/2354042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@446 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e979ead8 2010-09-23T18:03:14 Restore line endings Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@438 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 36af61c5 2010-09-22T17:14:02 Reset a lost device before releasing it TRAC #13622 This prevents the driver from getting stuck in an undefined state and returning errors when trying to create a new device or querying capabilities. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@436 736b8ea6-26fd-11df-bfd4-992fa37f6226