summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2013-10-07 11:19:11 -0700
committerKenneth Graunke <[email protected]>2013-10-09 16:36:49 -0700
commit590d71791a50c9b2caebffa79ae4382c78deca80 (patch)
treebe32fcd7ced605e185be5521fdaea2d29e72e465
parent4dc25b761553215a686650c6bcb8831ef0c9120d (diff)
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 <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp.cpp14
1 files 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 46bb244b80c..f71db4f88d8 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;