[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: