debian/changelog | 7 + debian/patches/series | 1 debian/patches/sna-make-sure-the-source-is-coherent.diff | 61 +++++++++++++++ 3 files changed, 69 insertions(+)
New commits: commit dafde3c2fa205a90ab0a1509dcc835a54f645b45 Author: Timo Aaltonen <tjaal...@ubuntu.com> Date: Tue Jun 11 20:26:15 2013 +0300 sna-make-sure-the-source-is-coherent.diff: Fix corruptions on firefox (LP: #1189850) diff --git a/debian/changelog b/debian/changelog index 47626dc..0397dcd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-video-intel (2:2.21.9-0ubuntu2) saucy; urgency=low + + * sna-make-sure-the-source-is-coherent.diff: Fix corruptions on firefox + (LP: #1189850) + + -- Timo Aaltonen <tjaal...@ubuntu.com> Tue, 11 Jun 2013 20:10:33 +0300 + xserver-xorg-video-intel (2:2.21.9-0ubuntu1) saucy; urgency=low * Merge from unreleased debian git, remaining changes: diff --git a/debian/patches/series b/debian/patches/series index 23ed8a4..1bb2a98 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0002-Update-manpage-for-new-accelmethod-option.patch +sna-make-sure-the-source-is-coherent.diff diff --git a/debian/patches/sna-make-sure-the-source-is-coherent.diff b/debian/patches/sna-make-sure-the-source-is-coherent.diff new file mode 100644 index 0000000..eebbab2 --- /dev/null +++ b/debian/patches/sna-make-sure-the-source-is-coherent.diff @@ -0,0 +1,61 @@ +commit 7d91051c50210560dbd93a9e36f30d9f74ce9133 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Tue Jun 11 14:23:57 2013 +0100 + + sna: Make sure the source is coherent on the CPU before uploading + + Makes the presumption that for the upload path the region is stored on + the CPU explicit. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=61628 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + +diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c +index 69a151c..1663fe3 100644 +--- a/src/sna/sna_accel.c ++++ b/src/sna/sna_accel.c +@@ -4861,6 +4861,22 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc, + } + } + ++ if (src_priv) { ++ bool ret; ++ ++ RegionTranslate(region, src_dx, src_dy); ++ ret = sna_drawable_move_region_to_cpu(&src_pixmap->drawable, ++ region, MOVE_READ); ++ RegionTranslate(region, -src_dx, -src_dy); ++ if (!ret) ++ goto fallback; ++ ++ assert(!src_priv->mapped); ++ if (src_pixmap->devPrivate.ptr == NULL) ++ /* uninitialised!*/ ++ return; ++ } ++ + if (alu != GXcopy) { + PixmapPtr tmp; + struct kgem_bo *src_bo; +@@ -4936,21 +4952,6 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc, + DBG(("%s: dst is on the GPU, src is on the CPU, uploading into dst\n", + __FUNCTION__)); + +- if (src_priv) { +- /* Fixup the shadow pointer as necessary */ +- if (src_priv->mapped) { +- assert(!src_priv->shm); +- src_pixmap->devPrivate.ptr = NULL; +- src_priv->mapped = false; +- } +- if (src_pixmap->devPrivate.ptr == NULL) { +- if (!src_priv->ptr) /* uninitialised!*/ +- return; +- src_pixmap->devPrivate.ptr = PTR(src_priv->ptr); +- src_pixmap->devKind = src_priv->stride; +- } +- } +- + if (!dst_priv->pinned && replaces) { + stride = src_pixmap->devKind; + bits = src_pixmap->devPrivate.ptr; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1umtoz-0003v8...@vasks.debian.org