radeonsi/gfx8: use the proper dcc clear size

dcc_fast_clear_size is assigned using addrlib's dccFastClearSize, which
is computed using the whole surface size (including layers) so we don't
need to multiply dcc_fast_clear_size by num_layers.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4530
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14409>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2022-01-05 16:06:25 +01:00
parent 21047a4a06
commit d84e0096a5

View file

@ -352,7 +352,7 @@ bool vi_dcc_get_clear_info(struct si_context *sctx, struct si_texture *tex, unsi
return false;
dcc_offset += tex->surface.u.legacy.color.dcc_level[level].dcc_offset;
clear_size = tex->surface.u.legacy.color.dcc_level[level].dcc_fast_clear_size * num_layers;
clear_size = tex->surface.u.legacy.color.dcc_level[level].dcc_fast_clear_size;
}
si_init_buffer_clear(out, dcc_buffer, dcc_offset, clear_size, clear_value);