summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Haehnle <[email protected]>2008-06-07 20:33:28 +0200
committerNicolai Haehnle <[email protected]>2008-06-07 20:34:06 +0200
commit7cb63a25de47bd941efd04c39d2758c2e91a313a (patch)
tree38234ea0a586ae563d6502e498a2cba8d55a88c8
parent731686b7132ff50d78ef2dc5bfab550750925132 (diff)
r300: Apply writemask when clearing stencil buffer
This fixes the glean/maskedClear test.
-rw-r--r--src/mesa/drivers/dri/r300/r300_ioctl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_ioctl.c b/src/mesa/drivers/dri/r300/r300_ioctl.c
index 2da0ac0e1ab..fbe69207454 100644
--- a/src/mesa/drivers/dri/r300/r300_ioctl.c
+++ b/src/mesa/drivers/dri/r300/r300_ioctl.c
@@ -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__);