summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2000-03-31 17:07:10 +0000
committerBrian Paul <[email protected]>2000-03-31 17:07:10 +0000
commitaa51bb083bf392962a6828cdd6a8c804aa19bd42 (patch)
treeb3d343db77cab8607fc01ca402e81f10580d85ec
parent3da3b9e84ce4ade33a7e0284762492099a48935e (diff)
mask/disable stencil/accum clears in fxDDClear()
-rw-r--r--src/mesa/drivers/glide/fxdd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/glide/fxdd.c b/src/mesa/drivers/glide/fxdd.c
index 01e70951418..58310cfb33f 100644
--- a/src/mesa/drivers/glide/fxdd.c
+++ b/src/mesa/drivers/glide/fxdd.c
@@ -180,13 +180,16 @@ static GLbitfield fxDDClear(GLcontext *ctx, GLbitfield mask, GLboolean all,
const FxU16 clearD = (FxU16) (ctx->Depth.Clear * 0xffff);
GLbitfield softwareMask = mask & (DD_STENCIL_BIT | DD_ACCUM_BIT);
+ /* we can't clear stencil or accum buffers */
+ mask &= ~(DD_STENCIL_BIT | DD_ACCUM_BIT);
+
if (MESA_VERBOSE & VERBOSE_DRIVER) {
fprintf(stderr,"fxmesa: fxDDClear(%d,%d,%d,%d)\n", (int) x, (int) y,
(int) width, (int) height);
}
if (colorMask != 0xffffffff) {
- /* do color buffer clears in software */
+ /* do masked color buffer clears in software */
softwareMask |= (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT));
mask &= ~(DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT);
}