summaryrefslogtreecommitdiff
path: root/src/sna/sna_blt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/sna_blt.c')
-rw-r--r--src/sna/sna_blt.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index c9a02287..59b8141c 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -2624,24 +2624,20 @@ clear:
op = PictOpSrc;
if (op == PictOpOver) {
color = over(get_solid_color(src, PICT_a8r8g8b8),
- color_convert(sna_pixmap(tmp->dst.pixmap)->clear_color,
- dst->format, PICT_a8r8g8b8));
+ solid_color(dst->format, sna_pixmap(tmp->dst.pixmap)->clear_color));
op = PictOpSrc;
DBG(("%s: precomputing solid OVER (%08x, %08x) -> %08x\n",
__FUNCTION__, get_solid_color(src, PICT_a8r8g8b8),
- color_convert(sna_pixmap(tmp->dst.pixmap)->clear_color,
- dst->format, PICT_a8r8g8b8),
+ solid_color(dst->format, sna_pixmap(tmp->dst.pixmap)->clear_color),
color));
}
if (op == PictOpAdd) {
color = add(get_solid_color(src, PICT_a8r8g8b8),
- color_convert(sna_pixmap(tmp->dst.pixmap)->clear_color,
- dst->format, PICT_a8r8g8b8));
+ solid_color(dst->format, sna_pixmap(tmp->dst.pixmap)->clear_color));
op = PictOpSrc;
DBG(("%s: precomputing solid ADD (%08x, %08x) -> %08x\n",
__FUNCTION__, get_solid_color(src, PICT_a8r8g8b8),
- color_convert(sna_pixmap(tmp->dst.pixmap)->clear_color,
- dst->format, PICT_a8r8g8b8),
+ solid_color(dst->format, sna_pixmap(tmp->dst.pixmap)->clear_color),
color));
}
}
@@ -2747,8 +2743,8 @@ fill:
if (is_clear(src_pixmap)) {
if (src->repeat ||
(x >= 0 && y >= 0 &&
- x + width < src_pixmap->drawable.width &&
- y + height < src_pixmap->drawable.height)) {
+ x + width <= src_pixmap->drawable.width &&
+ y + height <= src_pixmap->drawable.height)) {
color = color_convert(sna_pixmap(src_pixmap)->clear_color,
src->format, tmp->dst.format);
goto fill;