xorg-server: Changes to 'ubuntu'
debian/patches/214_glx_dri_searchdirs.patch | 240 ----------------------------
1 file changed, 240 deletions(-)
New commits:
commit 8cfca1bdc534f49c06e838939f7980256761337c
Author: Bryce Harrington <bryce@canonical.com>
Date: Fri Jun 1 15:37:53 2012 -0700
Excise patch that was dropped in version 2:1.11.3-0ubuntu10
xorg-server (2:1.11.3-0ubuntu10) precise; urgency=low
* Drop 214_glx_dri_searchdirs.patch, drisearchdirs is no longer
exported in mesa's dri.pc because of multiarch and the only consumer
(dri-alternates) is no longer used.
-- Robert Hooker <sarvatt@ubuntu.com> Thu, 02 Feb 2012 12:08:55 -0500
diff --git a/debian/patches/214_glx_dri_searchdirs.patch b/debian/patches/214_glx_dri_searchdirs.patch
deleted file mode 100644
index 3baa38f..0000000
--- a/debian/patches/214_glx_dri_searchdirs.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-Index: xorg-server/glx/glxdricommon.h
-===================================================================
---- xorg-server.orig/glx/glxdricommon.h 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/glx/glxdricommon.h 2011-09-11 18:41:43.381346390 -0500
-@@ -39,7 +39,7 @@
- extern const __DRIsystemTimeExtension systemTimeExtension;
-
- void *
--glxProbeDriver(const char *name,
-+glxProbeDriver(const char *name, void **cookie,
- void **coreExt, const char *coreName, int coreVersion,
- void **renderExt, const char *renderName, int renderVersion);
-
-Index: xorg-server/glx/glxdriswrast.c
-===================================================================
---- xorg-server.orig/glx/glxdriswrast.c 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/glx/glxdriswrast.c 2011-09-11 18:41:43.381346390 -0500
-@@ -427,6 +427,7 @@
- const char *driverName = "swrast";
- __GLXDRIscreen *screen;
- const __DRIconfig **driConfigs;
-+ void *cookie = NULL;
-
- screen = calloc(1, sizeof *screen);
- if (screen == NULL)
-@@ -438,7 +439,7 @@
- screen->base.swapInterval = NULL;
- screen->base.pScreen = pScreen;
-
-- screen->driver = glxProbeDriver(driverName,
-+ screen->driver = glxProbeDriver(driverName, &cookie,
- (void **)&screen->core,
- __DRI_CORE, __DRI_CORE_VERSION,
- (void **)&screen->swrast,
-Index: xorg-server/configure.ac
-===================================================================
---- xorg-server.orig/configure.ac 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/configure.ac 2011-09-11 18:41:43.381346390 -0500
-@@ -1260,7 +1260,12 @@
- AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
- AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
- dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
--AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
-+drisearchdirs=`$PKG_CONFIG --variable=drisearchdirs dri`
-+if test -n "$drisearchdirs" ; then
-+ AC_DEFINE_DIR(DRI_DRIVER_PATH, drisearchdirs, [Default DRI search dirs])
-+else
-+ AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
-+fi
- AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
- AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
- AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
-Index: xorg-server/glx/glxdricommon.c
-===================================================================
---- xorg-server.orig/glx/glxdricommon.c 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/glx/glxdricommon.c 2011-09-11 18:46:45.296354364 -0500
-@@ -209,7 +209,7 @@
- static const char dri_driver_path[] = DRI_DRIVER_PATH;
-
- void *
--glxProbeDriver(const char *driverName,
-+glxProbeDriver(const char *driverName, void **cookie,
- void **coreExt, const char *coreName, int coreVersion,
- void **renderExt, const char *renderName, int renderVersion)
- {
-@@ -218,49 +218,60 @@
- char filename[PATH_MAX];
- const __DRIextension **extensions;
- int from = X_ERROR;
--
-- snprintf(filename, sizeof filename, "%s/%s_dri.so",
-- dri_driver_path, driverName);
--
-- driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-- if (driver == NULL) {
-- LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
-- filename, dlerror());
-- goto cleanup_failure;
-- }
--
-- extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
-- if (extensions == NULL) {
-- LogMessage(X_ERROR, "AIGLX error: %s exports no extensions (%s)\n",
-- driverName, dlerror());
-- goto cleanup_failure;
-- }
--
-- for (i = 0; extensions[i]; i++) {
-- if (strcmp(extensions[i]->name, coreName) == 0 &&
-- extensions[i]->version >= coreVersion) {
-- *coreExt = (void *)extensions[i];
-+ char *driDriverPath;
-+ const char *pathStart = *cookie ? (const char*)*cookie : dri_driver_path;
-+ const char *pathEnd = strchr(pathStart, ':');
-+
-+ for (; *pathStart; pathEnd = strchr(pathStart, ':')) {
-+ driDriverPath = strndup(pathStart,
-+ pathEnd ? pathEnd - pathStart : sizeof filename);
-+ snprintf(filename, sizeof filename, "%s/%s_dri.so",
-+ driDriverPath, driverName);
-+ free(driDriverPath);
-+ pathStart = pathEnd ? pathEnd + 1 : pathStart + strlen(pathStart);
-+ *cookie = (void *)pathStart;
-+
-+ LogMessage(X_INFO, "AIGLX: Trying DRI driver %s\n", filename);
-+
-+ driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-+ if (driver == NULL) {
-+ LogMessage(X_INFO, "AIGLX: dlopen of %s failed (%s)\n",
-+ filename, dlerror());
-+ continue;
- }
-
-- if (strcmp(extensions[i]->name, renderName) == 0 &&
-- extensions[i]->version >= renderVersion) {
-- *renderExt = (void *)extensions[i];
-+ extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
-+ if (extensions == NULL) {
-+ LogMessage(X_INFO, "AIGLX: %s exports no extensions (%s)\n",
-+ driverName, dlerror());
-+ dlclose(driver);
-+ continue;
-+ }
-+
-+ for (i = 0; extensions[i]; i++) {
-+ if (strcmp(extensions[i]->name, coreName) == 0 &&
-+ extensions[i]->version >= coreVersion) {
-+ *coreExt = (void *)extensions[i];
-+ }
-+
-+ if (strcmp(extensions[i]->name, renderName) == 0 &&
-+ extensions[i]->version >= renderVersion) {
-+ *renderExt = (void *)extensions[i];
-+ }
- }
-- }
-
-- if (*coreExt == NULL || *renderExt == NULL) {
-- if (!strcmp(driverName, "nouveau"))
-- from = X_INFO;
-- LogMessage(from,
-- "AIGLX error: %s does not export required DRI extension\n",
-- driverName);
-- goto cleanup_failure;
-+ if (*coreExt == NULL || *renderExt == NULL) {
-+ if (!strcmp(driverName, "nouveau"))
-+ from = X_INFO;
-+ LogMessage(from,
-+ "AIGLX: %s does not export required DRI extension\n",
-+ driverName);
-+ *coreExt = *renderExt = NULL;
-+ dlclose(driver);
-+ continue;
-+ }
-+ return driver;
- }
-- return driver;
--
--cleanup_failure:
-- if (driver)
-- dlclose(driver);
- *coreExt = *renderExt = NULL;
- return NULL;
- }
-Index: xorg-server/glx/glxdri.c
-===================================================================
---- xorg-server.orig/glx/glxdri.c 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/glx/glxdri.c 2011-09-11 18:41:43.381346390 -0500
-@@ -968,6 +968,7 @@
- size_t buffer_size;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- const __DRIconfig **driConfigs;
-+ void *cookie = NULL;
-
- if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
- !DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
-@@ -1042,7 +1043,7 @@
- goto handle_error;
- }
-
-- screen->driver = glxProbeDriver(driverName,
-+ screen->driver = glxProbeDriver(driverName, &cookie,
- (void **)&screen->core,
- __DRI_CORE, __DRI_CORE_VERSION,
- (void **)&screen->legacy,
-Index: xorg-server/glx/glxdri2.c
-===================================================================
---- xorg-server.orig/glx/glxdri2.c 2011-09-11 18:41:08.000000000 -0500
-+++ xorg-server/glx/glxdri2.c 2011-09-11 18:41:43.381346390 -0500
-@@ -689,6 +689,7 @@
- size_t buffer_size;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- const __DRIconfig **driConfigs;
-+ void *cookie = NULL;
-
- screen = calloc(1, sizeof *screen);
- if (screen == NULL)
-@@ -710,24 +711,24 @@
-
- __glXInitExtensionEnableBits(screen->glx_enable_bits);
-
-- screen->driver = glxProbeDriver(driverName, (void **)&screen->core, __DRI_CORE, 1,
-- (void **)&screen->dri2, __DRI_DRI2, 1);
-- if (screen->driver == NULL) {
-- goto handle_error;
-- }
--
-- screen->driScreen =
-- (*screen->dri2->createNewScreen)(pScreen->myNum,
-- screen->fd,
-- loader_extensions,
-- &driConfigs,
-- screen);
--
-- if (screen->driScreen == NULL) {
-- LogMessage(X_ERROR,
-- "AIGLX error: Calling driver entry point failed\n");
-- goto handle_error;
-- }
-+ do {
-+ screen->driver = glxProbeDriver(driverName, &cookie,
-+ (void **)&screen->core, __DRI_CORE, 1,
-+ (void **)&screen->dri2, __DRI_DRI2, 1);
-+ if (screen->driver == NULL)
-+ goto handle_error;
-+
-+ screen->driScreen =
-+ (*screen->dri2->createNewScreen)(pScreen->myNum,
-+ screen->fd,
-+ loader_extensions,
-+ &driConfigs,
-+ screen);
-+ if (screen->driScreen == NULL) {
-+ LogMessage(X_INFO,
-+ "AIGLX: Calling driver entry point failed\n");
-+ }
-+ } while (screen->driScreen == NULL);
-
- initializeExtensions(screen);
-
Reply to: