kc3-lang/angle/src/libEGL/Display.h

Branch :


Log

Author Commit Date CI Message
86bdb824 2012-01-20 18: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
f289ee8d 2012-01-11 20: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
a5ddde91 2012-01-10 23: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
e19d8328 2011-12-13 17: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
59580a3d 2011-11-12 04: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
4ff960d9 2011-11-09 17: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-09 17: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
09fcc9fe 2011-11-09 17: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
bbeffbb6 2011-11-09 17: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
8c9c4521 2011-09-09 18: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
50c526d2 2011-08-10 05: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
84d7cbc3 2011-07-14 22: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
03208d5d 2011-06-15 01: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
4f9ef0d6 2011-05-30 23: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
4e297707 2011-05-12 23: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
3b1703f4 2011-05-11 15: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
06d7a755 2011-04-30 01: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
ae345807 2011-03-30 22: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
721b7f26 2011-02-11 00: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
9e83b593 2011-02-10 22: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
ee04e455 2011-01-08 05: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
37b141e2 2011-01-08 05: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
ed828e5b 2010-10-15 17: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
36af61c5 2010-09-22 17: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
1297d92b 2010-09-01 15: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
0db0d6c8 2010-08-31 20: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
d36c6a0a 2010-08-31 12: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
d3bd0ad3 2010-08-30 18: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
0a337e93 2010-08-28 17: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
01868135 2010-08-24 19: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-24 19: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
94e1934d 2010-08-17 22: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
da6e263c 2010-07-28 19: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
0d25b005 2010-07-28 19: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
353569a9 2010-06-24 13: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
616ffcf4 2010-05-07 19: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
b6bd727d 2010-05-05 18: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
ae072afe 2010-05-05 18: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
e6842296 2010-04-20 18: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
ea0e1af4 2010-03-22 19: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