1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-26 01:23:17 +00:00
mpv/video/out/opengl
wm4 2b6241a09a vo_opengl: add vsync-fences option
Yet another relatively useless option that tries to make OpenGL's sync
behavior somewhat sane. The results are not too encouraging. With a
value of 1, vsync jitter is gone on nVidia, but there are frame drops
(less than with glfinish). With 2, I get the usual vsync jitter _and_
frame drops.

There's still some hope that it might prevent too deep queuing with some
GPUs, I guess.

The timeout for the wait call is 1 second. The value is pretty
arbitrary; it should just not be too high to freeze the process (if
the GPU is un-nice), and not too low to trigger the timeout in normal
cases, even if the GPU load is very high. So I guess 1 second is ok
as a timeout.

The idea to use fences this way to control the queue depth was stolen
from RetroArch:

df01279cf3/gfx/drivers/gl.c (L1856)
2015-10-30 20:26:51 +01:00
..
cocoa.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
common.c vo_opengl: add vsync-fences option 2015-10-30 20:26:51 +01:00
common.h vo_opengl: add vsync-fences option 2015-10-30 20:26:51 +01:00
header_fixes.h vo_opengl: vaapi: redo how EGL extensions are loaded 2015-09-27 16:18:06 +02:00
hwdec_dxva2.c client API: rename GL_MP_D3D_interfaces 2015-09-24 21:07:37 +02:00
hwdec_osx.c vo_opengl: videotoolbox: cleanups 2015-09-28 22:11:04 +02:00
hwdec_vaegl.c vo_opengl: vaapi: fix compilation failure on older systems 2015-10-23 15:56:17 +02:00
hwdec_vaglx.c vaapi: remove dependency on X11 2015-09-27 21:33:15 +02:00
hwdec_vdpau.c vo_opengl: actually set hardware decoder mapped texture format 2015-09-24 23:48:57 +02:00
hwdec.c video: remove VDA support 2015-09-28 22:03:14 +02:00
hwdec.h video: remove VDA support 2015-09-28 22:03:14 +02:00
lcms.c
lcms.h
osd.c
osd.h
rpi.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
rpi.h vo_opengl: vaapi: redo how EGL extensions are loaded 2015-09-27 16:18:06 +02:00
utils.c
utils.h
video_shaders.c vo_opengl: make the default debanding settings less excessive 2015-10-21 11:32:31 +02:00
video_shaders.h vo_opengl: remove sharpen scalers, add sharpen sub-option 2015-09-23 22:43:27 +02:00
video.c vo_opengl: cache frames only in display-sync mode 2015-10-30 12:53:43 +01:00
video.h vo_opengl: remove source shader leftover 2015-10-24 17:11:02 +02:00
w32.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
wayland.c vo_opengl: wayland: use a more standard symbol 2015-10-23 16:09:58 +02:00
x11.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
x11egl.c vo_opengl: x11egl: fix confused error status codes 2015-10-12 22:10:11 +02:00