summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/packages/xorg-xserver/xserver-xf86-dri-lite/libdri-xinerama-symbol.patch50
-rw-r--r--meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb3
-rw-r--r--meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb3
3 files changed, 54 insertions, 2 deletions
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
index 0000000000..db29da93ca
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/libdri-xinerama-symbol.patch
@@ -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,
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb
index 7236a2653c..bc5aa493e5 100644
--- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb
+++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb
@@ -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 "
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb
index 11940dd2c1..e45702664b 100644
--- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb
+++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb
@@ -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"