]> code.ossystems Code Review - openembedded-core.git/commitdiff
fixes noPanoramiXExtension missing symbol problem when server tries to load libdri
authorRobert Bragg <bob@openedhand.com>
Fri, 26 Sep 2008 13:41:17 +0000 (13:41 +0000)
committerRobert Bragg <bob@openedhand.com>
Fri, 26 Sep 2008 13:41:17 +0000 (13:41 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5296 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/xorg-xserver/xserver-xf86-dri-lite/libdri-xinerama-symbol.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb
meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb

diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/libdri-xinerama-symbol.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/libdri-xinerama-symbol.patch
new file mode 100644 (file)
index 0000000..db29da9
--- /dev/null
@@ -0,0 +1,50 @@
+Index: xorg-server-1.5.0/hw/xfree86/dri/dri.c
+===================================================================
+--- xorg-server-1.5.0.orig/hw/xfree86/dri/dri.c        2008-09-24 17:43:04.000000000 +0100
++++ xorg-server-1.5.0/hw/xfree86/dri/dri.c     2008-09-24 17:46:38.000000000 +0100
+@@ -73,10 +73,6 @@
+ #define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu)
+-#if !defined(PANORAMIX)
+-extern Bool noPanoramiXExtension;
+-#endif
+-
+ static int DRIEntPrivIndex = -1;
+ static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKey;
+ static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKey;
+@@ -307,7 +303,6 @@
+     drm_context_t *       reserved;
+     int                 reserved_count;
+     int                 i;
+-    Bool                xineramaInCore = FALSE;
+     DRIEntPrivPtr       pDRIEntPriv;
+     ScrnInfoPtr         pScrn = xf86Screens[pScreen->myNum];
+     DRIContextFlags   flags    = 0;
+@@ -320,20 +315,13 @@
+       return FALSE;
+     }
+-    /*
+-     * If Xinerama is on, don't allow DRI to initialise.  It won't be usable
+-     * anyway.
+-     */
+-    if (xf86LoaderCheckSymbol("noPanoramiXExtension"))
+-      xineramaInCore = TRUE;
+-
+-    if (xineramaInCore) {
+-      if (!noPanoramiXExtension) {
+-          DRIDrvMsg(pScreen->myNum, X_WARNING,
+-              "Direct rendering is not supported when Xinerama is enabled\n");
+-          return FALSE;
+-      }
++#if defined(PANORAMIX)
++    if (!noPanoramiXExtension) {
++        DRIDrvMsg(pScreen->myNum, X_WARNING,
++            "Direct rendering is not supported when Xinerama is enabled\n");
++        return FALSE;
+     }
++#endif
+     if (!DRIOpenDRMMaster(pScrn, pDRIInfo->SAREASize,
+                         pDRIInfo->busIdString,
index 7236a2653cbf8558739bc1334bd869ee44704f95..bc5aa493e51479585b1c34043189434371a6d69c 100644 (file)
@@ -3,5 +3,6 @@ require xserver-xf86-dri-lite.inc
 PE = "1"
 PR = "r3"
 
-SRC_URI += "file://drmfix.patch;patch=1"
+SRC_URI += "file://drmfix.patch;patch=1 \
+            file://libdri-xinerama-symbol.patch;patch=1 "
 
index 11940dd2c129cab83a10cd1b06d925ffaba4fce0..e45702664bebf5a529062b273079c7d12204e16f 100644 (file)
@@ -6,5 +6,6 @@ PV = "1.5.0+git${SRCREV}"
 
 DEFAULT_PREFERENCE = "-1"
 
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/xserver;protocol=git "
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/xserver;protocol=git \
+           file://libdri-xinerama-symbol.patch;patch=1"