Implemented fullscreen <-> windowed transition on Windows 8
diff --git a/src/render/direct3d11/SDL_render_d3d11.c b/src/render/direct3d11/SDL_render_d3d11.c
index c583403..548ab18 100644
--- a/src/render/direct3d11/SDL_render_d3d11.c
+++ b/src/render/direct3d11/SDL_render_d3d11.c
@@ -1732,7 +1732,6 @@ static HRESULT
D3D11_UpdateForWindowSizeChange(SDL_Renderer * renderer)
{
D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata;
- /* FIXME: Do we need to release render targets like we do in D3D9? */
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
*/
- if (result == DXGI_ERROR_DEVICE_REMOVED) {
+ if ( result == DXGI_ERROR_DEVICE_REMOVED ) {
D3D11_HandleDeviceLost(renderer);
+ } else if (result == DXGI_ERROR_INVALID_CALL) {
+ /* We probably went through a fullscreen <-> windowed transition */
+ D3D11_CreateWindowSizeDependentResources(renderer);
} else {
WIN_SetErrorFromHRESULT(__FUNCTION__ ", IDXGISwapChain::Present", result);
}