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

xorg-server: Changes to 'ubuntu'



 debian/changelog                                                  |   28 ++-
 debian/patches/234-composite-borderclip.patch                     |   48 -----
 debian/patches/235-composite-tracking.diff                        |   78 --------
 debian/patches/235-composite-tracking.patch                       |   78 ++++++++
 debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch  |   88 ++++++++++
 debian/patches/237-dix-set-the-device-transformation-matrix.patch |   42 ++++
 debian/patches/series                                             |    5 
 7 files changed, 229 insertions(+), 138 deletions(-)

New commits:
commit 7544ad5f070f6a347e89ad071b963b8fbdeae1ab
Author: Bryce Harrington <bryce@canonical.com>
Date:   Fri Nov 16 14:01:28 2012 -0800

    Add 237-dix-set-the-device-transformation-matrix.patch

diff --git a/debian/changelog b/debian/changelog
index bf7d458..11367e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,16 +7,20 @@ xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
   * Add 235-composite-tracking.patch to fix exa corruption.
     (LP: #1010794)
 
+  [ Bryce Harrington ]
+  * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
+    driver on Poulsbo/Oaktrail/Medfield.  Thanks to Matthias Klumpp.
+    (LP: #1069031)
+  * Add 237-dix-set-the-device-transformation-matrix.patch: Fix pointer
+    jumping with absolute pointing device.  Initializes device
+    transformation matrix to an identity matrix.  Thanks to a7x.
+    (LP: #1041063)
+
   [ Tim Lunn ]
   * 500_pointer_barrier_thresholds.diff: Update to fix gaps above
     barriers at edge of screen
     (LP: #1073724)
 
-  [ Matthias Klumpp ]
-  * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
-    driver on Poulsbo/Oaktrail/Medfield
-    (LP: #1069031)
-
  -- Bryce Harrington <bryce@ubuntu.com>  Fri, 16 Nov 2012 11:37:26 -0800
 
 xorg-server (2:1.13.0-0ubuntu6) quantal; urgency=low
diff --git a/debian/patches/237-dix-set-the-device-transformation-matrix.patch b/debian/patches/237-dix-set-the-device-transformation-matrix.patch
new file mode 100644
index 0000000..92a9f57
--- /dev/null
+++ b/debian/patches/237-dix-set-the-device-transformation-matrix.patch
@@ -0,0 +1,42 @@
+From 3d1051aecbb1955084804133cacd12c7f696833a Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 20 Sep 2012 05:56:39 +1000
+Subject: [PATCH] dix: set the device transformation matrix
+
+The property handler is registered after setting the property, so
+dev->transform remains as all-zeros. That causes pixman_f_transform_invert()
+to fail (in transformAbsolute()) and invert remains as garbage. This
+may then cause a cursor jump to 0,0.
+
+Since the axes are not yet initialized here and we need to allow for drivers
+changing the matrix, we cannot use the property handler for matrix
+initialization, essentially duplicating the code.
+
+Triggered by the fix to (#49347) in 749a593e49adccdf1225be28a521412ec85333f4
+
+https://bugzilla.redhat.com/show_bug.cgi?id=852841
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+ dix/devices.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 9cf04ed..66d4406 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -306,6 +306,9 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart)
+     /* unity matrix */
+     memset(transform, 0, sizeof(transform));
+     transform[0] = transform[4] = transform[8] = 1.0f;
++    dev->transform.m[0][0] = 1.0;
++    dev->transform.m[1][1] = 1.0;
++    dev->transform.m[2][2] = 1.0;
+ 
+     XIChangeDeviceProperty(dev, XIGetKnownProperty(XI_PROP_TRANSFORM),
+                            XIGetKnownProperty(XATOM_FLOAT), 32,
+-- 
+1.7.11.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 523f8bf..b2d86a6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,3 +35,4 @@
 229_udev-fix.diff
 230-fix-compat-output-selection.patch
 231-scan-pci-after-probing-devices.patch
+237-dix-set-the-device-transformation-matrix.patch

commit fd444153524ced3bb41175c7c291d56eaad682e6
Author: Bryce Harrington <bryce@canonical.com>
Date:   Fri Nov 16 11:44:33 2012 -0800

    Drop patch 234 as per mlankhorst.  (Still awaiting response from upstream.)

diff --git a/debian/changelog b/debian/changelog
index f2f6444..bf7d458 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,11 +4,6 @@ xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
   * Add 233-xf86events-valgrind.patch to fix a xserver corruption
     when acpid is stopped before Xorg is.
     (LP: #1070481)
-  * Add 234-composite-borderclip.patch to fix another valgrind
-    that I found when investigating a bug.
-    (LP: #1065113)
-    - This might not be the cause, though. Patch is wrong, waiting
-      for upstream response for right fix..
   * Add 235-composite-tracking.patch to fix exa corruption.
     (LP: #1010794)
 
diff --git a/debian/patches/234-composite-borderclip.patch b/debian/patches/234-composite-borderclip.patch
deleted file mode 100644
index 5d9b6c4..0000000
--- a/debian/patches/234-composite-borderclip.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-compRedirectWindow does not initialize borderClip(X,Y ) members on allocation,
-which could theoretically cause a crash because borderClip contains a pointer.
-Solve this by copying the data over from pWin.
-
-Noticed this when working on
-https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1065113
-
-Specific error valgrind error I was receiving is:
-
-==25858== Conditional jump or move depends on uninitialised value(s)
-==25858==    at 0x1EBF32: compClipNotify (compwindow.c:304)
-==25858==    by 0x2A2C23: miComputeClips (mivaltree.c:489)
-==25858==    by 0x2A321C: miValidateTree (mivaltree.c:695)
-==25858==    by 0x1896EE: MapWindow (window.c:2594)
-==25858==    by 0x1EB15B: compCreateOverlayWindow (compoverlay.c:155)
-==25858==    by 0x1E9ABA: ProcCompositeGetOverlayWindow (compext.c:304)
-==25858==    by 0x15DA50: Dispatch (dispatch.c:428)
-==25858==    by 0x14C569: main (main.c:295)
-==25858==  Uninitialised value was created by a heap allocation
-==25858==    at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==25858==    by 0x1ED4A3: compRedirectWindow (compalloc.c:172)
-==25858==    by 0x1EC142: compCreateWindow (compwindow.c:558)
-==25858==    by 0x18C56C: CreateWindow (window.c:801)
-==25858==    by 0x1EB0FF: compCreateOverlayWindow (compoverlay.c:145)
-==25858==    by 0x1E9ABA: ProcCompositeGetOverlayWindow (compext.c:304)
-==25858==    by 0x15DA50: Dispatch (dispatch.c:428)
-==25858==    by 0x14C569: main (main.c:295)
-
-Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-
----
-I'm not 100% sure if this is the correct assignment, I'm just guessing from the functions.
-
-diff --git a/composite/compalloc.c b/composite/compalloc.c
-index cc69c68..b6c5785 100644
---- a/composite/compalloc.c
-+++ b/composite/compalloc.c
-@@ -195,6 +195,8 @@ compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update)
-         cw->damaged = FALSE;
-         cw->pOldPixmap = NullPixmap;
-         dixSetPrivate(&pWin->devPrivates, CompWindowPrivateKey, cw);
-+        cw->borderClipX = pWin->drawable.x;
-+        cw->borderClipY = pWin->drawable.y;
-     }
-     ccw->next = cw->clients;
-     cw->clients = ccw;
-
-
diff --git a/debian/patches/series b/debian/patches/series
index 3d7935e..523f8bf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -24,7 +24,6 @@
 227_null_ptr_midispcur.patch
 232-xf86compatoutput-valgrind.patch
 233-xf86events-valgrind.patch
-234-composite-borderclip.patch
 235-composite-tracking.patch
 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
 

commit 688eb713a9a2163cb2bb763107fd0684e92655e1
Author: Bryce Harrington <bryce@canonical.com>
Date:   Fri Nov 16 11:42:50 2012 -0800

    Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
    
    Also, rename 235 from .diff to .patch for consistency

diff --git a/debian/changelog b/debian/changelog
index e20b6f6..f2f6444 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,19 +1,28 @@
-xorg-server (2:1.13.0-0ubuntu7) UNRELEASED; urgency=low
+xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
 
   [ Maarten Lankhorst ]
-  * add 233-xf86events-valgrind.patch to fix a xserver corruption
-    when acpid is stopped before Xorg is. (LP: #1070481)
-  * add 234-composite-borderclip.patch to fix another valgrind
-    that I found when investigating a bug. (LP: #1065113)
-    - This might not the cause, though. Patch is wrong, waiting
+  * Add 233-xf86events-valgrind.patch to fix a xserver corruption
+    when acpid is stopped before Xorg is.
+    (LP: #1070481)
+  * Add 234-composite-borderclip.patch to fix another valgrind
+    that I found when investigating a bug.
+    (LP: #1065113)
+    - This might not be the cause, though. Patch is wrong, waiting
       for upstream response for right fix..
-  * add 235-composite-tracking.diff to fix exa corruption. (LP: #1010794)
+  * Add 235-composite-tracking.patch to fix exa corruption.
+    (LP: #1010794)
 
   [ Tim Lunn ]
   * 500_pointer_barrier_thresholds.diff: Update to fix gaps above
-    barriers at edge of screen (LP: #1073724)
+    barriers at edge of screen
+    (LP: #1073724)
 
- -- Timo Aaltonen <tjaalton@ubuntu.com>  Thu, 25 Oct 2012 15:43:26 +0300
+  [ Matthias Klumpp ]
+  * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
+    driver on Poulsbo/Oaktrail/Medfield
+    (LP: #1069031)
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Fri, 16 Nov 2012 11:37:26 -0800
 
 xorg-server (2:1.13.0-0ubuntu6) quantal; urgency=low
 
diff --git a/debian/patches/235-composite-tracking.diff b/debian/patches/235-composite-tracking.diff
deleted file mode 100644
index 46e1294..0000000
--- a/debian/patches/235-composite-tracking.diff
+++ /dev/null
@@ -1,78 +0,0 @@
-From: Michel Dänzer <michel.daenzer@amd.com>
-
-In particular, make sure pExaScr->src/maskPix are cleared when the
-corresponding pictures aren't associated with drawables, i.e. solid or gradient
-pictures. Without this, we would in some cases associate the source/mask region
-with unrelated pixmaps from previous Composite fallbacks, resulting in random
-corruption.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
-
-Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
----
- exa/exa_priv.h    |    1 +
- exa/exa_unaccel.c |   16 ++++++++++++----
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/exa/exa_priv.h b/exa/exa_priv.h
-index cd6a40b..819feb0 100644
---- a/exa/exa_priv.h
-+++ b/exa/exa_priv.h
-@@ -201,6 +201,7 @@ typedef struct {
-     RegionRec srcReg;
-     RegionRec maskReg;
-     PixmapPtr srcPix;
-+    PixmapPtr maskPix;
- 
- } ExaScreenPrivRec, *ExaScreenPrivPtr;
- 
-diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
-index 72e59ca..ec49ef0 100644
---- a/exa/exa_unaccel.c
-+++ b/exa/exa_unaccel.c
-@@ -451,6 +451,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
-     RegionPtr dst;
-     int xoff, yoff;
- 
-+    if (pExaScr->srcPix == pPix)
-+        dst = &pExaScr->srcReg;
-+    else if (pExaScr->maskPix == pPix)
-+        dst = &pExaScr->maskReg;
-+    else
-+        return;
-+
-     exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
- 
-     box.x1 = x + xoff;
-@@ -458,8 +465,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
-     box.x2 = box.x1 + width;
-     box.y2 = box.y1 + height;
- 
--    dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
--
-     RegionInit(&reg, &box, 1);
-     RegionUnion(dst, dst, &reg);
-     RegionUninit(&reg);
-@@ -504,16 +509,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen,
-         if (pSrc != pDst)
-             RegionTranslate(pSrc->pCompositeClip,
-                             -pSrc->pDrawable->x, -pSrc->pDrawable->y);
--    }
-+    } else
-+        pExaScr->srcPix = NULL;
- 
-     if (pMask && pMask->pDrawable) {
-         pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
-         RegionNull(&pExaScr->maskReg);
-         maskReg = &pExaScr->maskReg;
-+        pExaScr->maskPix = pMaskPix;
-         if (pMask != pDst && pMask != pSrc)
-             RegionTranslate(pMask->pCompositeClip,
-                             -pMask->pDrawable->x, -pMask->pDrawable->y);
--    }
-+    } else
-+        pExaScr->maskPix = NULL;
- 
-     RegionTranslate(pDst->pCompositeClip,
-                     -pDst->pDrawable->x, -pDst->pDrawable->y);
--- 1.7.10.4
diff --git a/debian/patches/235-composite-tracking.patch b/debian/patches/235-composite-tracking.patch
new file mode 100644
index 0000000..46e1294
--- /dev/null
+++ b/debian/patches/235-composite-tracking.patch
@@ -0,0 +1,78 @@
+From: Michel Dänzer <michel.daenzer@amd.com>
+
+In particular, make sure pExaScr->src/maskPix are cleared when the
+corresponding pictures aren't associated with drawables, i.e. solid or gradient
+pictures. Without this, we would in some cases associate the source/mask region
+with unrelated pixmaps from previous Composite fallbacks, resulting in random
+corruption.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
+
+Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+---
+ exa/exa_priv.h    |    1 +
+ exa/exa_unaccel.c |   16 ++++++++++++----
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/exa/exa_priv.h b/exa/exa_priv.h
+index cd6a40b..819feb0 100644
+--- a/exa/exa_priv.h
++++ b/exa/exa_priv.h
+@@ -201,6 +201,7 @@ typedef struct {
+     RegionRec srcReg;
+     RegionRec maskReg;
+     PixmapPtr srcPix;
++    PixmapPtr maskPix;
+ 
+ } ExaScreenPrivRec, *ExaScreenPrivPtr;
+ 
+diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
+index 72e59ca..ec49ef0 100644
+--- a/exa/exa_unaccel.c
++++ b/exa/exa_unaccel.c
+@@ -451,6 +451,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
+     RegionPtr dst;
+     int xoff, yoff;
+ 
++    if (pExaScr->srcPix == pPix)
++        dst = &pExaScr->srcReg;
++    else if (pExaScr->maskPix == pPix)
++        dst = &pExaScr->maskReg;
++    else
++        return;
++
+     exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
+ 
+     box.x1 = x + xoff;
+@@ -458,8 +465,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
+     box.x2 = box.x1 + width;
+     box.y2 = box.y1 + height;
+ 
+-    dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
+-
+     RegionInit(&reg, &box, 1);
+     RegionUnion(dst, dst, &reg);
+     RegionUninit(&reg);
+@@ -504,16 +509,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen,
+         if (pSrc != pDst)
+             RegionTranslate(pSrc->pCompositeClip,
+                             -pSrc->pDrawable->x, -pSrc->pDrawable->y);
+-    }
++    } else
++        pExaScr->srcPix = NULL;
+ 
+     if (pMask && pMask->pDrawable) {
+         pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
+         RegionNull(&pExaScr->maskReg);
+         maskReg = &pExaScr->maskReg;
++        pExaScr->maskPix = pMaskPix;
+         if (pMask != pDst && pMask != pSrc)
+             RegionTranslate(pMask->pCompositeClip,
+                             -pMask->pDrawable->x, -pMask->pDrawable->y);
+-    }
++    } else
++        pExaScr->maskPix = NULL;
+ 
+     RegionTranslate(pDst->pCompositeClip,
+                     -pDst->pDrawable->x, -pDst->pDrawable->y);
+-- 1.7.10.4
diff --git a/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch b/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
new file mode 100644
index 0000000..dbf210d
--- /dev/null
+++ b/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
@@ -0,0 +1,88 @@
+From ec3ce5493ec00ca0a9304b705a58a40e364f88fb Mon Sep 17 00:00:00 2001
+From: Stefan Dirsch <sndirsch@suse.de>
+Date: Sun, 22 Jul 2012 12:29:51 +0200
+Subject: [PATCH 3/3] Do not use intel driver on Poulsbo, Oaktrail, Medfield, CDV.
+
+IDs stolen from Kernel psb driver.
+---
+ hw/xfree86/common/xf86pciBus.c |   64 +++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 56 insertions(+), 8 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
+index a2c18eb..258988a 100644
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -1147,14 +1147,62 @@ xf86VideoPtrToDriverList(struct pci_device *dev,
+         driverList[0] = "i128";
+         break;
+     case 0x8086:
+-        if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
+-            driverList[0] = "i740";
+-        }
+-        else if (dev->device_id == 0x8108) {
+-            break;              /* "hooray" for poulsbo */
+-        }
+-        else {
+-            driverList[0] = "intel";
++	switch (dev->device_id)
++	{
++		/* Intel i740 */
++		case 0x00d1:
++		case 0x7800:
++			driverList[0] = "i740";
++			break;
++		/* GMA500/Poulsbo */
++		case 0x8108:
++		case 0x8109:
++			/* Try psb driver on Poulsbo - if available */
++			driverList[0] = "psb";
++			driverList[1] = "psb_drv";
++			break;
++		/* GMA600/Oaktrail */
++		case 0x4100:
++		case 0x4101:
++		case 0x4102:
++		case 0x4103:
++		case 0x4104:
++		case 0x4105:
++		case 0x4106:
++		case 0x4107:
++		/* Atom E620/Oaktrail */
++		case 0x4108:
++		/* Medfield */
++		case 0x0130:
++		case 0x0131:
++		case 0x0132:
++		case 0x0133:
++		case 0x0134:
++		case 0x0135:
++		case 0x0136:
++		case 0x0137:
++		/* GMA 3600/CDV */
++		case 0x0be0:
++		case 0x0be1:
++		case 0x0be2:
++		case 0x0be3:
++		case 0x0be4:
++		case 0x0be5:
++		case 0x0be6:
++		case 0x0be7:
++		case 0x0be8:
++		case 0x0be9:
++		case 0x0bea:
++		case 0x0beb:
++		case 0x0bec:
++		case 0x0bed:
++		case 0x0bee:
++		case 0x0bef:
++			/* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */
++			break;
++		default:
++			driverList[0] = "intel";
++			break;
+         }
+         break;
+     case 0x102b:
+-- 
+1.7.3.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 9753288..3d7935e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -25,7 +25,8 @@
 232-xf86compatoutput-valgrind.patch
 233-xf86events-valgrind.patch
 234-composite-borderclip.patch
-235-composite-tracking.diff
+235-composite-tracking.patch
+236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
 
 ## waiting for review by upstream
 111_armel-drv-fallbacks.patch


Reply to: