diff options
author | Luca Barbieri <[email protected]> | 2010-09-19 21:48:28 +0200 |
---|---|---|
committer | Luca Barbieri <[email protected]> | 2010-09-19 21:52:02 +0200 |
commit | a01578c84ffcc03a98b3c3f20d05cdb0e0e4ada7 (patch) | |
tree | 4eaccc87693a70008fb3961ddbb14e5b5dccef2b /src/gallium/auxiliary | |
parent | affd46cc2bb327490fbc6a96f936dccf82d4996d (diff) |
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.
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | 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 af99163b2ed..f78b6838a72 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; } |