Mercurial > mplayer.hg
changeset 16475:55b04cfc255c
Allow disabling the glFinish call
author | reimar |
---|---|
date | Tue, 13 Sep 2005 16:16:13 +0000 |
parents | 01d27e023ae4 |
children | 2a309d6c4d34 |
files | libvo/vo_gl2.c |
diffstat | 1 files changed, 20 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/vo_gl2.c Tue Sep 13 15:56:32 2005 +0000 +++ b/libvo/vo_gl2.c Tue Sep 13 16:16:13 2005 +0000 @@ -10,6 +10,7 @@ #include "config.h" #include "mp_msg.h" +#include "subopt-helper.h" #include "video_out.h" #include "video_out_internal.h" #include "sub.h" @@ -70,6 +71,7 @@ static int gl_bilinear=1; static int gl_antialias=0; +static int use_glFinish; static void (*draw_alpha_fnc) (int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride); @@ -891,6 +893,7 @@ drawTextureDisplay(); // glFlush(); + if (use_glFinish) glFinish(); #ifdef GL_WIN32 SwapBuffers(vo_hdc); @@ -951,13 +954,25 @@ #endif } +static opt_t subopts[] = { + {"glfinish", OPT_ARG_BOOL, &use_glFinish, NULL}, + {NULL} +}; + static int preinit(const char *arg) { - if(arg) - { - mp_msg(MSGT_VO, MSGL_FATAL, "[gl2] Unknown subdevice: %s\n",arg); - return -1; - } + // set defaults + use_glFinish = 1; + if (subopt_parse(arg, subopts) != 0) { + mp_msg(MSGT_VO, MSGL_FATAL, + "\n-vo gl2 command line help:\n" + "Example: mplayer -vo gl2:noglfinish\n" + "\nOptions:\n" + " noglfinish\n" + " Do not call glFinish() before swapping buffers\n" + "\n" ); + return -1; + } if( !vo_init() ) return -1; // Can't open X11 return 0; }