[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