path: root/
diff options
authorwm4 <wm4@nowhere>2019-06-30 00:39:23 +0200
committerJames Ross-Gowan <>2019-09-08 23:23:43 +1000
commit10a1b9808253dc67e19db2a0c4c360788b9e668e (patch)
treef2baa70c7a5372d38d0f7799b6f2963314892fd0 /
parent8d7960f6efff3d5c1d9c82ea9bd16f016e71ea24 (diff)
vo_gpu: x11egl: support Mesa OML sync extension
Mesa supports the EGL_CHROMIUM_sync_control extension, and it's available out of the box with AMD drivers. In practice, this is exactly the same as GLX_OML_sync_control, but for EGL. The extension specification is separate from the GLX one though, and buried somewhere in the Chromium code. This appears to work, although I don't know if it really works. In theory, this could be useful for other EGL targets. Support code for it could have been added to egl_helpers.c to avoid some minor duplicated glue code if another EGL target were to provide this extension. I didn't bother with that. ANGLE on Windows can't support it, because the extension spec. explicitly requires POSIX timers. ANGLE on Linux/OSX is actively harmful for mpv and hopefully won't ever use it. Wayland uses EGL, but has its own fancy presentation feedback stuff (and besides, I don't think basic video player functionality works on Wayland at all). context_drm_egl maybe? But I think DRM has its own stuff.
Diffstat (limited to '')
1 files changed, 1 insertions, 1 deletions
diff --git a/ b/
index fb662c0d59..63bc9462b3 100644
--- a/
+++ b/
@@ -480,7 +480,7 @@ def build(ctx):
( "video/out/opengl/hwdec_rpi.c", "rpi" ),
( "video/out/opengl/hwdec_vdpau.c", "vdpau-gl-x11" ),
( "video/out/opengl/libmpv_gl.c", "gl" ),
- ( "video/out/opengl/oml_sync.c", "gl-x11" ),
+ ( "video/out/opengl/oml_sync.c", "egl-x11 || gl-x11" ),
( "video/out/opengl/ra_gl.c", "gl" ),
( "video/out/opengl/utils.c", "gl" ),
( "video/out/vo.c" ),