summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_clear.c
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2010-05-29 01:25:09 +0200
committerRoland Scheidegger <sroland@vmware.com>2010-05-29 01:25:09 +0200
commite5b82c8222ef29c162d51a7ca9f553d85a63be22 (patch)
tree79acc5d37ea28940498b67b362be5b41d93f8a3d /src/gallium/drivers/nv50/nv50_clear.c
parentc5cccf8a49daa4a9c0ebd72a1783fe27b352471c (diff)
nv50: adapt to clear interface changes
should support separate depth/stencil clears just fine.
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_clear.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_clear.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/nv50/nv50_clear.c b/src/gallium/drivers/nv50/nv50_clear.c
index 5447904e9c..ee7cf281f4 100644
--- a/src/gallium/drivers/nv50/nv50_clear.c
+++ b/src/gallium/drivers/nv50/nv50_clear.c
@@ -51,13 +51,15 @@ nv50_clear(struct pipe_context *pipe, unsigned buffers,
mode |= 0x3c;
}
- if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {
+ if (buffers & PIPE_CLEAR_DEPTH) {
BEGIN_RING(chan, tesla, NV50TCL_CLEAR_DEPTH, 1);
OUT_RING (chan, fui(depth));
+ mode |= NV50TCL_CLEAR_BUFFERS_Z;
+ }
+ if (buffers & PIPE_CLEAR_STENCIL) {
BEGIN_RING(chan, tesla, NV50TCL_CLEAR_STENCIL, 1);
OUT_RING (chan, stencil & 0xff);
-
- mode |= 0x03;
+ mode |= NV50TCL_CLEAR_BUFFERS_S;
}
BEGIN_RING(chan, tesla, NV50TCL_CLEAR_BUFFERS, 1);