From: Marek Olšák Date: Wed, 20 Aug 2014 12:36:53 +0000 (+0200) Subject: r600g: enable fast depth clear for array textures and cubemaps X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0ccc653c707d8eeb793fa261f2bfa60f5ff53792;p=mesa.git r600g: enable fast depth clear for array textures and cubemaps I have a piglit test that hits this. Acked-by: Michel Dänzer --- diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index a3cfdae6b73..0f438399432 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -429,7 +429,8 @@ static void r600_clear(struct pipe_context *ctx, unsigned buffers, */ /* Only use htile for first level */ if (rtex->htile_buffer && !level && - util_max_layer(&rtex->resource.b.b, level) == 0) { + fb->zsbuf->u.tex.first_layer == 0 && + fb->zsbuf->u.tex.last_layer == util_max_layer(&rtex->resource.b.b, level)) { if (rtex->depth_clear_value != depth) { rtex->depth_clear_value = depth; rctx->db_state.atom.dirty = true;