src/libEGL/Display.h


Log

Author Commit Date CI Message
Geoff Lang 591e6afe 2014-06-18T18:08:57 Add support for ANGLE_platform_angle. BUG=angle:490 Change-Id: If3c897a9ae3d27b96e4b9bf9475a9ac23a1090ba Reviewed-on: https://chromium-review.googlesource.com/185396 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2b5f3b36 2014-06-18T18:07:49 Add support for EGL_EXT_client_extensions. BUG=angle:490 Change-Id: Iafc476cef7a3d11b3bb3640e673c28c6df3cf2a1 Reviewed-on: https://chromium-review.googlesource.com/204566 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 83217796 2014-01-16T09:52:38 Remove system.h. The gyp files already define NOMINMAX and WIN32_LEAN_AND_MEAN. windows.h is also included via the D3D includes. This ends up speeding up the build process significantly by not having windows.h included in nearly every file. Also fixes issues on non-windows systems by not having stdarg.h included in debug.cpp. Change-Id: Id32d9aac37a5a29df832a062dd8024302a798a1c Reviewed-on: https://chromium-review.googlesource.com/183251 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
shannonwoods@chromium.org 6e4f2a6b 2013-05-30T00:15:19 Add adapter LUID to EGL vendor string. This is so Chrome can create another D3D device on the same adapter that can share resources with ANGLE's D3D device. Review URL: https://codereview.appspot.com/9225046 SVN URL: https://code.google.com/p/angleproject/source/detail?r=2210 TRAC #23166 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Merged-by: Jamie Madill Author: apatrick@chromium.org git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2367 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org eff3a127 2013-05-30T00:10:04 Control the creation of DX9 or DX11 renderers through eglGetDisplay. TRAC #23029 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2328 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com 8bce3f59 2013-04-13T03:35:32 Add SwapChain::recreate for dealing with certain cases of lost devices. See https://code.google.com/p/angleproject/source/detail?r=1993 TRAC #22826 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2107 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com daea4b45 2013-04-13T03:28:54 eglCreateContext passes the client version to the context. gl::Context stores the client version to validate gl function parameters. TRAC #22694 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2067 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com 486d9e9b 2013-02-28T23:15:41 Remove a lot of unnecessary include files and break include chains. This should speed up incremental compile times when modifying headers, by reducing the number of dependencies. TRAC #22518 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com a9b96d0d 2013-01-25T21:56:18 Include windows.h from one place to ensure that min and max macros are not defined. These conflict with the STL functions of the same name. This is to make the standalone ANGLE gyp build work again. Review URL: https://codereview.appspot.com/7211043 Also includes r1729 which adds the missing new file. git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1790 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com dd6ad22c 2013-01-11T21:16:47 Fix a few unnecessary uses of Renderer9 Trac #22394 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1716 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 28e3692d 2012-11-28T21:02:47 Remove getRenderer9 from Display Trac #22200 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1525 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1f57d18a 2012-11-28T21:02:38 Remove unnecessary d3d9.h includes Trac #22200 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1524 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 76d3e6e0 2012-10-31T19:55:33 Rename renderer namespace to rx Trac #21999 Author: Shannon Woods Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1379 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bdfb3914 2012-10-31T19:55:21 Explicitly retrieve a Renderer9 or Renderer interface from Display. TRAC #21963 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1377 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2507f41e 2012-10-31T18:46:48 Split Renderer into version independent interface and Renderer9 implementation. TRAC #21963 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1358 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 114bd460 2012-10-31T18:42:47 Remove min/max swapinterval from Display. Get from Renderer if needed. Trac #21810 Signed-off-by: Nicolas Capens Also have the Surface explicitly hang onto the Renderer git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1353 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e4733d7e 2012-10-31T18:07:01 Move shader cache into Renderer Trac #21727 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1333 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ef21ab29 2012-10-31T17:52:47 Move query and sync support to Renderer Trac #21727 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1331 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 313e3924 2012-10-31T17:52:39 Move Sharehandle support query to renderer Trac #21727 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1330 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 621ce053 2012-10-31T17:52:29 Add Renderer class and move functionality from Display Trac #21727 Conflicts: src/libGLESv2/Texture.cpp src/libGLESv2/libGLESv2.vcxproj git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1329 736b8ea6-26fd-11df-bfd4-992fa37f6226
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
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 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
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
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
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
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
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 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 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
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
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
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
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
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 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
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
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
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 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
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
daniel@transgaming.com 1297d92b 2010-09-01T15:47:47 Implements support for renderable floating point textures. TRAC #12909 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@409 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 0db0d6c8 2010-08-31T20:00:18 Replaces swap chain lazily when the swap interval is changed. It does not appear to be possible to pass a presentation interval to Present() or change it after creating the swap chain, short of calling Reset(). I decided to try fixing it by replacing the swap chain under the same conditions as a window resize. I tested it with a modified version of the simple vertex shader sample, passing various values to eglSwapInterval. My reading of the EGL spec might be wrong but I believe the interval state should be associated with the surface bound to the current context, rather than the display. Review URL: http://codereview.appspot.com/2036044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@408 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d36c6a0a 2010-08-31T12:15:09 Implemented recovering from a lost device by context recreation. TRAC #13222 Singed-off-by: Daniel Koch Author: Nicolas Capens <nicolas@transgaming.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@406 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org d3bd0ad3 2010-08-30T18:55:36 Implemented GL_NV_fence extension. I believe I have implemented all features according to the spec. The application is to allow the Chrome command buffer scheduler to be smarter about deciding which command buffer to process. For example, if a WebGL app issued a call to ReadPixels, the scheduler will issue a fence and defer executing the ReadPixels until the status goes true. It can continue to work on other command buffers in the meantime. I tested by modifying the vertex shader demo. After issuing the SwapBuffers i made issue a fence and loop until the status went true and verified it looped several times. I also tested that by calling FinishFence before going into the loop that is did not loop at all. Review URL: http://codereview.appspot.com/1965043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@405 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0a337e93 2010-08-28T17:38:27 Implement support for floating point textures. Trac #12909 Implements GL_OES_texture_float, GL_OES_texture_half_float, GL_OES_texture_float_linear, and GL_OES_texture_half_float_linear when supported by the hardware. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods <shannon.woods@transgaming.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@404 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
apatrick@chromium.org 94e1934d 2010-08-17T22:19:58 Fixed crash on context lost. This fixes the crash on lost context for vista and windows 7 if suitable drivers are available. It now uses D3D9Ex when available and this only reports lost contexts for hardware failures and suchlike. Testing procedure was: - run simple_vertex_shader without this change. - ctrl+alt+del to lock machine. - return to desktop. - observe that simple_vertex_shader crashes. - repeat with this change and check that simple_vertex_shader is still animating. - simulate the code path that an XP machine would take using the debugger and check that old behavior is preserved. I decided to load D3D9.DLL at runtime for a couple of reasons. First, I didn't want to assume that older implementations of D3D9 would have the Direct3DCreate9Ex entry point. Second, it might be advantageous for some applications to not have a load time dependency on D3D9. I didn't address this for D3DX9 because it's a little harder - there's no clear way to determine which D3DX9_x.DLL library to open. At least D3DX9_x.DLL does not seem to import D3D9.DLL and D3DX is separately redistributable so there is still some advantage to be had. Review URL: http://codereview.appspot.com/1951044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@384 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com da6e263c 2010-07-28T19:21:18 Support window resizing TRAC #12660 Automatically resize the D3D swap chain when the eglSwapBuffers is called and the presentation window has changed size. Also change D3D device init to be performed once when the Display is created using a hidden 1x1 window. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@365 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0d25b005 2010-07-28T19:21:07 Create shared contexts. TRAC #12498 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 353569a9 2010-06-24T13:02:12 Eliminates redundant calls to GetDeviceCaps TRAC #12283 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@339 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 616ffcf4 2010-05-07T19:01:49 Optimized getPresentInterval TRAC #12180 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@252 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b6bd727d 2010-05-05T18:48:22 Implemented eglSwapInterval TRAC #12137 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@235 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ae072afe 2010-05-05T18:47:28 Minimize BeginScene / EndScene calls TRAC #12139 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@231 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e6842296 2010-04-20T18:52:50 Fix more relative #include paths (mostly header files) Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@171 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 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