summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-10-03 16:50:13 +0200
committerwm4 <wm4@nowhere>2012-10-16 07:26:31 +0200
commitcf61928eecd87ba29324e501a3e4a0efde25d874 (patch)
tree4f796caef4fb3a15f0ffa89d6b4c9d94c8cd0fe3
parent466fc6d4d18ac1751527ccfff8f3c39eb3ff1e4b (diff)
downloadmpv-cf61928eecd87ba29324e501a3e4a0efde25d874.tar.bz2
mpv-cf61928eecd87ba29324e501a3e4a0efde25d874.tar.xz
vo_gl, options: remove doublebuffering option (--double)
Useless. It complicated the code and caused flicker, and was useless otherwise. The manpage describes this option as "should not normally be used". One possibly useful effect from the point of view of the user was that vsync was disabled. You can do this with the --vsync option, or by changing X/driver settings directly.
-rw-r--r--DOCS/man/en/options.rst4
-rw-r--r--cfg-mplayer.h1
-rw-r--r--libvo/gl_common.c2
-rw-r--r--libvo/video_out.c1
-rw-r--r--libvo/video_out.h1
-rw-r--r--libvo/vo_gl.c33
6 files changed, 11 insertions, 31 deletions
diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst
index c52c8b307e..bf297018a9 100644
--- a/DOCS/man/en/options.rst
+++ b/DOCS/man/en/options.rst
@@ -489,10 +489,6 @@
``--display=xtest.localdomain:0``
---double, --no-double
- Double buffering. The option to disable this exists mostly for debugging
- purposes and should not normally be used.
-
--doubleclick-time
Time in milliseconds to recognize two consecutive button presses as a
double-click (default: 300).
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 775963a879..f84a2afb96 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -629,7 +629,6 @@ const m_option_t mplayer_opts[]={
OPT_INTRANGE("bpp", vo_dbpp, 0, 0, 32),
{"colorkey", &vo_colorkey, CONF_TYPE_INT, 0, 0, 0, NULL},
{"no-colorkey", &vo_colorkey, CONF_TYPE_FLAG, 0, 0, 0x1000000, NULL},
- {"double", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL},
// wait for v-sync (gl)
{"vsync", &vo_vsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"panscan", &vo_panscan, CONF_TYPE_FLOAT, CONF_RANGE, -1.0, 1.0, NULL},
diff --git a/libvo/gl_common.c b/libvo/gl_common.c
index c56b0c8ffc..8ae94f56f3 100644
--- a/libvo/gl_common.c
+++ b/libvo/gl_common.c
@@ -1649,7 +1649,7 @@ void glDisable3D(GL *gl, int type)
gl->ColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
break;
case GL_3D_QUADBUFFER:
- gl->DrawBuffer(vo_doublebuffering ? GL_BACK : GL_FRONT);
+ gl->DrawBuffer(GL_BACK);
gl->GetIntegerv(GL_DRAW_BUFFER, &buffer);
switch (buffer) {
case GL_FRONT:
diff --git a/libvo/video_out.c b/libvo/video_out.c
index 2be311f87c..f743d5b8bf 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -49,7 +49,6 @@ int xinerama_y;
int vo_nomouse_input = 0;
int vo_grabpointer = 1;
-int vo_doublebuffering = 1;
int vo_vsync = 1;
int vo_fs = 0;
int vo_fsmode = 0;
diff --git a/libvo/video_out.h b/libvo/video_out.h
index cdda6ec79f..e94c8186c5 100644
--- a/libvo/video_out.h
+++ b/libvo/video_out.h
@@ -310,7 +310,6 @@ extern int xinerama_x;
extern int xinerama_y;
extern int vo_grabpointer;
-extern int vo_doublebuffering;
extern int vo_vsync;
extern int vo_fs;
extern int vo_fsmode;
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index 236471d537..1fb788e780 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -523,7 +523,7 @@ static int initGl(struct vo *vo, uint32_t d_width, uint32_t d_height)
gl->DepthMask(GL_FALSE);
gl->Disable(GL_CULL_FACE);
gl->Enable(p->target);
- gl->DrawBuffer(vo_doublebuffering ? GL_BACK : GL_FRONT);
+ gl->DrawBuffer(GL_BACK);
gl->TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
mp_msg(MSGT_VO, MSGL_V, "[gl] Creating %dx%d texture...\n",
@@ -781,8 +781,7 @@ static void draw_osd(struct vo *vo, struct osd_state *osd)
p->ass_border_y, p->image_width,
p->image_height, create_osd_texture, vo);
}
- if (vo_doublebuffering)
- do_render_osd(vo, RENDER_OSD);
+ do_render_osd(vo, RENDER_OSD);
}
static void do_render(struct vo *vo)
@@ -826,20 +825,11 @@ static void flip_page(struct vo *vo)
struct gl_priv *p = vo->priv;
GL *gl = p->gl;
- if (vo_doublebuffering) {
- if (p->use_glFinish)
- gl->Finish();
- p->glctx->swapGlBuffers(p->glctx);
- if (aspect_scaling())
- gl->Clear(GL_COLOR_BUFFER_BIT);
- } else {
- do_render(vo);
- do_render_osd(vo, RENDER_OSD | RENDER_EOSD);
- if (p->use_glFinish)
- gl->Finish();
- else
- gl->Flush();
- }
+ if (p->use_glFinish)
+ gl->Finish();
+ p->glctx->swapGlBuffers(p->glctx);
+ if (aspect_scaling())
+ gl->Clear(GL_COLOR_BUFFER_BIT);
}
static int draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h,
@@ -1063,8 +1053,7 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
}
skip_upload:
- if (vo_doublebuffering)
- do_render(vo);
+ do_render(vo);
return VO_TRUE;
}
@@ -1375,8 +1364,7 @@ static int control(struct vo *vo, uint32_t request, void *data)
if (!data)
return VO_FALSE;
genEOSD(vo, data);
- if (vo_doublebuffering)
- do_render_osd(vo, RENDER_EOSD);
+ do_render_osd(vo, RENDER_EOSD);
return VO_TRUE;
case VOCTRL_GET_EOSD_RES: {
mp_eosd_res_t *r = data;
@@ -1447,8 +1435,7 @@ static int control(struct vo *vo, uint32_t request, void *data)
p->glctx->update_xinerama_info(vo);
return VO_TRUE;
case VOCTRL_REDRAW_FRAME:
- if (vo_doublebuffering)
- do_render(vo);
+ do_render(vo);
return true;
case VOCTRL_SCREENSHOT: {
struct voctrl_screenshot_args *args = data;