Mesa (master): auxiliary: fix depth-only and stencil-only clears

Luca Barbieri lb at kemper.freedesktop.org
Sun Sep 19 19:55:17 UTC 2010


Module: Mesa
Branch: master
Commit: a01578c84ffcc03a98b3c3f20d05cdb0e0e4ada7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a01578c84ffcc03a98b3c3f20d05cdb0e0e4ada7

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Sun Sep 19 21:48:28 2010 +0200

auxiliary: fix depth-only and stencil-only clears

Depth-only and stencil-only clears should mask out depth/stencil from the
output, mask out stencil/input from input, and OR or ADD them together.

However, due to a typo they were being ANDed, resulting in zeroing the buffer.

---

 src/gallium/auxiliary/util/u_surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c
index af99163..f78b683 100644
--- a/src/gallium/auxiliary/util/u_surface.c
+++ b/src/gallium/auxiliary/util/u_surface.c
@@ -332,7 +332,7 @@ util_clear_depth_stencil(struct pipe_context *pipe,
                uint32_t *row = (uint32_t *)dst_map;
                for (j = 0; j < width; j++) {
                   uint32_t tmp = *row & dst_mask;
-                  *row++ = tmp & (zstencil & ~dst_mask);
+                  *row++ = tmp | (zstencil & ~dst_mask);
                }
                dst_map += dst_stride;
             }




More information about the mesa-commit mailing list