[Mesa-dev] [PATCH 4/4] radeonsi: unify si_set_optimal_micro_tile_mode call sites
Nicolai Hähnle
nhaehnle at gmail.com
Thu Sep 8 06:46:55 UTC 2016
For the series:
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
On 07.09.2016 13:46, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> There is nothing special happening in those code blocks.
> ---
> src/gallium/drivers/radeon/r600_texture.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
> index e452588..41fd94b 100644
> --- a/src/gallium/drivers/radeon/r600_texture.c
> +++ b/src/gallium/drivers/radeon/r600_texture.c
> @@ -2496,24 +2496,20 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
> }
>
> /* Try to clear DCC first, otherwise try CMASK. */
> if (tex->dcc_offset && tex->surface.level[0].dcc_enabled) {
> uint32_t reset_value;
> bool clear_words_needed;
>
> if (rctx->screen->debug_flags & DBG_NO_DCC_CLEAR)
> continue;
>
> - /* We can change the micro tile mode before a full clear. */
> - if (rctx->screen->chip_class >= SI)
> - si_set_optimal_micro_tile_mode(rctx->screen, tex);
> -
> if (!vi_get_fast_clear_parameters(fb->cbufs[i]->format,
> color, &reset_value,
> &clear_words_needed))
> continue;
>
> vi_dcc_clear_level(rctx, tex, 0, reset_value);
>
> if (clear_words_needed)
> tex->dirty_level_mask |= 1 << fb->cbufs[i]->u.tex.level;
> tex->separate_dcc_dirty = true;
> @@ -2526,32 +2522,32 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
> /* Stoney/RB+ doesn't work with CMASK fast clear. */
> if (rctx->family == CHIP_STONEY)
> continue;
>
> /* ensure CMASK is enabled */
> r600_texture_alloc_cmask_separate(rctx->screen, tex);
> if (tex->cmask.size == 0) {
> continue;
> }
>
> - /* We can change the micro tile mode before a full clear. */
> - if (rctx->screen->chip_class >= SI)
> - si_set_optimal_micro_tile_mode(rctx->screen, tex);
> -
> /* Do the fast clear. */
> rctx->clear_buffer(&rctx->b, &tex->cmask_buffer->b.b,
> tex->cmask.offset, tex->cmask.size, 0,
> R600_COHERENCY_CB_META);
>
> tex->dirty_level_mask |= 1 << fb->cbufs[i]->u.tex.level;
> }
>
> + /* We can change the micro tile mode before a full clear. */
> + if (rctx->screen->chip_class >= SI)
> + si_set_optimal_micro_tile_mode(rctx->screen, tex);
> +
> evergreen_set_clear_color(tex, fb->cbufs[i]->format, color);
>
> if (dirty_cbufs)
> *dirty_cbufs |= 1 << i;
> rctx->set_atom_dirty(rctx, fb_state, true);
> *buffers &= ~clear_bit;
> }
> }
>
> void r600_init_screen_texture_functions(struct r600_common_screen *rscreen)
>
More information about the mesa-dev
mailing list