[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: