[MPlayer-cvslog] r18876 - trunk/libvo/vo_gl.c

Reimar Doeffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Tue Jul 4 10:36:31 CEST 2006


Hello,
On Mon, Jul 03, 2006 at 09:20:57PM +0200, Jindrich Makovicka wrote:
> > Log:
> > Make sure all texture units have a different texture bound.
> > Should fix weird behaviour with e.g. yuv=4:lscale=1
> 
> This commit introduced a weird behavior with yuv=*:rectangle=1. The
> following seems to fix it for me.

Thanks for informing. Unfortunately you solution will reintroduce a bit
of the old problem. Can you try if the attached patch fixes it as well?
Btw. what graphics cards/drivers? Several other people didn't have that
problem...

Greetings,
Reimar Doeffinger
-------------- next part --------------
Index: libvo/vo_gl.c
===================================================================
--- libvo/vo_gl.c	(revision 18896)
+++ libvo/vo_gl.c	(working copy)
@@ -80,7 +80,7 @@
 static GLuint gl_buffer;
 static int gl_buffersize;
 static GLuint fragprog;
-static GLuint default_texs[8];
+static GLuint default_texs[22];
 static char *custom_prog;
 static char *custom_tex;
 static int custom_tlin;
@@ -261,13 +261,13 @@
 
   if (image_format == IMGFMT_YV12) {
     int i;
-    glGenTextures(7, default_texs);
-    default_texs[7] = 0;
+    glGenTextures(21, default_texs);
+    default_texs[21] = 0;
     for (i = 0; i < 7; i++) {
       ActiveTexture(GL_TEXTURE1 + i);
       BindTexture(GL_TEXTURE_2D, default_texs[i]);
-      BindTexture(GL_TEXTURE_RECTANGLE, default_texs[i]);
-      BindTexture(GL_TEXTURE_3D, default_texs[i]);
+      BindTexture(GL_TEXTURE_RECTANGLE, default_texs[i + 7]);
+      BindTexture(GL_TEXTURE_3D, default_texs[i + 14]);
     }
     ActiveTexture(GL_TEXTURE1);
     glCreateClearTex(gl_target, gl_texfmt, GL_LINEAR,


More information about the MPlayer-cvslog mailing list