i965/blorp: Use R32_FLOAT for Z32F surfaces.
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@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user