summaryrefslogtreecommitdiff
path: root/src/sna/gen2_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-02-09 10:32:48 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2015-02-09 10:38:50 +0000
commitf7f68d50797f0a5e6a3c7f931c827845464acd3f (patch)
treee1dea895363efdf7e90f89b9afcbb470f16dbf0c /src/sna/gen2_render.c
parent733a88bda7a654473ffc5961d08ac246ca12a28b (diff)
sna: Convert pixel values into ARGB values for render operations
When converting from a Pixmap into a Solid, we need to remember to convert from the stored pixel format into the a8r8g8b8 used by the solid fill. This was exposed by commit aef2f99d051dfa37717e5d6d6de9b548d706a520 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Feb 3 21:31:16 2015 +0000 sna: Convert CompositeRectangles ADD white to SRC white but is a regression from commit 31a4c7bc13c5f4560482b450b9ee4788a58930cd [2.99.912] Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Apr 4 10:46:48 2014 +0100 sna/gen2+: Replace composite sources with solids where possible Reported-by: andrew@atomspring.com Reported-by: Matti Hämäläinen <ccr@tnsp.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89030 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen2_render.c')
-rw-r--r--src/sna/gen2_render.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c
index 1104f462..12b741cc 100644
--- a/src/sna/gen2_render.c
+++ b/src/sna/gen2_render.c
@@ -1572,12 +1572,12 @@ gen2_composite_picture(struct sna *sna,
if (channel->repeat &&
(x >= 0 &&
y >= 0 &&
- x + w < pixmap->drawable.width &&
- y + h < pixmap->drawable.height)) {
+ x + w <= pixmap->drawable.width &&
+ y + h <= pixmap->drawable.height)) {
struct sna_pixmap *priv = sna_pixmap(pixmap);
if (priv && priv->clear) {
DBG(("%s: converting large pixmap source into solid [%08x]\n", __FUNCTION__, priv->clear_color));
- return gen2_composite_solid_init(sna, channel, priv->clear_color);
+ return gen2_composite_solid_init(sna, channel, solid_color(picture->format, priv->clear_color));
}
}
} else