Mercurial > mplayer.hg
diff libvo/vo_gl.c @ 34839:5e29e950d918
Do not needlessly modulate the texture color with the vertex color.
Might give some speedup on not-so-intelligent GL implementations
that also have very little compute power.
author | reimar |
---|---|
date | Sun, 20 May 2012 15:30:01 +0000 |
parents | eba74596e6ee |
children | 8dd474c27a8d |
line wrap: on
line diff
--- a/libvo/vo_gl.c Sun May 20 09:01:01 2012 +0000 +++ b/libvo/vo_gl.c Sun May 20 15:30:01 2012 +0000 @@ -552,7 +552,7 @@ mpglEnable(gl_target); if (mpglDrawBuffer) mpglDrawBuffer(vo_doublebuffering?GL_BACK:GL_FRONT); - mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); mp_msg(MSGT_VO, MSGL_V, "[gl] Creating %dx%d texture...\n", texture_width, texture_height); @@ -805,6 +805,8 @@ mpglPushMatrix(); mpglLoadMatrixf(matrix); } + if (osd_color != 0xffffff) + mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); mpglEnable(GL_BLEND); if (draw_eosd) { mpglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -822,6 +824,8 @@ } // set rendering parameters back to defaults mpglDisable(GL_BLEND); + if (osd_color != 0xffffff) + mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); if (!scaled_osd) mpglPopMatrix(); mpglBindTexture(gl_target, 0);