summaryrefslogtreecommitdiff
path: root/src/sna/sna_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/sna_render.c')
-rw-r--r--src/sna/sna_render.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index db159fd3..dd757dd9 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -1911,10 +1911,15 @@ sna_render_composite_redirect(struct sna *sna,
DBG(("%s: dst pitch (%d) fits within render pipeline (%d)\n",
__FUNCTION__, op->dst.bo->pitch, sna->render.max_3d_pitch));
- box.x1 = x;
- box.x2 = bound(x, width);
- box.y1 = y;
- box.y2 = bound(y, height);
+ box.x1 = x + op->dst.x;
+ box.x2 = bound(box.x1, width);
+ box.y1 = y + op->dst.y;
+ box.y2 = bound(box.y1, height);
+
+ if (box.x1 < 0)
+ box.x1 = 0;
+ if (box.y1 < 0)
+ box.y1 = 0;
/* Ensure we align to an even tile row */
if (op->dst.bo->tiling) {