xorg-server: Changes to 'ubuntu'
debian/changelog | 23 +
debian/patches/03_fedora_glx_versioning.diff | 233 --------------
debian/patches/04_fedora_glx14-swrast.diff | 26 -
debian/patches/114_dri2_make_sure_x_drawable_exists.patch | 47 --
debian/patches/series | 4
5 files changed, 18 insertions(+), 315 deletions(-)
New commits:
commit 70e3e5a6169f0ffe4ccdc06ea785cdad24ab6972
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Thu Apr 22 17:25:30 2010 -0700
Target to lucid since this will go out with the release
diff --git a/debian/changelog b/debian/changelog
index 2fec97a..e1bc276 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.7.6-2ubuntu7) UNRELEASED; urgency=low
+xorg-server (2:1.7.6-2ubuntu7) lucid; urgency=low
* Drop 117_fix_crash_with_createglyphset.patch
- Dupe of patch 110
@@ -15,7 +15,7 @@ xorg-server (2:1.7.6-2ubuntu7) UNRELEASED; urgency=low
Clutter crash, but which introduced a memory leak.
(Fixes #565981)
- -- Bryce Harrington <bryce@ubuntu.com> Thu, 22 Apr 2010 16:59:00 -0700
+ -- Bryce Harrington <bryce@ubuntu.com> Thu, 22 Apr 2010 17:24:38 -0700
xorg-server (2:1.7.6-2ubuntu6) lucid; urgency=low
commit d39e7f8077869da396004d73586f26a5b4b4f3ef
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Thu Apr 22 17:24:18 2010 -0700
Changelog entry explaining dropping of several patches
diff --git a/debian/changelog b/debian/changelog
index 5d81c29..2fec97a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,21 @@
xorg-server (2:1.7.6-2ubuntu7) UNRELEASED; urgency=low
- * Drop 117_fix_crash_with_createglyphset.patch - dupe of patch 110
-
- -- Bryce Harrington <bryce@ubuntu.com> Fri, 16 Apr 2010 09:34:39 -0700
+ * Drop 117_fix_crash_with_createglyphset.patch
+ - Dupe of patch 110
+ * Drop 03_fedora_glx_versioning.diff, 04_fedora_glx14-swrast.diff
+ - These patches were brought in by Debian to provide glx 1.4 support
+ which Fedora backported from xserver 1.8, however testing in
+ Ubuntu showed they caused a crash when closing Clutter apps (#550218),
+ and graphics corruption when opening windows. Dropping these patches
+ returns us to GLX 1.2, which has been found to be stable; Debian has
+ also dropped these two patches.
+ (Fixes #565903).
+ * Drop 114_dri2_make_sure_x_drawable_exists.patch
+ - This was an early attempt by upstream which fixed the aforementioned
+ Clutter crash, but which introduced a memory leak.
+ (Fixes #565981)
+
+ -- Bryce Harrington <bryce@ubuntu.com> Thu, 22 Apr 2010 16:59:00 -0700
xorg-server (2:1.7.6-2ubuntu6) lucid; urgency=low
commit 8f73893da75abbc6017918cc69367144820507a4
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Thu Apr 22 17:23:46 2010 -0700
Drop 114; with glx 1.4 gone this is no longer relevant
diff --git a/debian/patches/114_dri2_make_sure_x_drawable_exists.patch b/debian/patches/114_dri2_make_sure_x_drawable_exists.patch
deleted file mode 100644
index 4fb4b9e..0000000
--- a/debian/patches/114_dri2_make_sure_x_drawable_exists.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/glx/glxcmds.c b/glx/glxcmds.c
-index 77afbf4..95a667a 100644
---- a/glx/glxcmds.c
-+++ b/glx/glxcmds.c
-@@ -1086,6 +1086,7 @@ __glXDrawableInit(__GLXdrawable *drawable,
- XID drawId, __GLXconfig *config)
- {
- drawable->pDraw = pDraw;
-+ drawable->xDrawId = pDraw->id;
- drawable->type = type;
- drawable->drawId = drawId;
- drawable->config = config;
-diff --git a/glx/glxdrawable.h b/glx/glxdrawable.h
-index 2a365c5..227bc95 100644
---- a/glx/glxdrawable.h
-+++ b/glx/glxdrawable.h
-@@ -52,6 +52,7 @@ struct __GLXdrawable {
- void (*waitGL)(__GLXdrawable *);
-
- DrawablePtr pDraw;
-+ XID xDrawId;
- XID drawId;
-
- /*
-diff --git a/glx/glxdri2.c b/glx/glxdri2.c
-index e791bf6..adfb18e 100644
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -102,12 +102,16 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable)
- {
- __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
- const __DRIcoreExtension *core = private->screen->core;
--
-+ DrawablePtr pDraw;
-+ int err;
-+
- (*core->destroyDrawable)(private->driDrawable);
-
- /* If the X window was destroyed, the dri DestroyWindow hook will
- * aready have taken care of this, so only call if pDraw isn't NULL. */
-- if (drawable->pDraw != NULL)
-+ err = dixLookupDrawable(&pDraw, drawable->xDrawId, serverClient, 0,
-+ DixWriteAccess);
-+ if (err == Success && pDraw)
- DRI2DestroyDrawable(drawable->pDraw);
-
- __glXDrawableRelease(drawable);
diff --git a/debian/patches/series b/debian/patches/series
index d5ceb48..2263d50 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,9 +2,6 @@
## Ubuntu patches start with 100.
001_fedora_extramodes.patch
02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
-# 03 and 04 are backports from git master
-03_fedora_glx_versioning.diff
-04_fedora_glx14-swrast.diff
05_only_call_gamma_set_if_nonnull.diff
06_dont_trap_access_to_timer_and_keyboard.diff
07-xfree86-fix-build-with-xv-disabled.diff
@@ -26,7 +23,6 @@
111_armel-drv-fallbacks.patch
112_xaa-fbcomposite-fix-negative-size.patch
113_quell_nouveau_aiglx.patch
-114_dri2_make_sure_x_drawable_exists.patch
115_xext_fix_cursor_ref_counting.patch
116_fix_typos_in_swap_functions.patch
118_xkb_fix_garbage_init.patch
commit 4ab913044a8cc326ee389f4b8fa6927f753656e1
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Thu Apr 22 17:23:16 2010 -0700
Drop glx 1.4 patches
diff --git a/debian/patches/03_fedora_glx_versioning.diff b/debian/patches/03_fedora_glx_versioning.diff
deleted file mode 100644
index c8a1c30..0000000
--- a/debian/patches/03_fedora_glx_versioning.diff
+++ /dev/null
@@ -1,233 +0,0 @@
-From 3ef4be8129f78afd5566a9e5d0fb901449dcb771 Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Tue, 29 Sep 2009 16:43:43 -0700
-Subject: [PATCH] GLX: Enable GLX 1.4 on DRI2
-
-this squashes 4 commits
-(cherry picked from commit ad5c0d9efa47476ed5cf75c82265c73919e468b4)
-(cherry picked from commit cb54cf1b3e8c4109541cfb698542c00f2473e731)
-(cherry picked from commit 4c6bfa2c09ae2b0cffdf9211a6dfbcaefe0366b5)
-(cherry picked from commit 9bf2ff4faf730913de3073f346646a8727be41d4)
----
- glx/glxcmds.c | 12 ++++++++----
- glx/glxdri2.c | 12 ++++++++++++
- glx/glxext.c | 8 +++++++-
- glx/glxscreens.c | 15 ++++++++++++---
- glx/glxscreens.h | 11 +++++++++++
- glx/glxserver.h | 3 +++
- glx/indirect_texture_compression.c | 4 ++--
- include/protocol-versions.h | 2 +-
- 8 files changed, 56 insertions(+), 11 deletions(-)
-
-diff --git a/glx/glxcmds.c b/glx/glxcmds.c
-index b1061a8..ba4c123 100644
---- a/glx/glxcmds.c
-+++ b/glx/glxcmds.c
-@@ -50,7 +50,6 @@
- #include "indirect_dispatch.h"
- #include "indirect_table.h"
- #include "indirect_util.h"
--#include "protocol-versions.h"
-
- static int
- validGlxScreen(ClientPtr client, int screen, __GLXscreen **pGlxScreen, int *err)
-@@ -739,8 +738,8 @@ int __glXDisp_QueryVersion(__GLXclientState *cl, GLbyte *pc)
- ** client if it wants to work with older clients; however, in this
- ** implementation the server just returns its version number.
- */
-- reply.majorVersion = SERVER_GLX_MAJOR_VERSION;
-- reply.minorVersion = SERVER_GLX_MINOR_VERSION;
-+ reply.majorVersion = glxMajorVersion;
-+ reply.minorVersion = glxMinorVersion;
- reply.length = 0;
- reply.type = X_Reply;
- reply.sequenceNumber = client->sequence;
-@@ -2360,6 +2359,7 @@ int __glXDisp_QueryServerString(__GLXclientState *cl, GLbyte *pc)
- char *buf;
- __GLXscreen *pGlxScreen;
- int err;
-+ char ver_str[16];
-
- if (!validGlxScreen(client, req->screen, &pGlxScreen, &err))
- return err;
-@@ -2369,7 +2369,11 @@ int __glXDisp_QueryServerString(__GLXclientState *cl, GLbyte *pc)
- ptr = pGlxScreen->GLXvendor;
- break;
- case GLX_VERSION:
-- ptr = pGlxScreen->GLXversion;
-+ /* Return to the server version rather than the screen version
-+ * to prevent confusion when they do not match.
-+ */
-+ snprintf(ver_str, 16, "%d.%d", glxMajorVersion, glxMinorVersion);
-+ ptr = ver_str;
- break;
- case GLX_EXTENSIONS:
- ptr = pGlxScreen->GLXextensions;
-diff --git a/glx/glxdri2.c b/glx/glxdri2.c
-index ed7fb4c..ed7dc80 100644
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -685,6 +685,18 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- screen->base.GLXextensions);
- }
-
-+ /* We're going to assume (perhaps incorrectly?) that all DRI2-enabled
-+ * drivers support the required extensions for GLX 1.4. The extensions
-+ * we're assuming are:
-+ *
-+ * - GLX_SGI_make_current_read (1.3)
-+ * - GLX_SGIX_fbconfig (1.3)
-+ * - GLX_SGIX_pbuffer (1.3)
-+ * - GLX_ARB_multisample (1.4)
-+ */
-+ screen->base.GLXmajor = 1;
-+ screen->base.GLXminor = 4;
-+
- screen->enterVT = pScrn->EnterVT;
- pScrn->EnterVT = glxDRIEnterVT;
- screen->leaveVT = pScrn->LeaveVT;
-diff --git a/glx/glxext.c b/glx/glxext.c
-index 19d70d4..9f9c0ed 100644
---- a/glx/glxext.c
-+++ b/glx/glxext.c
-@@ -360,12 +360,18 @@ void GlxExtensionInit(void)
- pScreen = screenInfo.screens[i];
-
- for (p = __glXProviderStack; p != NULL; p = p->next) {
-- if (p->screenProbe(pScreen) != NULL) {
-+ __GLXscreen *glxScreen;
-+
-+ glxScreen = p->screenProbe(pScreen);
-+ if (glxScreen != NULL) {
-+ if (glxScreen->GLXminor < glxMinorVersion)
-+ glxMinorVersion = glxScreen->GLXminor;
- LogMessage(X_INFO,
- "GLX: Initialized %s GL provider for screen %d\n",
- p->name, i);
- break;
- }
-+
- }
-
- if (!p)
-diff --git a/glx/glxscreens.c b/glx/glxscreens.c
-index 7d29d31..674e2c6 100644
---- a/glx/glxscreens.c
-+++ b/glx/glxscreens.c
-@@ -42,6 +42,7 @@
- #include "glxserver.h"
- #include "glxutil.h"
- #include "glxext.h"
-+#include "protocol-versions.h"
-
- static int glxScreenPrivateKeyIndex;
- static DevPrivateKey glxScreenPrivateKey = &glxScreenPrivateKeyIndex;
-@@ -162,7 +163,8 @@ static const char GLServerExtensions[] =
- ** supported across all screens in a multi-screen system.
- */
- static char GLXServerVendorName[] = "SGI";
--static char GLXServerVersion[] = "1.2";
-+unsigned glxMajorVersion = SERVER_GLX_MAJOR_VERSION;
-+unsigned glxMinorVersion = SERVER_GLX_MINOR_VERSION;
- static char GLXServerExtensions[] =
- "GLX_ARB_multisample "
- "GLX_EXT_visual_info "
-@@ -378,9 +380,17 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
- pGlxScreen->pScreen = pScreen;
- pGlxScreen->GLextensions = xstrdup(GLServerExtensions);
- pGlxScreen->GLXvendor = xstrdup(GLXServerVendorName);
-- pGlxScreen->GLXversion = xstrdup(GLXServerVersion);
- pGlxScreen->GLXextensions = xstrdup(GLXServerExtensions);
-
-+ /* All GLX providers must support all of the functionality required for at
-+ * least GLX 1.2. If the provider supports a higher version, the GLXminor
-+ * version can be changed in the provider's screen-probe routine. For
-+ * most providers, the screen-probe routine is the caller of this
-+ * function.
-+ */
-+ pGlxScreen->GLXmajor = 1;
-+ pGlxScreen->GLXminor = 2;
-+
- pGlxScreen->CloseScreen = pScreen->CloseScreen;
- pScreen->CloseScreen = glxCloseScreen;
- pGlxScreen->DestroyWindow = pScreen->DestroyWindow;
-@@ -454,7 +464,6 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
- void __glXScreenDestroy(__GLXscreen *screen)
- {
- xfree(screen->GLXvendor);
-- xfree(screen->GLXversion);
- xfree(screen->GLXextensions);
- xfree(screen->GLextensions);
- }
-diff --git a/glx/glxscreens.h b/glx/glxscreens.h
-index 3c1bdd4..bff4363 100644
---- a/glx/glxscreens.h
-+++ b/glx/glxscreens.h
-@@ -161,6 +161,17 @@ struct __GLXscreen {
- char *GLXversion;
- char *GLXextensions;
-
-+ /**
-+ * \name GLX version supported by this screen.
-+ *
-+ * Since the GLX version advertised by the server is for the whole server,
-+ * the GLX protocol code uses the minimum version supported on all screens.
-+ */
-+ /*@{*/
-+ unsigned GLXmajor;
-+ unsigned GLXminor;
-+ /*@}*/
-+
- Bool (*CloseScreen)(int index, ScreenPtr pScreen);
- Bool (*DestroyWindow)(WindowPtr pWindow);
- };
-diff --git a/glx/glxserver.h b/glx/glxserver.h
-index 4aa8c2e..80f1b28 100644
---- a/glx/glxserver.h
-+++ b/glx/glxserver.h
-@@ -248,4 +248,7 @@ extern int __glXImageSize(GLenum format, GLenum type,
- GLint imageHeight, GLint rowLength, GLint skipImages, GLint skipRows,
- GLint alignment);
-
-+extern unsigned glxMajorVersion;
-+extern unsigned glxMinorVersion;
-+
- #endif /* !__GLX_server_h__ */
-diff --git a/glx/indirect_texture_compression.c b/glx/indirect_texture_compression.c
-index 25c6eb3..5f44d7b 100644
---- a/glx/indirect_texture_compression.c
-+++ b/glx/indirect_texture_compression.c
-@@ -52,7 +52,7 @@ int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte *p
- const GLenum target = *(GLenum *)(pc + 0);
- const GLint level = *(GLint *)(pc + 4);
- GLint compsize = 0;
-- char *answer, answerBuffer[200];
-+ char *answer = NULL, answerBuffer[200];
-
- CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize));
-
-@@ -92,7 +92,7 @@ int __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyt
- const GLenum target = (GLenum) bswap_32( *(int *)(pc + 0) );
- const GLint level = (GLint ) bswap_32( *(int *)(pc + 4) );
- GLint compsize = 0;
-- char *answer, answerBuffer[200];
-+ char *answer = NULL, answerBuffer[200];
-
- CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize));
-
-diff --git a/include/protocol-versions.h b/include/protocol-versions.h
-index da9770c..d688c66 100644
---- a/include/protocol-versions.h
-+++ b/include/protocol-versions.h
-@@ -61,7 +61,7 @@
-
- /* GLX */
- #define SERVER_GLX_MAJOR_VERSION 1
--#define SERVER_GLX_MINOR_VERSION 2
-+#define SERVER_GLX_MINOR_VERSION 4
-
- /* Xinerama */
- #define SERVER_PANORAMIX_MAJOR_VERSION 1
---
-1.6.5.rc2
-
diff --git a/debian/patches/04_fedora_glx14-swrast.diff b/debian/patches/04_fedora_glx14-swrast.diff
deleted file mode 100644
index 2c51802..0000000
--- a/debian/patches/04_fedora_glx14-swrast.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-From 25a0107768c9f25e8edc5e423ca8b1d0813f2d04 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Tue, 24 Nov 2009 13:38:46 -0500
-Subject: [PATCH] Enable GLX 1.4 for swrast
-
----
- glx/glxdriswrast.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
-index 44f658f..20f9f90 100644
---- a/glx/glxdriswrast.c
-+++ b/glx/glxdriswrast.c
-@@ -510,6 +510,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-
- __glXScreenInit(&screen->base, pScreen);
-
-+ screen->base.GLXmajor = 1;
-+ screen->base.GLXminor = 4;
-+
- LogMessage(X_INFO,
- "AIGLX: Loaded and initialized %s\n", filename);
-
---
-1.6.5.2
-
Reply to: