[packages/xorg-xserver-server] - rel 2; add new dri loader needed for mesa 10

arekm arekm at pld-linux.org
Sun Dec 1 19:49:16 CET 2013


commit f48ea26bbe5afb30a1325c43c7021b8bb36e02b9
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Dec 1 19:49:12 2013 +0100

    - rel 2; add new dri loader needed for mesa 10

 xorg-xserver-server-newloader.patch | 67 +++++++++++++++++++++++++++++++++++++
 xorg-xserver-server.spec            |  6 ++--
 2 files changed, 70 insertions(+), 3 deletions(-)
---
diff --git a/xorg-xserver-server.spec b/xorg-xserver-server.spec
index 40601e7..70efd80 100644
--- a/xorg-xserver-server.spec
+++ b/xorg-xserver-server.spec
@@ -25,7 +25,7 @@ Summary:	X.org server
 Summary(pl.UTF-8):	Serwer X.org
 Name:		xorg-xserver-server
 Version:	1.14.4
-Release:	1
+Release:	2
 License:	MIT
 Group:		X11/Servers
 Source0:	http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
@@ -38,7 +38,7 @@ Source12:	xvfb-run.sh
 
 Patch0:		%{name}-xwrapper.patch
 Patch1:		%{name}-pic-libxf86config.patch
-
+Patch2:		%{name}-newloader.patch
 Patch3:		%{name}-less-acpi-brokenness.patch
 Patch4:		%{name}-builtin-SHA1.patch
 Patch5:		%{name}-export-GetMaster.patch
@@ -364,7 +364,7 @@ Biblioteka rozszerzenia GLX dla serwera X.org.
 %setup -q -n xorg-server-%{version}
 %patch0 -p0
 %patch1 -p1
-
+%patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
diff --git a/xorg-xserver-server-newloader.patch b/xorg-xserver-server-newloader.patch
new file mode 100644
index 0000000..0a59744
--- /dev/null
+++ b/xorg-xserver-server-newloader.patch
@@ -0,0 +1,67 @@
+commit 339af2ae943d943f8ce986fc7bdcb8aa52b44922
+Author: Eric Anholt <eric at anholt.net>
+Date:   Tue Oct 22 14:22:04 2013 -0700
+
+    glx: Add support for the new DRI loader entrypoint.
+    
+    This is going to be exposed (and not the old entrypoint) for some DRI
+    drivers once the megadrivers series lands, and the plan is to
+    eventually transition all drivers to that.  Hopefully this is
+    unobtrusive enough to merge to stable X servers so that they can be
+    compatible with new Mesa versions.
+    
+    v2: typo fix in the comment
+    
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+    Reviewed-by: Adam Jackson <ajax at redhat.com>
+    Signed-off-by: Keith Packard <keithp at keithp.com>
+
+diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
+index c90f380..5686c5f 100644
+--- a/glx/glxdricommon.c
++++ b/glx/glxdricommon.c
+@@ -209,6 +209,14 @@ glxConvertConfigs(const __DRIcoreExtension * core,
+ 
+ static const char dri_driver_path[] = DRI_DRIVER_PATH;
+ 
++/* Temporary define to allow building without a dri_interface.h from
++ * updated Mesa.  Some day when we don't care about Mesa that old any
++ * more this can be removed.
++ */
++#ifndef __DRI_DRIVER_GET_EXTENSIONS
++#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions"
++#endif
++
+ void *
+ glxProbeDriver(const char *driverName,
+                void **coreExt, const char *coreName, int coreVersion,
+@@ -217,7 +225,8 @@ glxProbeDriver(const char *driverName,
+     int i;
+     void *driver;
+     char filename[PATH_MAX];
+-    const __DRIextension **extensions;
++    char *get_extensions_name;
++    const __DRIextension **extensions = NULL;
+ 
+     snprintf(filename, sizeof filename, "%s/%s_dri.so",
+              dri_driver_path, driverName);
+@@ -229,7 +238,18 @@ glxProbeDriver(const char *driverName,
+         goto cleanup_failure;
+     }
+ 
+-    extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
++    if (asprintf(&get_extensions_name, "%s_%s",
++                 __DRI_DRIVER_GET_EXTENSIONS, driverName) != -1) {
++        const __DRIextension **(*get_extensions)(void);
++
++        get_extensions = dlsym(driver, get_extensions_name);
++        if (get_extensions)
++            extensions = get_extensions();
++        free(get_extensions_name);
++    }
++
++    if (!extensions)
++        extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
+     if (extensions == NULL) {
+         LogMessage(X_ERROR, "AIGLX error: %s exports no extensions (%s)\n",
+                    driverName, dlerror());
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-xserver-server.git/commitdiff/f48ea26bbe5afb30a1325c43c7021b8bb36e02b9



More information about the pld-cvs-commit mailing list