diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst index f9a22e3c0e..31540fc1fa 100644 --- a/DOCS/man/vo.rst +++ b/DOCS/man/vo.rst @@ -439,7 +439,9 @@ Available video output drivers are: Borders will be distorted due to filtering. ``glfinish`` - Call ``glFinish()`` before swapping buffers + Call ``glFinish()`` before and after swapping buffers (default: disabled). + Slower, but might help getting better results when doing framedropping. + The details depend entirely on the OpenGL driver. ``sw`` Continue even if a software renderer is detected. diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c index ae5f1f9bd0..c80506039c 100644 --- a/video/out/vo_opengl.c +++ b/video/out/vo_opengl.c @@ -105,6 +105,9 @@ static void flip_page(struct vo *vo) if (p->frames_rendered > 5) gl_video_set_debug(p->renderer, false); + if (p->use_glFinish) + p->gl->Finish(); + mpgl_unlock(p->glctx); }