diff --git a/src/dxgi/dxgi_swapchain.cpp b/src/dxgi/dxgi_swapchain.cpp index 88ee3c6d..9b1283a1 100644 --- a/src/dxgi/dxgi_swapchain.cpp +++ b/src/dxgi/dxgi_swapchain.cpp @@ -303,15 +303,22 @@ namespace dxvk { HRESULT STDMETHODCALLTYPE DxgiSwapChain::Present(UINT SyncInterval, UINT Flags) { - return Present1(SyncInterval, Flags, nullptr); + return PresentBase(SyncInterval, Flags, nullptr); } - - + HRESULT STDMETHODCALLTYPE DxgiSwapChain::Present1( UINT SyncInterval, UINT PresentFlags, const DXGI_PRESENT_PARAMETERS* pPresentParameters) { + return PresentBase(SyncInterval, PresentFlags, pPresentParameters); + } + + HRESULT STDMETHODCALLTYPE DxgiSwapChain::PresentBase( + UINT SyncInterval, + UINT PresentFlags, + const DXGI_PRESENT_PARAMETERS* pPresentParameters) { + if (SyncInterval > 4) return DXGI_ERROR_INVALID_CALL; diff --git a/src/dxgi/dxgi_swapchain.h b/src/dxgi/dxgi_swapchain.h index a01cdf2e..8ec7d501 100644 --- a/src/dxgi/dxgi_swapchain.h +++ b/src/dxgi/dxgi_swapchain.h @@ -233,6 +233,10 @@ namespace dxvk { DXGI_FORMAT Format, DXGI_COLOR_SPACE_TYPE ColorSpace); + HRESULT STDMETHODCALLTYPE PresentBase( + UINT SyncInterval, + UINT PresentFlags, + const DXGI_PRESENT_PARAMETERS* pPresentParameters); }; }