summaryrefslogtreecommitdiffstats
path: root/libvo/vo_gl.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/vo_gl.c')
-rw-r--r--libvo/vo_gl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index d413a48d20..dab44216ab 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -61,6 +61,7 @@ static int err_shown;
static uint32_t image_width;
static uint32_t image_height;
static int many_fmts;
+static int use_glFinish;
static GLenum gl_target;
static GLenum gl_texfmt;
static GLenum gl_format;
@@ -403,6 +404,7 @@ flip_page(void)
}
// glFlush();
+ if (use_glFinish)
glFinish();
#ifdef GL_WIN32
SwapBuffers(vo_hdc);
@@ -513,6 +515,7 @@ static opt_t subopts[] = {
{"aspect", OPT_ARG_BOOL, &use_aspect, NULL},
{"slice-height", OPT_ARG_INT, &slice_height, (opt_test_f)int_non_neg},
{"rectangle", OPT_ARG_INT, &use_rectangle,(opt_test_f)int_non_neg},
+ {"glfinish", OPT_ARG_BOOL, &use_glFinish, NULL},
{NULL}
};
@@ -524,6 +527,7 @@ static int preinit(const char *arg)
scaled_osd = 0;
use_aspect = 1;
use_rectangle = 0;
+ use_glFinish = 0;
slice_height = 4;
if (subopt_parse(arg, subopts) != 0) {
mp_msg(MSGT_VO, MSGL_FATAL,
@@ -542,6 +546,8 @@ static int preinit(const char *arg)
" 0: use power-of-two textures\n"
" 1: use texture_rectangle\n"
" 2: use texture_non_power_of_two\n"
+ " glfinish\n"
+ " Call glFinish() before swapping buffers\n"
"\n" );
return -1;
}