summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2015-06-20 11:10:19 +0100
committerRussell King <rmk@arm.linux.org.uk>2015-06-29 12:58:37 +0100
commitd47476e485a84511cd3cd6a9ca02ec998a1126bc (patch)
treead5a1726adcdc99f5ae958de36335f9f6cf35b29
parent03ccd7cbf4c4b63dcd28ce2484c574fa2b2fcdda (diff)
etnaviv: avoid blit setup in etnaviv_accel_FillSpans() if no work to do
Sometimes, we clip away all the spans to be filled. In this case, it's pointless emitting the setup states and adding the bo to the batch list. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
-rw-r--r--etnaviv/etnaviv_accel.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/etnaviv/etnaviv_accel.c b/etnaviv/etnaviv_accel.c
index 4cfc12b..dd9f88d 100644
--- a/etnaviv/etnaviv_accel.c
+++ b/etnaviv/etnaviv_accel.c
@@ -486,9 +486,11 @@ Bool etnaviv_accel_FillSpans(DrawablePtr pDrawable, GCPtr pGC, int n,
ppt++;
}
- etnaviv_blit_start(etnaviv, &op);
- etnaviv_blit(etnaviv, &op, boxes, b - boxes);
- etnaviv_blit_complete(etnaviv);
+ if (b != boxes) {
+ etnaviv_blit_start(etnaviv, &op);
+ etnaviv_blit(etnaviv, &op, boxes, b - boxes);
+ etnaviv_blit_complete(etnaviv);
+ }
free(boxes);