From 0e816c9deb6f45a0053f35dd683868605b98c53c Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Tue, 13 Jun 2017 12:30:26 +0300 Subject: [PATCH] i965/miptree: Prepare range getter for isl based Reviewed-by: Jason Ekstrand Signed-off-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index b5e30e8e1da..455878c5a40 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -2513,7 +2513,14 @@ miptree_layer_range_length(const struct intel_mipmap_tree *mt, uint32_t level, uint32_t start_layer, uint32_t num_layers) { assert(level <= mt->last_level); - uint32_t total_num_layers = mt->level[level].depth; + uint32_t total_num_layers; + + if (mt->surf.size > 0) + total_num_layers = mt->surf.dim == ISL_SURF_DIM_3D ? + minify(mt->surf.phys_level0_sa.depth, level) : + mt->surf.phys_level0_sa.array_len; + else + total_num_layers = mt->level[level].depth; assert(start_layer < total_num_layers); if (num_layers == INTEL_REMAINING_LAYERS) -- 2.30.2