initial implementation of GL_HP_occlusion_test extension

This commit is contained in:
Brian Paul
2000-03-11 23:23:26 +00:00
parent 516b8363bb
commit 1b2ff69f46
5 changed files with 120 additions and 11 deletions

View 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) {