summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-07-29 11:51:39 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-07-29 12:16:21 +0100
commitc9d89499806779cd6c62d5d6d34df76279cc5abd (patch)
treed63fa46a3372774587094b77384084940ac1d0ad /src
parent3cb75950a90c28690f78fd3bf93ff8e23e5d543a (diff)
sna: Composite region is already in dst drawable space
So do not offset it again when processing the fallback composite operation. Regression from commit 6921abd81017c9ed7f3b2413784068fbc609a0ea Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Jul 18 16:21:27 2013 +0100 sna: Add a fast path for the most common fallback for CPU-CPU blits References: https://bugs.freedesktop.org/show_bug.cgi?id=66990 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/sna/sna_composite.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c
index f2938074..58dd3567 100644
--- a/src/sna/sna_composite.c
+++ b/src/sna/sna_composite.c
@@ -529,7 +529,8 @@ sna_composite_fb(CARD8 op,
sna_transform_is_integer_translation(src->transform, &tx, &ty)) {
PixmapPtr dst_pixmap = get_drawable_pixmap(dst->pDrawable);
PixmapPtr src_pixmap = get_drawable_pixmap(src->pDrawable);
- int16_t sx = src_x + tx, sy = src_y + ty;
+ int16_t sx = src_x + tx - (dst->pDrawable->x - dst_x);
+ int16_t sy = src_y + ty - (dst->pDrawable->y - dst_y);
if (region->extents.x1 + sx >= 0 &&
region->extents.y1 + sy >= 0 &&
region->extents.x2 + sx <= src->pDrawable->width &&
@@ -547,8 +548,6 @@ sna_composite_fb(CARD8 op,
assert(region->extents.y1 + sy >= 0);
assert(region->extents.y2 + sy <= src_pixmap->drawable.height);
- dst_x += dst->pDrawable->x;
- dst_y += dst->pDrawable->y;
if (get_drawable_deltas(dst->pDrawable, dst_pixmap, &tx, &ty))
dst_x += tx, dst_y += ty;