]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Always enable ALLOW_TEARING if no vsync.
authorToni Wilen <twilen@winuae.net>
Thu, 9 Nov 2023 17:17:40 +0000 (19:17 +0200)
committerToni Wilen <twilen@winuae.net>
Thu, 9 Nov 2023 17:17:40 +0000 (19:17 +0200)
od-win32/direct3d11.cpp

index 9a1c6b7aa7d66b31dcc7b9dba6cb6ce6433a7440..3b461d73b5b0aba36b9a715c2fa4b615d6ad27b5 100644 (file)
@@ -3357,7 +3357,7 @@ static void do_present(struct d3d11struct *d3d)
        UINT syncinterval = d3d->vblankintervals;
        // only if no vsync or low latency vsync
        if (d3d->m_tearingSupport && (d3d->swapChainDesc.Flags & DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING) && (!vsync || apm->gfx_vsyncmode)) {
-               if (apm->gfx_vsyncmode || d3d->num > 0 || currprefs.turbo_emulation || currprefs.gfx_variable_sync) {
+               if (apm->gfx_vsyncmode || d3d->num > 0 || currprefs.turbo_emulation || (currprefs.gfx_variable_sync > 0 || (isfs(d3d) <= 0) && currprefs.gfx_variable_sync >= 0)) {
                        presentFlags |= DXGI_PRESENT_ALLOW_TEARING;
                        syncinterval = 0;
                }