From bfe3c36e7367619e0470209fed26e1d8c021a221 Mon Sep 17 00:00:00 2001 From: Rosalie Wanders Date: Fri, 24 Sep 2021 18:26:12 +0200 Subject: [PATCH] WindowsWGL: use adaptive vsync when supported --- src/Graphics/OpenGLContext/windows/WindowsWGL.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Graphics/OpenGLContext/windows/WindowsWGL.cpp b/src/Graphics/OpenGLContext/windows/WindowsWGL.cpp index 690b9aed..77df7bcb 100644 --- a/src/Graphics/OpenGLContext/windows/WindowsWGL.cpp +++ b/src/Graphics/OpenGLContext/windows/WindowsWGL.cpp @@ -102,7 +102,15 @@ bool WindowsWGL::start() if (strstr(wglextensions, "WGL_EXT_swap_control") != nullptr) { PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT"); - wglSwapIntervalEXT(config.video.verticalSync); + + // use adaptive vsync when supported and + // when vsync is enabled + if (strstr(wglextensions, "WGL_EXT_swap_control_tear") != nullptr && + config.video.verticalSync > 0) { + wglSwapIntervalEXT(-1); + } else { + wglSwapIntervalEXT(config.video.verticalSync); + } } }