diff options
author | Russell King <rmk@arm.linux.org.uk> | 2015-06-20 11:10:19 +0100 |
---|---|---|
committer | Russell King <rmk@arm.linux.org.uk> | 2015-06-29 12:58:37 +0100 |
commit | d47476e485a84511cd3cd6a9ca02ec998a1126bc (patch) | |
tree | ad5a1726adcdc99f5ae958de36335f9f6cf35b29 | |
parent | 03ccd7cbf4c4b63dcd28ce2484c574fa2b2fcdda (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.c | 8 |
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); |