rearranged order of some functions
[mesa.git] / src / mesa / main / state.c
index 667953a65caebb812fa088a43235e6b74465f80d..d82ffa574486828532c3d72da618450d92f68014 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: state.c,v 1.4 2000/02/24 22:04:03 brianp Exp $ */
+/* $Id: state.c,v 1.5 2000/03/11 23:23:26 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -791,11 +791,21 @@ static void update_rasterflags( GLcontext *ctx )
       ctx->RasterMask |= WINCLIP_BIT;
    }
 
+   if (ctx->Depth.OcclusionTest) {
+      if (ctx->Color.ColorMask[0] == 0 && 
+          ctx->Color.ColorMask[1] == 0 && 
+          ctx->Color.ColorMask[2] == 0 &&
+          ctx->Color.ColorMask[3] == 0 && 
+          ctx->Depth.Mask == GL_FALSE &&
+          !ctx->Stencil.Enabled) {
+         ctx->RasterMask |= OCCLUSION_BIT;
+      }
+   }
+
    /* If we're not drawing to exactly one color buffer set the
     * MULTI_DRAW_BIT flag.  Also set it if we're drawing to no
     * buffers or the RGBA or CI mask disables all writes.
     */
-
    ctx->TriangleCaps &= ~DD_MULTIDRAW;
 
    if (ctx->Color.MultiDrawBuffer) {