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

Issue 7911044: When CheckDeviceState returns S_PRESENT_OCCLUDED, Present a dummy frame and try again. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 1 month ago by apatrick1
Modified:
11 years, 1 month ago
Reviewers:
shannon.woods, shannon.woods%transgaming.com, nicolas
CC:
angleproject-review_googlegroups.com
Base URL:
http://angleproject.googlecode.com/svn/trunk/
Visibility:
Public.

Description

When CheckDeviceState returns S_PRESENT_OCCLUDED, Present a dummy frame and try again. This is to avoid a hang in glFinish in the event that the GPU hangs while the screen is locked. To repro, modify this sample so that it waits a few seconds before hanging the GPU. https://www.khronos.org/registry/webgl/conformance-suites/1.0.0/extra/lots-of-polys-example.html After initiating the GPU hang, quickly lock the screen. The GPU will reset but ANGLE only ever sees S_PRESENT_OCCLUDED followed by D3DERR_NOERROR. It never sees the device lost error. Calling Present while the screen is locked seems to make CheckDeviceState return the device lost. Doing the extra Present in testDeviceLost every time did not work well because it is very slow, perhaps because D3D delays presents to hidden windows to throttle the app. Committed: https://code.google.com/p/angleproject/source/detail?r=2001

Patch Set 1 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7 lines, -0 lines) Patch
M src/libEGL/Display.cpp View 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 2
apatrick1
Another device lost recovery "fix". Please take a look. Thx!
11 years, 1 month ago (2013-03-19 19:54:37 UTC) #1
shannon.woods%transgaming.com
11 years, 1 month ago (2013-03-20 19:23:25 UTC) #2
LGTM.
Sign in to reply to this message.

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