diff --git a/ddraw.rc b/ddraw.rc index e88c0af..be6bccb 100644 --- a/ddraw.rc +++ b/ddraw.rc @@ -2,7 +2,7 @@ #define vxstr(a,b,c,d) str(a##.##b##.##c##.##d) #define str(s) #s -#define VERSION 1,1,8,0 +#define VERSION 1,1,8,1 1 VERSIONINFO FILEVERSION VERSION diff --git a/src/render.c b/src/render.c index f7a2535..da3e9cb 100644 --- a/src/render.c +++ b/src/render.c @@ -57,6 +57,7 @@ DWORD WINAPI render_main(void) OpenGL_Init(); int maxfps = ddraw->render.maxfps; + BOOL vsyncEnabled = FALSE; if (OpenGL_ExtExists("WGL_EXT_swap_control_tear", ddraw->render.hDC)) { @@ -66,6 +67,7 @@ DWORD WINAPI render_main(void) { wglSwapIntervalEXT(-1); maxfps = 1000; + vsyncEnabled = TRUE; } else wglSwapIntervalEXT(0); @@ -79,6 +81,7 @@ DWORD WINAPI render_main(void) { wglSwapIntervalEXT(1); maxfps = 1000; + vsyncEnabled = TRUE; } else wglSwapIntervalEXT(0); @@ -659,6 +662,9 @@ DWORD WINAPI render_main(void) SwapBuffers(ddraw->render.hDC); + if (vsyncEnabled) + glFinish(); + #if _DEBUG if (frame_count == 1) frameTime = CounterStop(); #endif