summaryrefslogtreecommitdiff
path: root/src/sna/sna_composite.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/sna_composite.c')
-rw-r--r--src/sna/sna_composite.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c
index 9dc38081..973a6572 100644
--- a/src/sna/sna_composite.c
+++ b/src/sna/sna_composite.c
@@ -868,7 +868,12 @@ fallback:
dst->format))
goto fallback_composite;
- do {
+ if (pixel == 0 &&
+ box->x2 - box->x1 == pixmap->drawable.width &&
+ box->y2 - box->y1 == pixmap->drawable.height) {
+ memset(pixmap->devPrivate.ptr, 0,
+ pixmap->devKind*pixmap->drawable.height);
+ } else do {
DBG(("%s: fallback fill: (%d, %d)x(%d, %d) %08x\n",
__FUNCTION__,
box->x1, box->y1,