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 <[email protected]> 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 <[email protected]> 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 <[email protected]> +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 <[email protected]> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59806 + Signed-off-by: Chris Wilson <[email protected]> + +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; + } -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

