diff libvo/vo_gl.c @ 16235:6a72f27e88d5

Make glFinish optional
author reimar
date Tue, 16 Aug 2005 18:27:12 +0000
parents f00a2826ee11
children 042f5c461c44
line wrap: on
line diff
--- a/libvo/vo_gl.c	Tue Aug 16 18:19:06 2005 +0000
+++ b/libvo/vo_gl.c	Tue Aug 16 18:27:12 2005 +0000
@@ -61,6 +61,7 @@
 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 @@
   }
 
 //  glFlush();
+  if (use_glFinish)
   glFinish();
 #ifdef GL_WIN32
   SwapBuffers(vo_hdc);
@@ -513,6 +515,7 @@
   {"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 @@
     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 @@
               "    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;
     }