Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled

This commit is contained in:
Stenzek
2019-01-27 12:24:53 +10:00
parent ff5e296576
commit b01df8670f
7 changed files with 18 additions and 16 deletions

View File

@ -601,7 +601,7 @@ void Present()
// flag when it is supported, even when presenting in windowed mode.
// However, this flag cannot be used if the app is in fullscreen mode as a
// result of calling SetFullscreenState.
if (AllowTearingSupported() && !g_ActiveConfig.IsVSync() && !GetFullscreenState())
if (AllowTearingSupported() && !g_ActiveConfig.bVSyncActive && !GetFullscreenState())
present_flags |= DXGI_PRESENT_ALLOW_TEARING;
if (swapchain->IsTemporaryMonoSupported() && g_ActiveConfig.stereo_mode != StereoMode::QuadBuffer)
@ -610,7 +610,7 @@ void Present()
}
// TODO: Is 1 the correct value for vsyncing?
swapchain->Present(static_cast<UINT>(g_ActiveConfig.IsVSync()), present_flags);
swapchain->Present(static_cast<UINT>(g_ActiveConfig.bVSyncActive), present_flags);
}
HRESULT SetFullscreenState(bool enable_fullscreen)

View File

@ -751,7 +751,7 @@ Renderer::Renderer(std::unique_ptr<GLContext> main_gl_context, float backbuffer_
// Handle VSync on/off
if (!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_VSYNC))
m_main_gl_context->SwapInterval(g_ActiveConfig.IsVSync());
m_main_gl_context->SwapInterval(g_ActiveConfig.bVSyncActive);
// Because of the fixed framebuffer size we need to disable the resolution
// options while running
@ -1439,7 +1439,7 @@ void Renderer::OnConfigChanged(u32 bits)
}
if (bits & CONFIG_CHANGE_BIT_VSYNC && !DriverDetails::HasBug(DriverDetails::BUG_BROKEN_VSYNC))
m_main_gl_context->SwapInterval(g_ActiveConfig.IsVSync());
m_main_gl_context->SwapInterval(g_ActiveConfig.bVSyncActive);
if (bits & CONFIG_CHANGE_BIT_ANISOTROPY)
g_sampler_cache->Clear();

View File

@ -735,7 +735,7 @@ void Renderer::OnConfigChanged(u32 bits)
if (m_swap_chain && bits & CONFIG_CHANGE_BIT_VSYNC)
{
g_command_buffer_mgr->WaitForGPUIdle();
m_swap_chain->SetVSync(g_ActiveConfig.IsVSync());
m_swap_chain->SetVSync(g_ActiveConfig.bVSyncActive);
}
// For quad-buffered stereo we need to change the layer count, so recreate the swap chain.

View File

@ -213,8 +213,8 @@ bool VideoBackend::Initialize(const WindowSystemInfo& wsi)
std::unique_ptr<SwapChain> swap_chain;
if (surface != VK_NULL_HANDLE)
{
swap_chain =
SwapChain::Create(wsi.display_connection, wsi.render_surface, surface, g_Config.IsVSync());
swap_chain = SwapChain::Create(wsi.display_connection, wsi.render_surface, surface,
g_ActiveConfig.bVSyncActive);
if (!swap_chain)
{
PanicAlert("Failed to create Vulkan swap chain.");