diff options
author | wm4 <wm4@nowhere> | 2017-03-18 17:43:57 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-03-18 17:43:57 +0100 |
commit | c3248369ac501efb70f0142b909e85a19aed77d2 (patch) | |
tree | 5972dadcf264ffd2eff237a18b2c31a4c3063880 /video/out/opengl/context.c | |
parent | be8c9485b65f085e79f9e00689a721eb8fbdc7f8 (diff) | |
download | mpv-c3248369ac501efb70f0142b909e85a19aed77d2.tar.bz2 mpv-c3248369ac501efb70f0142b909e85a19aed77d2.tar.xz |
vo_opengl: add experimental vdpauglx backend
As the manpage says, this has no value other than adding bugs.
It uses code based on context_x11.c, and basically does very stripped
down context creation (no alpha support etc.). It uses vdpau for
display, and maps vdpau output surfaces as FBOs to render into them.
This might be good to experiment with asynchronous presentation. For
now, it presents synchronously, with a 4 frame delay (which should whack
off A/V sync). The forced 4 frame delay is probably also why interaction
feels slower.
There are some weird vdpau errors on resizing and uninit. No idea what
causes them.
Diffstat (limited to 'video/out/opengl/context.c')
-rw-r--r-- | video/out/opengl/context.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c index 63fed40de2..4985c8a326 100644 --- a/video/out/opengl/context.c +++ b/video/out/opengl/context.c @@ -47,6 +47,7 @@ extern const struct mpgl_driver mpgl_driver_angle_es2; extern const struct mpgl_driver mpgl_driver_dxinterop; extern const struct mpgl_driver mpgl_driver_rpi; extern const struct mpgl_driver mpgl_driver_mali; +extern const struct mpgl_driver mpgl_driver_vdpauglx; static const struct mpgl_driver *const backends[] = { #if HAVE_RPI @@ -83,6 +84,9 @@ static const struct mpgl_driver *const backends[] = { #if HAVE_MALI_FBDEV &mpgl_driver_mali, #endif +#if HAVE_VDPAU_GL_X11 + &mpgl_driver_vdpauglx, +#endif }; // 0-terminated list of desktop GL versions a backend should try to |