From b1a061b81ed78cd3c71304e122374ae970d04908 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 1 Jul 2013 02:29:50 +0200 Subject: [PATCH] r600g: enable fast MSAA color clear for array/3D/cube textures Reviewed-by: Alex Deucher --- src/gallium/drivers/r600/r600_blit.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 3b8a28b7fe8..7a0e2561b85 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -447,7 +447,6 @@ static bool can_fast_clear_color(struct pipe_context *ctx) for (i = 0; i < fb->nr_cbufs; i++) { struct r600_texture *tex = (struct r600_texture *)fb->cbufs[i]->texture; - int target = fb->cbufs[i]->texture->target; if (tex->cmask_size == 0) { return false; @@ -458,9 +457,9 @@ static bool can_fast_clear_color(struct pipe_context *ctx) return false; } - /* textures with multiple images are not supported */ - if (target != PIPE_TEXTURE_2D && target != PIPE_TEXTURE_RECT && - target != PIPE_TEXTURE_1D) { + /* the clear is allowed if all layers are bound */ + if (fb->cbufs[i]->u.tex.first_layer != 0 || + fb->cbufs[i]->u.tex.last_layer != util_max_layer(&tex->resource.b.b, 0)) { return false; } } -- 2.30.2