xserver-xorg-video-intel: Changes to 'ubuntu'
debian/changelog | 7 +++
debian/patches/series | 1
debian/patches/sna-compensate-clipextents.diff | 52 +++++++++++++++++++++++++
3 files changed, 60 insertions(+)
New commits:
commit 1cbf6f9ba7819c5d13742c8975e82fc4cf3d7308
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Fri Jan 25 09:47:16 2013 +0200
sna-compensate-clipextents.diff: Compensate clipExtents for drawable offset (LP: #1104041). Thanks Matthieu Baerts!
diff --git a/debian/changelog b/debian/changelog
index 527e9ea..68c60ff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.20.19-0ubuntu3) raring; urgency=low
+
+ * sna-compensate-clipextents.diff: Compensate clipExtents for drawable
+ offset (LP: #1104041). Thanks Matthieu Baerts!
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 25 Jan 2013 09:44:38 +0200
+
xserver-xorg-video-intel (2:2.20.19-0ubuntu2) raring; urgency=low
* upstream-snapshot-778dba90c.diff: Patch to update to current git
diff --git a/debian/patches/series b/debian/patches/series
index d550fdb..e1d10d1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
0002-Update-manpage-for-new-accelmethod-option.patch
upstream-snapshot-778dba90c.diff
+sna-compensate-clipextents.diff
diff --git a/debian/patches/sna-compensate-clipextents.diff b/debian/patches/sna-compensate-clipextents.diff
new file mode 100644
index 0000000..49ea2f9
--- /dev/null
+++ b/debian/patches/sna-compensate-clipextents.diff
@@ -0,0 +1,52 @@
+commit d60128c55e8f5f69476d42c20f2fd62ccc0f411e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 24 15:41:29 2013 +0000
+
+ sna/dri: Compensate clipExtents for drawable offset
+
+ The clipExtents is in screen coordinates whereas we just want to confirm
+ that the maximum pixel to be copied lies with the DRI2 buffer, which is
+ relative to the drawable.
+
+ Reported-by: Matthieu Baerts <matttbe@gmail.com>
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59806
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
+index 9d249e3..15b87dd 100644
+--- a/src/sna/sna_dri.c
++++ b/src/sna/sna_dri.c
+@@ -842,20 +842,31 @@ can_blit(struct sna * sna,
+ DRI2BufferPtr back)
+ {
+ RegionPtr clip;
++ int w, h;
+ uint32_t s;
+
+ if (draw->type == DRAWABLE_PIXMAP)
+ return true;
+
+ clip = &((WindowPtr)draw)->clipList;
++ w = clip->extents.x2 - draw->x;
++ h = clip->extents.y2 - draw->y;
++ if ((w|h) < 0)
++ return false;
+
+ s = get_private(front)->size;
+- if ((s>>16) < clip->extents.y2 || (s&0xffff) < clip->extents.x2)
++ if ((s>>16) < h || (s&0xffff) < w) {
++ DBG(("%s: reject front size (%dx%d) < (%dx%d)\n", __func__,
++ s&0xffff, s>>16, w, h));
+ return false;
++ }
+
+ s = get_private(back)->size;
+- if ((s>>16) < clip->extents.y2 || (s&0xffff) < clip->extents.x2)
++ if ((s>>16) < h || (s&0xffff) < w) {
++ DBG(("%s:reject back size (%dx%d) < (%dx%d)\n", __func__,
++ s&0xffff, s>>16, w, h));
+ return false;
++ }
+
+ return true;
+ }
Reply to: