radeonsi: don't flush when si_eliminate_fast_color_clear is no-op

This commit is contained in:
Marek Olšák 2018-01-30 02:51:47 +01:00
parent 5f55f4c59f
commit b494ed168c

View file

@ -389,8 +389,12 @@ void si_eliminate_fast_color_clear(struct r600_common_context *rctx,
if (ctx == sscreen->aux_context)
mtx_lock(&sscreen->aux_context_lock);
unsigned n = rctx->num_decompress_calls;
ctx->flush_resource(ctx, &rtex->resource.b.b);
ctx->flush(ctx, NULL, 0);
/* Flush only if any fast clear elimination took place. */
if (n != rctx->num_decompress_calls)
ctx->flush(ctx, NULL, 0);
if (ctx == sscreen->aux_context)
mtx_unlock(&sscreen->aux_context_lock);