[Mesa-dev] [PATCH] util: fix incorrect Z bit masking in util_clear_depth_stencil()

Jose Fonseca jfonseca at vmware.com
Tue Feb 12 00:30:27 PST 2013


Good catch!

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>


----- Original Message -----
> For PIPE_FORMAT_Z24_UNORM_S8_UINT, the Z bits are in the 24
> least significant bits.
> 
> Fixes http://bugs.freedesktop.org/show_bug.cgi?id=60527
> and http://bugs.freedesktop.org/show_bug.cgi?id=60524
> and http://bugs.freedesktop.org/show_bug.cgi?id=60047
> 
> Note: This is a candidate for the stable branches.
> ---
>  src/gallium/auxiliary/util/u_surface.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/util/u_surface.c
> b/src/gallium/auxiliary/util/u_surface.c
> index 37f4815..b948b46 100644
> --- a/src/gallium/auxiliary/util/u_surface.c
> +++ b/src/gallium/auxiliary/util/u_surface.c
> @@ -421,10 +421,10 @@ util_clear_depth_stencil(struct pipe_context *pipe,
>           else {
>              uint32_t dst_mask;
>              if (format == PIPE_FORMAT_Z24_UNORM_S8_UINT)
> -               dst_mask = 0xffffff00;
> +               dst_mask = 0x00ffffff;
>              else {
>                 assert(format == PIPE_FORMAT_S8_UINT_Z24_UNORM);
> -               dst_mask = 0xffffff;
> +               dst_mask = 0xffffff00;
>              }
>              if (clear_flags & PIPE_CLEAR_DEPTH)
>                 dst_mask = ~dst_mask;
> --
> 1.7.3.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list