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>
(cherry picked from commit d84e0096a5)
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2022-01-05 16:06:25 +01:00 committed by Eric Engestrom
parent b1d0e4d0a8
commit 72a680be0f
2 changed files with 2 additions and 2 deletions

View file

@ -1840,7 +1840,7 @@
"description": "radeonsi/gfx8: use the proper dcc clear size",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

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);