Fixed some small state tracking issues while hunting a different problem.
authorFelix Kuehling <fxkuehl@gmx.de>
Tue, 2 Mar 2004 23:45:40 +0000 (23:45 +0000)
committerFelix Kuehling <fxkuehl@gmx.de>
Tue, 2 Mar 2004 23:45:40 +0000 (23:45 +0000)
src/mesa/drivers/dri/savage/savagestate.c

index e38aa85c655e9535c40e8dec10072eee1bef3552..8c9669a4adf8e78f25df8105b63725be863da9d4 100644 (file)
@@ -262,6 +262,8 @@ static void savageBlendFunc_s4(GLcontext *ctx)
        imesa->regs.s4.drawCtrl1.ni.alphaTestEn;
     /*imesa->regs.s4.drawLocalCtrl.ni.zUpdateEn =
         ~drawLocalCtrl.ni.wrZafterAlphaTst;*/
+
+    imesa->dirty |= SAVAGE_UPLOAD_CTX;
 }
 static void savageBlendFunc_s3d(GLcontext *ctx)
 {
@@ -426,6 +428,8 @@ static void savageBlendFunc_s3d(GLcontext *ctx)
 
     imesa->regs.s3d.zBufCtrl.ni.wrZafterAlphaTst =
        imesa->regs.s3d.drawCtrl.ni.alphaTestEn;
+
+    imesa->dirty |= SAVAGE_UPLOAD_CTX;
 }
 
 static void savageDDBlendFuncSeparate_s4( GLcontext *ctx, GLenum sfactorRGB, 
@@ -1217,14 +1221,13 @@ static void savageDDEnable_s4(GLcontext *ctx, GLenum cap, GLboolean state)
             break;
         case GL_CULL_FACE:
 #if HW_CULL
-            imesa->dirty |= SAVAGE_UPLOAD_CTX;
             if (state)
             {
                 savageDDCullFaceFrontFace(ctx,0);
             }
             else
             {
-                imesa->regs.s4.drawCtrl1.ni.cullMode=BCM_None;
+               imesa->LcsCullMode = BCM_None;
             }
 #endif
             break;
@@ -1295,14 +1298,13 @@ static void savageDDEnable_s3d(GLcontext *ctx, GLenum cap, GLboolean state)
             break;
         case GL_CULL_FACE:
 #if HW_CULL
-            imesa->dirty |= SAVAGE_UPLOAD_CTX;
             if (state)
             {
                 savageDDCullFaceFrontFace(ctx,0);
             }
             else
             {
-                imesa->regs.s3d.drawCtrl.ni.cullMode=BCM_None;
+                imesa->LcsCullMode = BCM_None;
             }
 #endif
             break;