path: root/
diff options
authorJames Ross-Gowan <>2017-12-19 20:48:44 +1100
committerJames Ross-Gowan <>2017-12-20 14:53:41 +1100
commit3d8ca93d2361632112c584bde413554cf15f2189 (patch)
tree43632805f0f6df017d185bc037240482826bd3ae /
parentd13f9d08866a46bfaca16afbc2a0cc06b31d18a3 (diff)
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 '')
1 files changed, 0 insertions, 1 deletions
diff --git a/ b/
index dbfeb1bcf2..bbe367963f 100644
--- a/
+++ b/
@@ -458,7 +458,6 @@ def build(ctx):
( "video/out/vulkan/context_wayland.c", "vulkan && wayland" ),
( "video/out/vulkan/context_win.c", "vulkan && win32-desktop" ),
( "video/out/vulkan/spirv_nvidia.c", "vulkan" ),
- ( "video/out/win32/exclusive_hack.c", "gl-win32" ),
( "video/out/wayland_common.c", "wayland" ),
( "video/out/wayland/xdg-shell-v6.c", "wayland" ),
( "video/out/wayland/idle-inhibit-v1.c", "wayland" ),