From 9ecd4625388f3ff4601bb05e37f7bb6414203a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Thu, 9 Sep 2021 09:50:17 -0700 Subject: [PATCH] Cleanup. --- src/dxgi.cpp | 2 +- src/dxgi.h | 2 +- src/renderer_d3d11.cpp | 5 ++++- src/renderer_d3d12.cpp | 15 ++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/dxgi.cpp b/src/dxgi.cpp index beadcfeca..34c3e69ce 100644 --- a/src/dxgi.cpp +++ b/src/dxgi.cpp @@ -788,7 +788,7 @@ namespace bgfx #endif // BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT } - bool Dxgi::tearingSupported() + bool Dxgi::tearingSupported() const { return m_tearingSupported; } diff --git a/src/dxgi.h b/src/dxgi.h index c4dccfa64..43671bf17 100644 --- a/src/dxgi.h +++ b/src/dxgi.h @@ -100,7 +100,7 @@ namespace bgfx void trim(); /// - bool tearingSupported(); + bool tearingSupported() const; /// void* m_dxgiDll; diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 8f6ab6117..6d2635b09 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -2288,10 +2288,13 @@ namespace bgfx { namespace d3d11 && m_needPresent) { uint32_t presentFlags = 0; - if (!syncInterval && (m_dxgi.tearingSupported())) + + if (!syncInterval + && m_dxgi.tearingSupported() ) { presentFlags |= DXGI_PRESENT_ALLOW_TEARING; } + hr = m_swapChain->Present(syncInterval, presentFlags); m_needPresent = false; diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index 8e782e915..ebb072f78 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -1508,29 +1508,26 @@ namespace bgfx { namespace d3d12 HRESULT hr = S_OK; uint32_t syncInterval = !!(m_resolution.reset & BGFX_RESET_VSYNC); - uint32_t flags = 0; + uint32_t presentFlags = 0; if (syncInterval) { - flags |= DXGI_PRESENT_RESTART; + presentFlags |= DXGI_PRESENT_RESTART; } - else + else if (m_dxgi.tearingSupported() ) { - if (m_dxgi.tearingSupported()) - { - flags |= DXGI_PRESENT_ALLOW_TEARING; - } + presentFlags |= DXGI_PRESENT_ALLOW_TEARING; } for (uint32_t ii = 1, num = m_numWindows; ii < num && SUCCEEDED(hr); ++ii) { FrameBufferD3D12& frameBuffer = m_frameBuffers[m_windows[ii].idx]; - hr = frameBuffer.present(syncInterval, flags); + hr = frameBuffer.present(syncInterval, presentFlags); } if (SUCCEEDED(hr) && NULL != m_swapChain) { - hr = m_swapChain->Present(syncInterval, flags); + hr = m_swapChain->Present(syncInterval, presentFlags); } int64_t now = bx::getHPCounter();