[Mesa-dev] [PATCH 4/7] i965/blorp: Use R16_UNORM for Z32F surfaces.

Daniel Vetter daniel at ffwll.ch
Tue Oct 8 04:22:25 PDT 2013


On Mon, Oct 07, 2013 at 04:31:20PM -0700, Kenneth Graunke wrote:
> Currently, all that matters is that we copy the correct number of bits,
> so any format that has 32-bits of data will work fine.
> 
> Once BLORP begins handling format conversions, the sampler will need to
> correctly interpret the data.  We don't need a depth format, but we do
> need the right number of components and data type (FLOAT).
> 
> For Z32F, this means using R32_FLOAT.
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

R32_FLOAT instead of R16_UNORM in the subject.
-Daniel

> ---
>  src/mesa/drivers/dri/i965/brw_blorp.cpp | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp.cpp b/src/mesa/drivers/dri/i965/brw_blorp.cpp
> index 46bb244..f71db4f 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp.cpp
> @@ -86,15 +86,17 @@ brw_blorp_surface_info::set(struct brw_context *brw,
>        this->brw_surfaceformat = BRW_SURFACEFORMAT_R8_UNORM;
>        break;
>     case MESA_FORMAT_X8_Z24:
> -   case MESA_FORMAT_Z32_FLOAT:
> -      /* The miptree consists of 32 bits per pixel, arranged either as 24-bit
> -       * depth values interleaved with 8 "don't care" bits, or as 32-bit
> -       * floating point depth values.  Since depth values don't require any
> -       * blending, it doesn't matter how we interpret the bit pattern as long
> -       * as we copy the right amount of data, so just map it as 8-bit BGRA.
> +      /* The miptree consists of 32 bits per pixel, arranged as 24-bit depth
> +       * values interleaved with 8 "don't care" bits.  Since depth values don't
> +       * require any blending, it doesn't matter how we interpret the bit
> +       * pattern as long as we copy the right amount of data, so just map it
> +       * as 8-bit BGRA.
>         */
>        this->brw_surfaceformat = BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
>        break;
> +   case MESA_FORMAT_Z32_FLOAT:
> +      this->brw_surfaceformat = BRW_SURFACEFORMAT_R32_FLOAT;
> +      break;
>     case MESA_FORMAT_Z16:
>        this->brw_surfaceformat = BRW_SURFACEFORMAT_R16_UNORM;
>        break;
> -- 
> 1.8.3.2
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the mesa-dev mailing list