summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-06 15:38:02 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-06 15:38:02 +0100
commitb790ba2ec9ead51227d85fc8630bc7505eb7d7b3 (patch)
tree87781ed2c80a1cfb2146a60419b342034ff49800
parent0b81bafb802bb86454739ed46cf45571bccef735 (diff)
sna: Correct the damage offset for redirected rendering
Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48385 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_damage.c9
-rw-r--r--src/sna/sna_render.c3
2 files changed, 5 insertions, 7 deletions
diff --git a/src/sna/sna_damage.c b/src/sna/sna_damage.c
index 9c646d86..f2d682d5 100644
--- a/src/sna/sna_damage.c
+++ b/src/sna/sna_damage.c
@@ -945,8 +945,11 @@ struct sna_damage *_sna_damage_is_all(struct sna_damage *damage,
{
DBG(("%s(%d, %d)%s?\n", __FUNCTION__, width, height,
damage->dirty ? "*" : ""));
- assert(damage->mode == DAMAGE_ADD);
+ DBG(("%s: (%d, %d), (%d, %d)\n", __FUNCTION__,
+ damage->extents.x1, damage->extents.y1,
+ damage->extents.x2, damage->extents.y2));
+ assert(damage->mode == DAMAGE_ADD);
assert(damage->extents.x1 == 0 &&
damage->extents.y1 == 0 &&
damage->extents.x2 == width &&
@@ -962,10 +965,6 @@ struct sna_damage *_sna_damage_is_all(struct sna_damage *damage,
return damage;
}
- DBG(("%s: (%d, %d), (%d, %d)\n", __FUNCTION__,
- damage->extents.x1, damage->extents.y1,
- damage->extents.x2, damage->extents.y2));
-
assert(damage->extents.x1 == 0 &&
damage->extents.y1 == 0 &&
damage->extents.x2 == width &&
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index d774a349..8af80f27 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -1878,8 +1878,7 @@ sna_render_composite_redirect_done(struct sna *sna,
}
if (t->damage) {
sna_damage_combine(t->real_damage, t->damage,
- t->box.x1 - op->dst.x,
- t->box.y1 - op->dst.y);
+ -t->box.x1, -t->box.y1);
__sna_damage_destroy(t->damage);
}