summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+cubox@arm.linux.org.uk>2013-10-29 12:28:05 +0000
committerRussell King <rmk@arm.linux.org.uk>2013-10-29 19:21:13 +0000
commitc7227a88ada234f7316aad1992fa77bcf119b407 (patch)
treef187d2464f690d146feb1b6ec2c72b8e1308d775
parent016419f8fbd22cc978a6963b6d74ac67ebfaf5dc (diff)
downloadxf86-video-armada-c7227a88ada234f7316aad1992fa77bcf119b407.tar.gz
xf86-video-armada-c7227a88ada234f7316aad1992fa77bcf119b407.tar.xz
Avoid setting up a brush when none is required
Our blit copies do not make use of the brush, so it's pointless setting one up each time. Avoid this to reduce the overhead of setting up blit copies. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
-rw-r--r--src/vivante_accel.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/vivante_accel.c b/src/vivante_accel.c
index f86a35f..d7d9fa5 100644
--- a/src/vivante_accel.c
+++ b/src/vivante_accel.c
@@ -442,6 +442,7 @@ static Bool vivante_fill(struct vivante *vivante, struct vivante_pixmap *vPix,
} else {
fg = pGC->fgPixel;
}
+
err = gco2D_LoadSolidBrush(vivante->e2d, vPix->format, 0, fg, ~0ULL);
if (err != gcvSTATUS_OK) {
vivante_error(vivante, "gco2D_LoadSolidBrush", err);
@@ -644,11 +645,7 @@ Bool vivante_accel_PutImage(DrawablePtr pDrawable, GCPtr pGC, int depth,
goto unmap;
}
- err = gco2D_LoadSolidBrush(vivante->e2d, vPix->format, 0, 0, ~0ULL);
- if (err != gcvSTATUS_OK) {
- vivante_error(vivante, "LoadSolidBrush", err);
- goto unmap;
- }
+ /* No need to load the brush here - the blit copy doesn't use it. */
total.x1 = x;
total.y1 = y;
@@ -726,11 +723,7 @@ void vivante_accel_CopyNtoN(DrawablePtr pSrc, DrawablePtr pDst,
vivante_disable_alpha_blend(vivante);
- err = gco2D_LoadSolidBrush(vivante->e2d, vDst->format, 0, 0, ~0ULL);
- if (err != gcvSTATUS_OK) {
- what = "LoadSolidBrush";
- goto fallback_msg;
- }
+ /* No need to load the brush here - the blit copy doesn't use it. */
err = gco2D_SetColorSourceAdvanced(vivante->e2d, vSrc->handle,
vSrc->pitch, vSrc->format, gcvSURF_0_DEGREE,