From 74280b741196f93d9f1d65df5421c2100bfb9fc6 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Thu, 11 Mar 2021 17:57:26 +0100 Subject: [PATCH 1/4] Enable ALT+ENTER. --- Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp b/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp index 6ebd55384..f5f0268d3 100644 --- a/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp +++ b/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp @@ -208,7 +208,7 @@ bool GPUSwapChainDX11::Resize(int32 width, int32 height) ASSERT(_swapChain); // Disable DXGI changes to the window - VALIDATE_DIRECTX_RESULT(dxgi->MakeWindowAssociation(_windowHandle, DXGI_MWA_NO_WINDOW_CHANGES | DXGI_MWA_NO_ALT_ENTER)); + VALIDATE_DIRECTX_RESULT(dxgi->MakeWindowAssociation(_windowHandle, 0)); #else auto dxgiFactory = (IDXGIFactory2*)_device->GetDXGIFactory(); VALIDATE_DIRECTX_RESULT(dxgiFactory->CreateSwapChainForCoreWindow(_device->GetDevice(), static_cast(_windowHandle), &swapChainDesc, nullptr, &_swapChain)); From 6813cb607ebe3ddff7597b9c7043e6c6926563fe Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Thu, 11 Mar 2021 17:58:25 +0100 Subject: [PATCH 2/4] Fix Fullscreen switch. --- .../Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp b/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp index f5f0268d3..e9d83bfc3 100644 --- a/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp +++ b/Source/Engine/GraphicsDevice/DirectX/DX11/GPUSwapChainDX11.cpp @@ -99,8 +99,6 @@ void GPUSwapChainDX11::SetFullscreen(bool isFullscreen) swapChainDesc.BufferDesc = outputDX.DesktopViewMode; } - releaseBackBuffer(); - if (FAILED(_swapChain->ResizeTarget(&swapChainDesc.BufferDesc))) { LOG(Warning, "Swapchain resize failed."); @@ -110,10 +108,6 @@ void GPUSwapChainDX11::SetFullscreen(bool isFullscreen) { LOG(Warning, "Cannot change fullscreen mode for '{0}' to {1}.", ToString(), isFullscreen); } - - VALIDATE_DIRECTX_RESULT(_swapChain->ResizeBuffers(swapChainDesc.BufferCount, _width, _height, swapChainDesc.BufferDesc.Format, swapChainDesc.Flags)); - - getBackBuffer(); } #else LOG(Info, "Cannot change fullscreen mode on this platform"); From cc5849100bf30941956e2ac0eca11e6db22ea9d3 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Thu, 11 Mar 2021 18:02:17 +0100 Subject: [PATCH 3/4] Fix DX12 Fullscreen. --- .../Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp b/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp index 669b217e4..01ffa09bc 100644 --- a/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp +++ b/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp @@ -124,8 +124,6 @@ void GPUSwapChainDX12::SetFullscreen(bool isFullscreen) swapChainDesc.BufferDesc = outputDX.DesktopViewMode; } - releaseBackBuffer(); - if (FAILED(_swapChain->ResizeTarget(&swapChainDesc.BufferDesc))) { LOG(Warning, "Swapchain resize failed."); @@ -136,10 +134,6 @@ void GPUSwapChainDX12::SetFullscreen(bool isFullscreen) LOG(Warning, "Cannot change fullscreen mode for '{0}' to {1}.", ToString(), isFullscreen); } - VALIDATE_DIRECTX_RESULT(_swapChain->ResizeBuffers(swapChainDesc.BufferCount, _width, _height, swapChainDesc.BufferDesc.Format, swapChainDesc.Flags)); - - getBackBuffer(); - _isFullscreen = isFullscreen; } #else From ba75cabdda875f44720c6d80f2d392dceedbb459 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Thu, 11 Mar 2021 18:02:55 +0100 Subject: [PATCH 4/4] Enable ALT+ENTER DX12. --- Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp b/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp index 01ffa09bc..b8ac22bba 100644 --- a/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp +++ b/Source/Engine/GraphicsDevice/DirectX/DX12/GPUSwapChainDX12.cpp @@ -217,7 +217,7 @@ bool GPUSwapChainDX12::Resize(int32 width, int32 height) _backBuffers.Resize(swapChainDesc.BufferCount); // Disable DXGI changes to the window - dxgiFactory->MakeWindowAssociation(_windowHandle, DXGI_MWA_NO_WINDOW_CHANGES | DXGI_MWA_NO_ALT_ENTER); + dxgiFactory->MakeWindowAssociation(_windowHandle, 0); } else {