mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
radeonsi: handle non-clearable DCC buffers as MSAA resolve dst
This is reproducible on Stoney, but other chips may be affected too. Cc 18.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
587e712eda
commit
9c21002f6e
2 changed files with 6 additions and 1 deletions
|
|
@ -1161,6 +1161,11 @@ static bool do_hardware_msaa_resolve(struct pipe_context *ctx,
|
|||
info->dst.resource->last_level != 0)
|
||||
goto resolve_to_temp;
|
||||
|
||||
/* This can happen with mipmapping. */
|
||||
if (sctx->chip_class == VI &&
|
||||
!dst->surface.u.legacy.level[info->dst.level].dcc_fast_clear_size)
|
||||
goto resolve_to_temp;
|
||||
|
||||
vi_dcc_clear_level(sctx, dst, info->dst.level,
|
||||
0xFFFFFFFF);
|
||||
dst->dirty_level_mask &= ~(1 << info->dst.level);
|
||||
|
|
|
|||
|
|
@ -479,7 +479,7 @@ static void si_do_fast_color_clear(struct si_context *sctx,
|
|||
if (sctx->screen->debug_flags & DBG(NO_DCC_CLEAR))
|
||||
continue;
|
||||
|
||||
/* This can only occur with MSAA. */
|
||||
/* This can happen with mipmapping or MSAA. */
|
||||
if (sctx->chip_class == VI &&
|
||||
!tex->surface.u.legacy.level[level].dcc_fast_clear_size)
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue