Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2147)

Issue 5534065: Allocate D3D queries from a pool for the Display. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 10 months ago by apatrick1
Modified:
12 years, 10 months ago
Reviewers:
dgkoch
CC:
angleproject-review_googlegroups.com
Base URL:
http://angleproject.googlecode.com/svn/trunk/
Visibility:
Public.

Description

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. Committed: http://code.google.com/p/angleproject/source/detail?r=941

Patch Set 1 #

Total comments: 3

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -35 lines) Patch
M samples/gles2_book/Common/esUtil.h View 2 chunks +8 lines, -0 lines 0 comments Download
M samples/gles2_book/Common/esUtil.c View 2 chunks +15 lines, -0 lines 0 comments Download
M src/libEGL/Display.h View 1 3 chunks +6 lines, -1 line 0 comments Download
M src/libEGL/Display.cpp View 1 7 chunks +52 lines, -24 lines 0 comments Download
M src/libGLESv2/Fence.cpp View 1 2 chunks +7 lines, -10 lines 0 comments Download

Messages

Total messages: 4
apatrick1
This should fix the last of the Intel D3D query related crashes. Thanks, Al
12 years, 10 months ago (2012-01-10 23:12:28 UTC) #1
dgkoch
http://codereview.appspot.com/5534065/diff/1/src/libEGL/Display.cpp File src/libEGL/Display.cpp (right): http://codereview.appspot.com/5534065/diff/1/src/libEGL/Display.cpp#newcode1098 src/libEGL/Display.cpp:1098: freeEventQuery(query); you need to avoid the free if query ...
12 years, 10 months ago (2012-01-11 13:45:51 UTC) #2
apatrick1
Thanks! All done.
12 years, 10 months ago (2012-01-11 19:01:07 UTC) #3
dgkoch
12 years, 10 months ago (2012-01-11 19:05:06 UTC) #4
LGTM
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b