projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5f55f4c
)
radeonsi: don't flush when si_eliminate_fast_color_clear is no-op
author
Marek Olšák
<marek.olsak@amd.com>
Tue, 30 Jan 2018 01:51:47 +0000
(
02:51
+0100)
committer
Marek Olšák
<marek.olsak@amd.com>
Wed, 21 Feb 2018 19:03:11 +0000
(20:03 +0100)
src/gallium/drivers/radeon/r600_texture.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/radeon/r600_texture.c
b/src/gallium/drivers/radeon/r600_texture.c
index a0e91292c3d5d7ecd1615338bb8a6b1b5622be6b..125e7ef4089105233293f6542a58607e8d5fdd19 100644
(file)
--- a/
src/gallium/drivers/radeon/r600_texture.c
+++ b/
src/gallium/drivers/radeon/r600_texture.c
@@
-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);