radeonsi: fix layered DCC fast clear

Cc: 17.2 17.3 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit 6863651bbd)
This commit is contained in:
Marek Olšák 2017-11-28 20:57:10 +01:00 committed by Emil Velikov
parent de438f1569
commit e893ae4d9d

View file

@ -2588,8 +2588,11 @@ void vi_dcc_clear_level(struct r600_common_context *rctx,
assert(rtex->resource.b.b.nr_samples <= 1);
clear_size = rtex->surface.dcc_size;
} else {
unsigned num_layers = util_max_layer(&rtex->resource.b.b, level) + 1;
dcc_offset += rtex->surface.u.legacy.level[level].dcc_offset;
clear_size = rtex->surface.u.legacy.level[level].dcc_fast_clear_size;
clear_size = rtex->surface.u.legacy.level[level].dcc_fast_clear_size *
num_layers;
}
rctx->clear_buffer(&rctx->b, dcc_buffer, dcc_offset, clear_size,