summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-06-26 12:04:46 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-06-26 12:04:46 +0100
commit362b0dc6a3b1692b752d8f250075ccc81debfca3 (patch)
tree40af6000a0d8183d69528ecac8cead6aba7657e6 /src/sna
parent2212468315f383d09ea17c2edac8666bdb862bc7 (diff)
sna/gen4+: Fix determination of intermediate extents
Complete logic fail for finding the bounding box of the boxes to be copied. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66168 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/gen4_render.c8
-rw-r--r--src/sna/gen5_render.c8
-rw-r--r--src/sna/gen6_render.c8
-rw-r--r--src/sna/gen7_render.c8
-rw-r--r--src/sna/sna_render.c5
5 files changed, 19 insertions, 18 deletions
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index e6b6d440..b27e531a 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -2377,14 +2377,14 @@ fallback_blt:
int i;
for (i = 1; i < n; i++) {
- if (extents.x1 < box[i].x1)
+ if (box[i].x1 < extents.x1)
extents.x1 = box[i].x1;
- if (extents.y1 < box[i].y1)
+ if (box[i].y1 < extents.y1)
extents.y1 = box[i].y1;
- if (extents.x2 > box[i].x2)
+ if (box[i].x2 > extents.x2)
extents.x2 = box[i].x2;
- if (extents.y2 > box[i].y2)
+ if (box[i].y2 > extents.y2)
extents.y2 = box[i].y2;
}
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index f7f7e6fe..689332c1 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -2323,14 +2323,14 @@ fallback_blt:
int i;
for (i = 1; i < n; i++) {
- if (extents.x1 < box[i].x1)
+ if (box[i].x1 < extents.x1)
extents.x1 = box[i].x1;
- if (extents.y1 < box[i].y1)
+ if (box[i].y1 < extents.y1)
extents.y1 = box[i].y1;
- if (extents.x2 > box[i].x2)
+ if (box[i].x2 > extents.x2)
extents.x2 = box[i].x2;
- if (extents.y2 > box[i].y2)
+ if (box[i].y2 > extents.y2)
extents.y2 = box[i].y2;
}
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 5cdfec70..e9136d74 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -2758,14 +2758,14 @@ fallback_blt:
extents = box[0];
for (i = 1; i < n; i++) {
- if (extents.x1 < box[i].x1)
+ if (box[i].x1 < extents.x1)
extents.x1 = box[i].x1;
- if (extents.y1 < box[i].y1)
+ if (box[i].y1 < extents.y1)
extents.y1 = box[i].y1;
- if (extents.x2 > box[i].x2)
+ if (box[i].x2 > extents.x2)
extents.x2 = box[i].x2;
- if (extents.y2 > box[i].y2)
+ if (box[i].y2 > extents.y2)
extents.y2 = box[i].y2;
}
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 49a82e11..665d5152 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -2941,14 +2941,14 @@ fallback_blt:
extents = box[0];
for (i = 1; i < n; i++) {
- if (extents.x1 < box[i].x1)
+ if (box[i].x1 < extents.x1)
extents.x1 = box[i].x1;
- if (extents.y1 < box[i].y1)
+ if (box[i].y1 < extents.y1)
extents.y1 = box[i].y1;
- if (extents.x2 > box[i].x2)
+ if (box[i].x2 > extents.x2)
extents.x2 = box[i].x2;
- if (extents.y2 > box[i].y2)
+ if (box[i].y2 > extents.y2)
extents.y2 = box[i].y2;
}
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index 330bfadf..f27d1d8d 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -1890,11 +1890,12 @@ sna_render_composite_redirect(struct sna *sna,
return false;
#endif
- DBG(("%s: target too large (%dx%d), copying to temporary %dx%d, max %d\n",
+ DBG(("%s: target too large (%dx%d), copying to temporary %dx%d, max %d / %d\n",
__FUNCTION__,
op->dst.width, op->dst.height,
width, height,
- sna->render.max_3d_size));
+ sna->render.max_3d_size,
+ sna->render.max_3d_pitch));
if (!width || !height)
return false;