summaryrefslogtreecommitdiffstats
path: root/video/out/opengl
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossy@jrg.systems>2017-12-19 20:48:44 +1100
committerJames Ross-Gowan <rossy@jrg.systems>2017-12-20 14:53:41 +1100
commit3d8ca93d2361632112c584bde413554cf15f2189 (patch)
tree43632805f0f6df017d185bc037240482826bd3ae /video/out/opengl
parentd13f9d08866a46bfaca16afbc2a0cc06b31d18a3 (diff)
downloadmpv-3d8ca93d2361632112c584bde413554cf15f2189.tar.bz2
mpv-3d8ca93d2361632112c584bde413554cf15f2189.tar.xz
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.
Diffstat (limited to 'video/out/opengl')
-rw-r--r--video/out/opengl/context_win.c6
1 files changed, 0 insertions, 6 deletions
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;
}