diff options
author | wm4 <wm4@nowhere> | 2016-10-05 12:18:44 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-10-05 12:21:34 +0200 |
commit | 6789f9b09411f83034883357303b4acfda9569ed (patch) | |
tree | 21f0eb78054198a13c640818f6a862a55031f85b /video/out/opengl | |
parent | 387f50127875f49236da918c4457bd837bb2f10e (diff) |
vo_opengl: disable glFlush() by default, and add an option to enable it
It seems this can cause issues with certain platforms, so better to
disable it by default. The original reason for this isn't overly
justified, and display-sync mode should get rid of the need for it
anyway.
The new option is meant for testing, and will probably be removed if
nobody comes up and reports that enabling the option actually improves
anything.
Diffstat (limited to 'video/out/opengl')
-rw-r--r-- | video/out/opengl/video.c | 4 | ||||
-rw-r--r-- | video/out/opengl/video.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index fa170f61c9..9be12dee21 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -412,6 +412,7 @@ const struct m_sub_options gl_video_conf = { OPT_INTRANGE("opengl-tex-pad-x", tex_pad_x, 0, 0, 4096), OPT_INTRANGE("opengl-tex-pad-y", tex_pad_y, 0, 0, 4096), OPT_SUBSTRUCT("", icc_opts, mp_icc_conf, 0), + OPT_FLAG("opengl-early-flush", early_flush, 0), {0} }, @@ -2848,7 +2849,8 @@ done: // The playloop calls this last before waiting some time until it decides // to call flip_page(). Tell OpenGL to start execution of the GPU commands // while we sleep (this happens asynchronously). - gl->Flush(); + if (p->opts.early_flush) + gl->Flush(); p->frames_rendered++; diff --git a/video/out/opengl/video.h b/video/out/opengl/video.h index f2fe5e4423..e7ece85138 100644 --- a/video/out/opengl/video.h +++ b/video/out/opengl/video.h @@ -132,6 +132,8 @@ struct gl_video_opts { float unsharp; int tex_pad_x, tex_pad_y; struct mp_icc_opts *icc_opts; + int early_flush; + int use_overlay; }; extern const struct m_sub_options gl_video_conf; |