diff --git a/src/d3d8/d3d8_d3d9_util.h b/src/d3d8/d3d8_d3d9_util.h index 1143899e5..ce53699f2 100644 --- a/src/d3d8/d3d8_d3d9_util.h +++ b/src/d3d8/d3d8_d3d9_util.h @@ -107,7 +107,12 @@ namespace dxvk { params.AutoDepthStencilFormat = d3d9::D3DFORMAT(pParams->AutoDepthStencilFormat); params.Flags = pParams->Flags; - params.FullScreen_RefreshRateInHz = pParams->FullScreen_RefreshRateInHz; + // D3DPRESENT_RATE_UNLIMITED is unsupported, use D3DPRESENT_RATE_DEFAULT (or 0) + if (unlikely(pParams->FullScreen_RefreshRateInHz == D3DPRESENT_RATE_UNLIMITED)) { + params.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; + } else { + params.FullScreen_RefreshRateInHz = pParams->FullScreen_RefreshRateInHz; + } // FullScreen_PresentationInterval -> PresentationInterval params.PresentationInterval = PresentationInterval; diff --git a/src/d3d8/d3d8_include.h b/src/d3d8/d3d8_include.h index 78d7dcd16..ec0360e18 100644 --- a/src/d3d8/d3d8_include.h +++ b/src/d3d8/d3d8_include.h @@ -191,6 +191,10 @@ namespace d3d9 { #define D3DDEVINFOID_VERTEXSTATS 6 // Aka D3DDEVINFOID_D3DVERTEXSTATS #endif +#ifndef D3DPRESENT_RATE_UNLIMITED +#define D3DPRESENT_RATE_UNLIMITED 0x7FFFFFFF +#endif + #else // _MSC_VER // These are enum typedefs in the MinGW headers, but not defined by Microsoft