From: Topi Pohjolainen Date: Tue, 13 Jun 2017 09:30:26 +0000 (+0300) Subject: i965/miptree: Prepare range getter for isl based X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e816c9deb6f45a0053f35dd683868605b98c53c;p=mesa.git i965/miptree: Prepare range getter for isl based Reviewed-by: Jason Ekstrand Signed-off-by: Topi Pohjolainen --- 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)