Revert device lost display mode changed handling in the D3D9 path.

See https://codereview.appspot.com/8038044 TRAC #22882 Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@2048 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 28cb333d
...@@ -2042,23 +2042,6 @@ bool Renderer9::testDeviceLost(bool notify) ...@@ -2042,23 +2042,6 @@ bool Renderer9::testDeviceLost(bool notify)
if (mDeviceEx) if (mDeviceEx)
{ {
status = mDeviceEx->CheckDeviceState(NULL); status = mDeviceEx->CheckDeviceState(NULL);
if (status == S_PRESENT_MODE_CHANGED)
{
// Reset the device so that D3D stops reporting S_PRESENT_MODE_CHANGED. Otherwise it will report
// it continuously, potentially masking a lost device. D3D resources are not lost on a mode change with WDDM.
D3DPRESENT_PARAMETERS presentParameters = getDefaultPresentParameters();
mDeviceEx->Reset(&presentParameters);
// Existing swap chains sometimes crash on the next present after a reset.
mDisplay->recreateSwapChains();
// Reset will not always cause the device loss to be reported so issue a dummy present.
mDeviceEx->Present(NULL, NULL, NULL, NULL);
// Retest the device status to see if the mode change really indicated a lost device.
status = mDeviceEx->CheckDeviceState(NULL);
}
} }
else if (mDevice) else if (mDevice)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment