]> git.pld-linux.org Git - packages/xorg-xserver-server.git/commitdiff
- rel 2; add new dri loader needed for mesa 10 auto/th/xorg-xserver-server-1.14.4-2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 1 Dec 2013 18:49:12 +0000 (19:49 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 1 Dec 2013 18:49:12 +0000 (19:49 +0100)
xorg-xserver-server-newloader.patch [new file with mode: 0644]
xorg-xserver-server.spec

diff --git a/xorg-xserver-server-newloader.patch b/xorg-xserver-server-newloader.patch
new file mode 100644 (file)
index 0000000..0a59744
--- /dev/null
@@ -0,0 +1,67 @@
+commit 339af2ae943d943f8ce986fc7bdcb8aa52b44922
+Author: Eric Anholt <eric@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@anholt.net>
+    Reviewed-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Keith Packard <keithp@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());
index 40601e766ef18c4981b08c4172fb302360c802ce..70efd807199bf273df1f27fced4398b76593acd4 100644 (file)
@@ -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
This page took 0.163091 seconds and 4 git commands to generate.