r300: Apply writemask when clearing stencil buffer
authorNicolai Haehnle <nhaehnle@gmail.com>
Sat, 7 Jun 2008 18:33:28 +0000 (20:33 +0200)
committerNicolai Haehnle <nhaehnle@gmail.com>
Sat, 7 Jun 2008 18:34:06 +0000 (20:34 +0200)
This fixes the glean/maskedClear test.

src/mesa/drivers/dri/r300/r300_ioctl.c

index 2da0ac0e1ab0f18c5bff67443afd5419ba69667b..fbe69207454c96c1df1f0a77c89fbf585fc4af4c 100644 (file)
@@ -147,7 +147,8 @@ static void r300ClearBuffer(r300ContextPtr r300, int flags, int buffer)
 
                e32(t1);
                e32(t2);
-               e32(R300_STENCILWRITEMASK_MASK | r300->state.stencil.clear);
+               e32(((ctx->Stencil.WriteMask[0] & R300_STENCILREF_MASK) << R300_STENCILWRITEMASK_SHIFT) |
+                   (r300->state.stencil.clear & R300_STENCILREF_MASK));
        }
 
        cmd2 = (drm_r300_cmd_header_t *) r300AllocCmdBuf(r300, 9, __FUNCTION__);