mpv/video/out/opengl
wm4 f4ce3b8bb9 vo, vo_gpu, glx: correct GLX_OML_sync_control usage
I misunderstood how this extension works. If I understand it correctly
now, it's worse than I thought. They key thing is that the (ust, msc,
sbc) tripple is not for a single swap event. Instead, (ust, msc) run
independently from sbc. Assuming a CFR display/compositor, this means
you can at best know the vsync phase and frequency, but not the exact
time a sbc changed value.

There is GLX_INTEL_swap_event, which might work as expected, but it has
no EGL equivalent (while GLX_OML_sync_control does, in theory).

Redo the context_glx sync code. Now it's either more correct or less
correct. I wanted to add proper skip detection (if a vsync gets skipped
due to rendering taking too long and other problems), but it turned out
to be too complex, so only some unused fields in vo.h are left of it.
The "generic" skip detection has to do.

The vsync_duration field is also unused by vo.c.

Actually this seems to be an improvement. In cases where the flip call
timing is off, but the real driver-level timing apparently still works,
this will not report vsync skips or higher vsync jitter anymore. I could
observe this with screenshots and fullscreen switching. On the other
hand, maybe it just introduces an A/V offset or so.

Why the fuck can't there be a proper API for retrieving these
statistics? I'm not even asking for much.
2018-12-06 10:32:27 +01:00
..
angle_dynamic.c
angle_dynamic.h
common.c cocoa-cb: add Apple Software Renderer support 2018-09-30 17:13:34 +03:00
common.h client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
context.c vo: use a struct for vsync feedback stuff 2018-12-06 10:30:25 +01:00
context.h vo: use a struct for vsync feedback stuff 2018-12-06 10:30:25 +01:00
context_android.c vo_gpu/context_android: replace both options with android-surface-size 2018-01-02 15:04:31 -08:00
context_angle.c vo_gpu: d3d11: implement tex_download() 2018-02-13 21:25:15 +11:00
context_cocoa.c cocoa: change deprecation warning from opengl-cb to libmpv 2018-04-29 15:03:47 +03:00
context_drm_egl.c drm: rename plane options to better, invariant, names 2018-12-01 15:42:20 +02:00
context_dxinterop.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
context_glx.c vo, vo_gpu, glx: correct GLX_OML_sync_control usage 2018-12-06 10:32:27 +01:00
context_mali_fbdev.c
context_rpi.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
context_vdpau.c
context_wayland.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
context_win.c
context_x11egl.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
egl_helpers.c egl_helpers: change minimum framebuffer size to 8 bit per component 2018-04-29 02:21:32 +03:00
egl_helpers.h egl_helpers: mpegl_cb can now signal an error condition 2018-02-26 23:56:13 -08:00
formats.c
formats.h
gl_headers.h
hwdec_cuda.c vo_gpu: hwdec_cuda: Guard GL and Vulkan headers properly 2018-11-18 23:50:38 +02:00
hwdec_d3d11egl.c video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
hwdec_d3d11eglrgb.c video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
hwdec_drmprime_drm.c drm: rename plane options to better, invariant, names 2018-12-01 15:42:20 +02:00
hwdec_dxva2egl.c
hwdec_dxva2gldx.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
hwdec_ios.m hwdec_ios: fix crash after mapper_init failure 2018-04-17 01:06:29 +03:00
hwdec_osx.c
hwdec_rpi.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
hwdec_vaegl.c hwdec_vaegl: Fix VAAPI EGL interop used with gpu-context=drm 2018-07-09 02:33:35 +03:00
hwdec_vdpau.c
libmpv_gl.c client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
ra_gl.c vo_gpu: opengl: disable compute shaders for old GLSL 2018-11-17 00:49:10 +01:00
ra_gl.h
utils.c vo_gpu: make screenshots use the GL renderer 2018-02-11 17:45:51 -08:00
utils.h vo_gpu: make screenshots use the GL renderer 2018-02-11 17:45:51 -08:00