radeonsi: make sure fmask expand is done if needed

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2248
Fixes: 095a58204d ("radeonsi: expand FMASK before MSAA image stores are used")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3174>
(cherry picked from commit c2df5389bb)
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2019-12-19 19:54:16 +01:00 committed by Dylan Baker
parent 14cbf4d8e5
commit 0f257d0cf9

View file

@ -443,7 +443,7 @@ static void si_blit_decompress_color(struct si_context *sctx,
if (!need_dcc_decompress)
level_mask &= tex->dirty_level_mask;
if (!level_mask)
return;
goto expand_fmask;
if (unlikely(sctx->log))
u_log_printf(sctx->log,
@ -514,6 +514,7 @@ static void si_blit_decompress_color(struct si_context *sctx,
vi_dcc_enabled(tex, first_level),
tex->surface.u.gfx9.dcc.pipe_aligned);
expand_fmask:
if (need_fmask_expand && tex->surface.fmask_offset && tex->fmask_is_not_identity) {
si_compute_expand_fmask(&sctx->b, &tex->buffer.b.b);
tex->fmask_is_not_identity = false;