[Mesa-dev] [PATCH 05/43] i965/blorp: Properly handle mt->first_level

Jason Ekstrand jason at jlekstrand.net
Tue May 16 22:44:59 UTC 2017


The guts of blorp and ISL don't understand i965's partial miptrees.
Instead, we need to subtract off first_level before we hand anything off
to blorp.
---
 src/mesa/drivers/dri/i965/brw_blorp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
index ebc4612..64aa4c9 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.c
+++ b/src/mesa/drivers/dri/i965/brw_blorp.c
@@ -271,6 +271,9 @@ blorp_surf_for_miptree(struct brw_context *brw,
    }
    assert((surf->aux_usage == ISL_AUX_USAGE_NONE) ==
           (surf->aux_addr.buffer == NULL));
+
+   /* ISL wants real levels, not offset ones. */
+   *level -= mt->first_level;
 }
 
 static enum isl_format
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list