]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
another attempt at identifying mac texmatrix bug
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 4 May 2008 06:43:20 +0000 (06:43 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 4 May 2008 06:43:20 +0000 (06:43 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8274 d7cf8633-e32d-0410-b094-e92efae38249

gl_backend.c

index 750a9c187a4543013d1df26a408b8b70ae5babbf..577b4dc8dc327e30d840922a0262d7411eaaddd2 100644 (file)
@@ -609,8 +609,6 @@ void GL_SetupTextureState(void)
 
        for (i = 0;i < backendarrayunits;i++)
        {
-               if (gl_workaround_mac_texmatrix.integer)
-                       GL_ActiveTexture(i);
                GL_ClientActiveTexture(i);
                GL_BindVBO(0);
                qglTexCoordPointer(2, GL_FLOAT, sizeof(float[2]), NULL);CHECKGLERROR
@@ -726,8 +724,6 @@ void GL_ActiveTexture(unsigned int num)
                        CHECKGLERROR
                }
        }
-       if (gl_workaround_mac_texmatrix.integer)
-               GL_ClientActiveTexture(num);
 }
 
 void GL_ClientActiveTexture(unsigned int num)
@@ -1157,8 +1153,6 @@ void R_Mesh_Draw(int firstvertex, int numvertices, int firsttriangle, int numtri
                {
                        if (gl_state.units[i].arrayenabled)
                        {
-                               if (gl_workaround_mac_texmatrix.integer)
-                                       GL_ActiveTexture(i);
                                GL_ClientActiveTexture(i);
                                if (!qglIsEnabled(GL_TEXTURE_COORD_ARRAY))
                                        Con_Print("R_Mesh_Draw: texcoord array set but not enabled\n");
@@ -1552,8 +1546,6 @@ void R_Mesh_TexCoordPointer(unsigned int unitnum, unsigned int numcomponents, co
                if (!unit->arrayenabled)
                {
                        unit->arrayenabled = true;
-                       if (gl_workaround_mac_texmatrix.integer)
-                               GL_ActiveTexture(unitnum);
                        GL_ClientActiveTexture(unitnum);
                        qglEnableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
                }
@@ -1564,8 +1556,6 @@ void R_Mesh_TexCoordPointer(unsigned int unitnum, unsigned int numcomponents, co
                        unit->pointer_texcoord_buffer = bufferobject;
                        unit->pointer_texcoord_offset = bufferoffset;
                        unit->arraycomponents = numcomponents;
-                       if (gl_workaround_mac_texmatrix.integer)
-                               GL_ActiveTexture(unitnum);
                        GL_ClientActiveTexture(unitnum);
                        GL_BindVBO(bufferobject);
                        qglTexCoordPointer(unit->arraycomponents, GL_FLOAT, sizeof(float) * unit->arraycomponents, bufferobject ? (void *)bufferoffset : texcoord);CHECKGLERROR
@@ -1577,8 +1567,6 @@ void R_Mesh_TexCoordPointer(unsigned int unitnum, unsigned int numcomponents, co
                if (unit->arrayenabled)
                {
                        unit->arrayenabled = false;
-                       if (gl_workaround_mac_texmatrix.integer)
-                               GL_ActiveTexture(unitnum);
                        GL_ClientActiveTexture(unitnum);
                        qglDisableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
                }
@@ -1996,6 +1984,8 @@ void R_Mesh_TexMatrix(unsigned int unitnum, const matrix4x4_t *matrix)
                        CHECKGLERROR
                        Matrix4x4_ToArrayDoubleGL(&unit->matrix, glmatrix);
                        GL_ActiveTexture(unitnum);
+                       if (gl_workaround_mac_texmatrix.integer)
+                               GL_ClientActiveTexture(unitnum);
                        qglMatrixMode(GL_TEXTURE);CHECKGLERROR
                        qglLoadMatrixd(glmatrix);CHECKGLERROR
                        qglMatrixMode(GL_MODELVIEW);CHECKGLERROR
@@ -2010,6 +2000,8 @@ void R_Mesh_TexMatrix(unsigned int unitnum, const matrix4x4_t *matrix)
                        unit->matrix = identitymatrix;
                        CHECKGLERROR
                        GL_ActiveTexture(unitnum);
+                       if (gl_workaround_mac_texmatrix.integer)
+                               GL_ClientActiveTexture(unitnum);
                        qglMatrixMode(GL_TEXTURE);CHECKGLERROR
                        qglLoadIdentity();CHECKGLERROR
                        qglMatrixMode(GL_MODELVIEW);CHECKGLERROR
@@ -2169,8 +2161,6 @@ void R_Mesh_ResetTextureState(void)
                if (unit->arrayenabled)
                {
                        unit->arrayenabled = false;
-                       if (gl_workaround_mac_texmatrix.integer)
-                               GL_ActiveTexture(unitnum);
                        GL_ClientActiveTexture(unitnum);
                        qglDisableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
                }
@@ -2184,8 +2174,10 @@ void R_Mesh_ResetTextureState(void)
                        unit->texmatrixenabled = false;
                        unit->matrix = identitymatrix;
                        CHECKGLERROR
-                       qglMatrixMode(GL_TEXTURE);CHECKGLERROR
                        GL_ActiveTexture(unitnum);
+                       if (gl_workaround_mac_texmatrix.integer)
+                               GL_ClientActiveTexture(unitnum);
+                       qglMatrixMode(GL_TEXTURE);CHECKGLERROR
                        qglLoadIdentity();CHECKGLERROR
                        qglMatrixMode(GL_MODELVIEW);CHECKGLERROR
                }