Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:12.2 
checked in at 2012-07-23 10:47:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:12.2/.xorg-x11-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:12.2/xorg-x11-server/xorg-x11-server.changes     
2012-07-10 14:18:30.000000000 +0200
+++ /work/SRC/openSUSE:12.2/.xorg-x11-server.new/xorg-x11-server.changes        
2012-07-23 10:47:03.000000000 +0200
@@ -1,0 +2,23 @@
+Sun Jul 22 10:35:59 UTC 2012 - [email protected]
+
+- u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch
+  * Do not use intel driver on Poulsbo, Oaktrail, Medfield, CDV.
+    IDs stolen from Kernel psb driver. (bnc#772279)
+  * obsoletes xorg-detect-psb.patch
+
+-------------------------------------------------------------------
+Tue Jul 17 01:42:30 UTC 2012 - [email protected]
+
+- renamed patches of previous change according to our policy
+  u_* --> U_* (since these were rebased on upstream patches) 
+
+-------------------------------------------------------------------
+Fri Jul 13 00:19:59 UTC 2012 - [email protected]
+
+- Add patches u_dri2_add_DRI2CreateDrawable2.patch and 
+  u_0012-glx_Free_reference_to_destroyed_GLX_drawable.patch to fix
+  seemingly random crashes of the X stack [bnc#769553]; patches
+  came from upstream git commits, and were rebased to apply to
+  present version cleanly.
+
+-------------------------------------------------------------------

Old:
----
  xorg-detect-psb.patch

New:
----
  U_dri2_add_DRI2CreateDrawable2.patch
  U_glx_Free_reference_to_destroyed_GLX_drawable.patch
  u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.YuXg5t/_old  2012-07-23 10:47:03.000000000 +0200
+++ /var/tmp/diff_new_pack.YuXg5t/_new  2012-07-23 10:47:03.000000000 +0200
@@ -165,7 +165,6 @@
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
 Patch163:       xserver-bg-none-root.patch
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
-Patch164:       xorg-detect-psb.patch
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
 Patch200:       bug534768-prefer_local_symbols.patch
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
@@ -184,6 +183,9 @@
 Patch220:       Use-external-tool-for-creating-backtraces-on-crashes.patch
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
 Patch222:       sync-fix.patch
+Patch223:       U_glx_Free_reference_to_destroyed_GLX_drawable.patch
+Patch224:       U_dri2_add_DRI2CreateDrawable2.patch
+Patch225:       u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch
 # Patches to implement GLX_ARB_create_context extensions required for OpenGL 
3.0 support
 # http://lists.x.org/archives/xorg-devel/2012-April/030452.html
 # git://people.freedesktop.org/~idr/xserver.git
@@ -307,7 +309,6 @@
 #%patch162 -p1
 ### disabled for now
 #%patch163 -p1
-%patch164 -p1
 %patch200 -p1
 %patch202 -p1
 %patch203 -p1
@@ -320,6 +321,9 @@
 ### Disable backtrace generation patch for now
 #%patch220 -p1
 %patch222 -p1
+%patch223 -p1
+%patch224 -p1
+%patch225 -p1
 %patch300 -p1
 %patch301 -p1
 %patch302 -p1

++++++ U_dri2_add_DRI2CreateDrawable2.patch ++++++
>From 8a87acc9e57be740e3bd252567622246051a0723 Mon Sep 17 00:00:00 2001
From: Michel Dänzer <[email protected]>
Date: Thu, 12 Jul 2012 11:16:36 +0000
Subject: dri2: Add DRI2CreateDrawable2.

Same as DRI2CreateDrawable, except it can return the DRI2 specific XID of the
DRI2 drawable reference to the base drawable.

Signed-off-by: Michel Dänzer <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
---
Index: xorg-server-1.12.3/hw/xfree86/dri2/dri2.c
===================================================================
--- xorg-server-1.12.3.orig/hw/xfree86/dri2/dri2.c
+++ xorg-server-1.12.3/hw/xfree86/dri2/dri2.c
@@ -280,8 +280,9 @@ DRI2AddDrawableRef(DRI2DrawablePtr pPriv
 }
 
 int
-DRI2CreateDrawable(ClientPtr client, DrawablePtr pDraw, XID id,
-                   DRI2InvalidateProcPtr invalidate, void *priv)
+DRI2CreateDrawable2(ClientPtr client, DrawablePtr pDraw, XID id,
+                    DRI2InvalidateProcPtr invalidate, void *priv,
+                    XID *dri2_id_out)
 {
     DRI2DrawablePtr pPriv;
     XID dri2_id;
@@ -298,9 +299,19 @@ DRI2CreateDrawable(ClientPtr client, Dra
     if (rc != Success)
         return rc;
 
+    if (dri2_id_out)
+        *dri2_id_out = dri2_id;
+
     return Success;
 }
 
+int
+DRI2CreateDrawable(ClientPtr client, DrawablePtr pDraw, XID id,
+                   DRI2InvalidateProcPtr invalidate, void *priv)
+{
+    return DRI2CreateDrawable2(client, pDraw, id, invalidate, priv, NULL);
+}
+
 static int
 DRI2DrawableGone(pointer p, XID id)
 {
Index: xorg-server-1.12.3/hw/xfree86/dri2/dri2.h
===================================================================
--- xorg-server-1.12.3.orig/hw/xfree86/dri2/dri2.h
+++ xorg-server-1.12.3/hw/xfree86/dri2/dri2.h
@@ -237,6 +237,13 @@ extern _X_EXPORT int DRI2CreateDrawable(
 
 extern _X_EXPORT void DRI2DestroyDrawable(DrawablePtr pDraw);
 
+extern _X_EXPORT int DRI2CreateDrawable2(ClientPtr client,
+                                         DrawablePtr pDraw,
+                                         XID id,
+                                         DRI2InvalidateProcPtr invalidate,
+                                         void *priv,
+                                         XID *dri2_id_out);
+
 extern _X_EXPORT DRI2BufferPtr *DRI2GetBuffers(DrawablePtr pDraw,
                                                int *width,
                                                int *height,
++++++ U_glx_Free_reference_to_destroyed_GLX_drawable.patch ++++++
>From a2d0829531249e24dbca25fc20ed30a2bb2d8ed8 Mon Sep 17 00:00:00 2001
From: Michel Dänzer <[email protected]>
Date: Thu, 12 Jul 2012 11:16:37 +0000
Subject: glx: Free DRI2 drawable reference to destroyed GLX drawable.

Otherwise the reference can lead to use after free in
__glXDRIinvalidateBuffers().

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50019

Signed-off-by: Michel Dänzer <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
---
Index: xorg-server-1.12.3/glx/glxdri2.c
===================================================================
--- xorg-server-1.12.3.orig/glx/glxdri2.c
+++ xorg-server-1.12.3/glx/glxdri2.c
@@ -96,6 +96,7 @@ struct __GLXDRIdrawable {
     int height;
     __DRIbuffer buffers[MAX_DRAWABLE_BUFFERS];
     int count;
+    XID dri2_id;
 };
 
 static void
@@ -104,6 +105,8 @@ __glXDRIdrawableDestroy(__GLXdrawable *
     __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
     const __DRIcoreExtension *core = private->screen->core;
 
+    FreeResource(private->dri2_id, FALSE);
+
     (*core->destroyDrawable) (private->driDrawable);
 
     __glXDrawableRelease(drawable);
@@ -597,8 +600,9 @@ __glXDRIscreenCreateDrawable(ClientPtr c
     private->base.waitGL = __glXDRIdrawableWaitGL;
     private->base.waitX = __glXDRIdrawableWaitX;
 
-    if (DRI2CreateDrawable(client, pDraw, drawId,
-                           __glXDRIinvalidateBuffers, private)) {
+    if (DRI2CreateDrawable2(client, pDraw, drawId,
+                            __glXDRIinvalidateBuffers, private,
+                            &private->dri2_id)) {
         free(private);
         return NULL;
     }
++++++ u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch ++++++
>From ec3ce5493ec00ca0a9304b705a58a40e364f88fb Mon Sep 17 00:00:00 2001
From: Stefan Dirsch <[email protected]>
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

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to