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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Blit.cpp | Loading commit data... | |
| Blit.h | Loading commit data... | |
| Buffer.cpp | Loading commit data... | |
| Buffer.h | Loading commit data... | |
| Context.cpp | Loading commit data... | |
| Context.h | Loading commit data... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| HandleAllocator.cpp | Loading commit data... | |
| HandleAllocator.h | Loading commit data... | |
| IndexDataManager.cpp | Loading commit data... | |
| IndexDataManager.h | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.h | Loading commit data... | |
| RefCountObject.cpp | Loading commit data... | |
| RefCountObject.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| Shader.cpp | Loading commit data... | |
| Shader.h | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| VertexDataManager.cpp | Loading commit data... | |
| VertexDataManager.h | Loading commit data... | |
| libGLESv2.cpp | Loading commit data... | |
| libGLESv2.def | Loading commit data... | |
| libGLESv2.rc | Loading commit data... | |
| libGLESv2.vcproj | Loading commit data... | |
| main.cpp | Loading commit data... | |
| main.h | Loading commit data... | |
| mathutil.h | Loading commit data... | |
| resource.h | Loading commit data... | |
| utilities.cpp | Loading commit data... | |
| utilities.h | Loading commit data... | |
| vertexconversion.h | Loading commit data... |