From e3d80a2381c6fc0d405bb4797dcf1af731ea7375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Wed, 24 Oct 2018 17:49:13 -0700 Subject: [PATCH] D3D1x: Disable window changes on all windows. --- src/renderer_d3d11.cpp | 9 +++++++++ src/renderer_d3d12.cpp | 15 +++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 3e991a077..11ba7c38d 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -4592,6 +4592,15 @@ namespace bgfx { namespace d3d11 ); BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Failed to create swap chain."); +#if BX_PLATFORM_WINDOWS + DX_CHECK(s_renderD3D11->m_dxgi.m_factory->MakeWindowAssociation( + (HWND)_nwh + , 0 + | DXGI_MWA_NO_WINDOW_CHANGES + | DXGI_MWA_NO_ALT_ENTER + ) ); +#endif // BX_PLATFORM_WINDOWS + ID3D11Resource* ptr; DX_CHECK(m_swapChain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&ptr) ); DX_CHECK(device->CreateRenderTargetView(ptr, NULL, &m_rtv[0]) ); diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index c231af5cc..8b3f7ab7a 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -4949,13 +4949,20 @@ namespace bgfx { namespace d3d12 HRESULT hr; hr = s_renderD3D12->m_dxgi.createSwapChain( - s_renderD3D12->getDeviceForSwapChain() - , scd - , &m_swapChain - ); + s_renderD3D12->getDeviceForSwapChain() + , scd + , &m_swapChain + ); BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Failed to create swap chain."); m_state = D3D12_RESOURCE_STATE_PRESENT; + DX_CHECK(s_renderD3D12->m_dxgi.m_factory->MakeWindowAssociation( + (HWND)_nwh + , 0 + | DXGI_MWA_NO_WINDOW_CHANGES + | DXGI_MWA_NO_ALT_ENTER + ) ); + ID3D12Device* device = s_renderD3D12->m_device; FrameBufferHandle fbh = { uint16_t(this - s_renderD3D12->m_frameBuffers) };