From 3d8ca93d2361632112c584bde413554cf15f2189 Mon Sep 17 00:00:00 2001 From: James Ross-Gowan Date: Tue, 19 Dec 2017 20:48:44 +1100 Subject: vo_gpu: win: remove exclusive-fullscreen detection hack This hack was part of a solution to VSync judder in desktop OpenGL on Windows. Rather than using blocking-SwapBuffers(), mpv could use DwmFlush() to wait for the image to be presented by the compositor. Since this would only work while the compositor was running, and the compositor was silently disabled when OpenGL entered exclusive fullscreen mode, mpv needed a way to detect exclusive fullscreen mode. The code that is being removed could detect exclusive fullscreen mode by checking the state of an undocumented mutex using undocumented native API functions, but because of how fragile it was, it was always meant to be removed when a better solution for accurate VSync in OpenGL was found. Since then, mpv got the dxinterop backend, which uses desktop OpenGL but has accurate VSync. It also got a native Direct3D 11 backend, which is a viable alternative to OpenGL on Windows. For people who are still using desktop OpenGL with WGL, there shouldn't be much of a difference, since mpv can use other API functions to detect exclusive fullscreen. --- video/out/opengl/context_win.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'video/out/opengl') diff --git a/video/out/opengl/context_win.c b/video/out/opengl/context_win.c index e650867feb..5a0042b3e9 100644 --- a/video/out/opengl/context_win.c +++ b/video/out/opengl/context_win.c @@ -21,7 +21,6 @@ #include "options/m_config.h" #include "video/out/w32_common.h" -#include "video/out/win32/exclusive_hack.h" #include "context.h" #include "utils.h" @@ -237,11 +236,6 @@ static bool compositor_active(struct ra_ctx *ctx) if (FAILED(DwmGetCompositionTimingInfo(0, &info))) return false; - // Test if a program is running in exclusive fullscreen mode. If so, it's - // probably this one, so it's not getting redirected by the compositor. - if (mp_w32_is_in_exclusive_mode()) - return false; - return true; } -- cgit v1.2.3