1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-14 22:03:27 +01:00

don't use DwmFlush in wine

This commit is contained in:
FunkyFr3sh 2024-12-16 02:33:25 +01:00
parent c77a6ce19e
commit 92c0b2a3ed
2 changed files with 9 additions and 1 deletions

View File

@ -48,6 +48,7 @@ typedef struct FPSLIMITER
D3DKMTCLOSEADAPTERPROC D3DKMTCloseAdapter;
BOOL got_adapter;
BOOL initialized;
BOOL is_wine;
} FPSLIMITER;
extern FPSLIMITER g_fpsl;

View File

@ -75,6 +75,8 @@ void fpsl_init()
(D3DKMTCLOSEADAPTERPROC)real_GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTCloseAdapter");
}
g_fpsl.is_wine = real_GetProcAddress(GetModuleHandleA("ntdll.dll"), "wine_get_version") != 0;
g_fpsl.initialized = TRUE;
}
@ -104,7 +106,12 @@ BOOL fpsl_wait_for_vblank(BOOL open_adapter)
BOOL fpsl_dwm_flush()
{
return g_fpsl.initialized && fpsl_dwm_is_enabled() && g_fpsl.DwmFlush && SUCCEEDED(g_fpsl.DwmFlush());
return
g_fpsl.initialized &&
fpsl_dwm_is_enabled() &&
g_fpsl.DwmFlush &&
!g_fpsl.is_wine &&
SUCCEEDED(g_fpsl.DwmFlush());
}
BOOL fpsl_dwm_is_enabled()