Implemented fullscreen <-> windowed transition on Windows 8

This commit is contained in:
Sam Lantinga 2014-03-10 15:00:59 -07:00
parent 7e8b25534d
commit 9c2fb684af
1 changed files with 4 additions and 2 deletions

View File

@ -1732,7 +1732,6 @@ static HRESULT
D3D11_UpdateForWindowSizeChange(SDL_Renderer * renderer) D3D11_UpdateForWindowSizeChange(SDL_Renderer * renderer)
{ {
D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata; D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata;
/* FIXME: Do we need to release render targets like we do in D3D9? */
return D3D11_CreateWindowSizeDependentResources(renderer); return D3D11_CreateWindowSizeDependentResources(renderer);
} }
@ -3004,8 +3003,11 @@ D3D11_RenderPresent(SDL_Renderer * renderer)
* *
* TODO, WinRT: consider throwing an exception if D3D11_RenderPresent fails, especially if there is a way to salvage debug info from users' machines * TODO, WinRT: consider throwing an exception if D3D11_RenderPresent fails, especially if there is a way to salvage debug info from users' machines
*/ */
if (result == DXGI_ERROR_DEVICE_REMOVED) { if ( result == DXGI_ERROR_DEVICE_REMOVED ) {
D3D11_HandleDeviceLost(renderer); D3D11_HandleDeviceLost(renderer);
} else if (result == DXGI_ERROR_INVALID_CALL) {
/* We probably went through a fullscreen <-> windowed transition */
D3D11_CreateWindowSizeDependentResources(renderer);
} else { } else {
WIN_SetErrorFromHRESULT(__FUNCTION__ ", IDXGISwapChain::Present", result); WIN_SetErrorFromHRESULT(__FUNCTION__ ", IDXGISwapChain::Present", result);
} }