diff options
author | wm4 <wm4@nowhere> | 2015-11-16 16:22:23 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-11-16 16:22:23 +0100 |
commit | 6b22b216514ee2eb784711f4539410d3b312a4fd (patch) | |
tree | 0948f8218a4905e0ad441a767a9712ae4a0736ea /video/out/opengl/common.c | |
parent | 07c546b2b494a620edc98dadd5dd78a052ec6783 (diff) |
vo_opengl: attempt to improve GLX vs. EGL backend detection
For the sake of vaapi interop, we want to use EGL, but on the other
hand, but because driver developers are full of shit, vdpau interop will
not work on EGL (even if the driver supports EGL). The latter happens
with both nvidia and AMD Mesa drivers.
Additionally, EGL vaapi interop support can apparently only detected at
runtime by actually using it. While hwdec_vaegl.c already does this, it
would require initializing libva on _every_ system, which will cause
libav to print an unpreventable bullshit message to the terminal.
Try to counter these huge loads of bullshit by adding more fucking
bullshit.
Diffstat (limited to 'video/out/opengl/common.c')
-rw-r--r-- | video/out/opengl/common.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/video/out/opengl/common.c b/video/out/opengl/common.c index 3ac01268d5..3d24f9818f 100644 --- a/video/out/opengl/common.c +++ b/video/out/opengl/common.c @@ -504,6 +504,7 @@ void mpgl_load_functions(GL *gl, void *(*getProcAddress)(const GLubyte *), extern const struct mpgl_driver mpgl_driver_x11; extern const struct mpgl_driver mpgl_driver_x11egl; +extern const struct mpgl_driver mpgl_driver_x11_probe; extern const struct mpgl_driver mpgl_driver_drm_egl; extern const struct mpgl_driver mpgl_driver_cocoa; extern const struct mpgl_driver mpgl_driver_wayland; @@ -523,15 +524,18 @@ static const struct mpgl_driver *const backends[] = { #if HAVE_GL_WAYLAND &mpgl_driver_wayland, #endif +#if HAVE_GL_X11 + &mpgl_driver_x11_probe, +#endif #if HAVE_EGL_X11 &mpgl_driver_x11egl, #endif -#if HAVE_EGL_DRM - &mpgl_driver_drm_egl, -#endif #if HAVE_GL_X11 &mpgl_driver_x11, #endif +#if HAVE_EGL_DRM + &mpgl_driver_drm_egl, +#endif }; int mpgl_find_backend(const char *name) |