From 47655a41c1b07b6196447f993fb168c666a37933 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: May 10 2011 03:09:30 +0000 Subject: Today's server from git xserver-1.10-fix-trapezoids.patch: drop, c6cb70be1ed7cf7 xserver-1.10-glx-pixmap-crash.patch: drop, 6a433b67ca15fd1 xserver-1.10-bg-none-revert.patch: drop, dc0cf7596782087 --- diff --git a/.gitignore b/.gitignore index cef6997..9f861ff 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ xorg-server-1.9.1.tar.bz2 /xorg-server-20101201.tar.xz /xorg-server-1.10.0.tar.bz2 /xorg-server-20110418.tar.xz +/xorg-server-20110510.tar.xz diff --git a/commitid b/commitid index 557c449..95bc95f 100644 --- a/commitid +++ b/commitid @@ -1 +1 @@ -b3d2164a0361f636bfe77b51456bee9213af4f13 +5cb31cd0cbf83fff5f17a475e7b0e45246b19bf3 diff --git a/sources b/sources index a871f7e..ec050ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1ae649350f2084fdd348589e68b44e55 xorg-server-20110418.tar.xz +057d7e203b21055711e545373d07c5d6 xorg-server-20110510.tar.xz diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index cbca6a8..dd7ad25 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -25,12 +25,12 @@ %define extension_minor 0 %define pkgname xorg-server -%define gitdate 20110418 +%define gitdate 20110510 Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.10.99.1 -Release: 4%{?gitdate:.%{gitdate}}%{dist} +Release: 5%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -83,10 +83,6 @@ Patch6053: xserver-1.8-disable-vboxvideo.patch # misc Patch7006: xserver-1.10-pointer-barriers.patch -Patch7007: xserver-1.10-fix-trapezoids.patch -# from ajax/xserver-next -Patch7008: xserver-1.10-glx-pixmap-crash.patch -Patch7009: xserver-1.10-bg-none-revert.patch %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri @@ -551,6 +547,12 @@ rm -rf $RPM_BUILD_ROOT %{xserver_source_dir} %changelog +* Mon May 09 2011 1.10.99.1-5.20110511 +- Today's server from git +- xserver-1.10-fix-trapezoids.patch: drop, c6cb70be1ed7cf7 +- xserver-1.10-glx-pixmap-crash.patch: drop, 6a433b67ca15fd1 +- xserver-1.10-bg-none-revert.patch: drop, dc0cf7596782087 + * Thu Apr 21 2011 Hans de Goede 1.10.99.1-4.20110418 - Drop xserver-1.9.0-qxl-fallback.patch, since the latest qxl driver supports both revision 1 and 2 qxl devices (#642153) diff --git a/xserver-1.10-bg-none-revert.patch b/xserver-1.10-bg-none-revert.patch deleted file mode 100644 index 52e6469..0000000 --- a/xserver-1.10-bg-none-revert.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2223b2b953fc6034d28d85dfe3f97652ca375beb Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 29 Mar 2011 10:09:46 -0400 -Subject: [PATCH 9/9] Revert "composite: Don't backfill non-bg-None windows" - -This reverts commit 6dd775f57d2f94f0ddaee324aeec33b9b66ed5bc. - -Bugzilla: https://bugs.freedesktop.org/34427 - -Acked-by: Alex Deucher -Signed-off-by: Adam Jackson ---- - composite/compalloc.c | 26 -------------------------- - 1 files changed, 0 insertions(+), 26 deletions(-) - -diff --git a/composite/compalloc.c b/composite/compalloc.c -index e4064f6..7164c0d 100644 ---- a/composite/compalloc.c -+++ b/composite/compalloc.c -@@ -508,17 +508,6 @@ compUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin) - return Success; - } - --static int --bgNoneVisitWindow(WindowPtr pWin, void *null) --{ -- if (pWin->backgroundState != BackgroundPixmap) -- return WT_WALKCHILDREN; -- if (pWin->background.pixmap != None) -- return WT_WALKCHILDREN; -- -- return WT_STOPWALKING; --} -- - static PixmapPtr - compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map) - { -@@ -539,21 +528,6 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map) - if (!map) - return pPixmap; - -- /* -- * If there's no bg=None in the tree, we're done. -- * -- * We could optimize this more by collection the regions of all the -- * bg=None subwindows and feeding that in as the clip for the -- * CopyArea below, but since window trees are shallow these days it -- * might not be worth the effort. -- */ -- if (TraverseTree(pWin, bgNoneVisitWindow, NULL) == WT_NOMATCH) -- return pPixmap; -- -- /* -- * Copy bits from the parent into the new pixmap so that it will -- * have "reasonable" contents in case for background None areas. -- */ - if (pParent->drawable.depth == pWin->drawable.depth) - { - GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen); --- -1.7.4.4 - diff --git a/xserver-1.10-fix-trapezoids.patch b/xserver-1.10-fix-trapezoids.patch deleted file mode 100644 index a2a301b..0000000 --- a/xserver-1.10-fix-trapezoids.patch +++ /dev/null @@ -1,177 +0,0 @@ -From c8ba57820c6349e48e7de7d6c038a215caedca1c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= -Date: Mon, 28 Mar 2011 13:30:52 -0400 -Subject: [PATCH] Fix trapezoid and triangle rendering to windows - -For fbAdd{Traps,Triangles}() and fbRasterizeTrapezoid() this is just a -matter of adding the image offsets to the trap offsets. - -For fbShapes, the story is more complicated: - -The recently added pixman API did not allow offsetting -trapezoids. Instead, it would use x_dst and y_dst in such a way that -the effect was to only offset the source image. - -In pixman 0.21.8, this API has changed such that all the traps are -conceptually rendered to an infinitely big image, and the source and -destination coordinates are then aligned with (0, 0) of that -image. This means offsetting dst_x and dst_y will now offset the -entire drawing, which is similar to how other composite functions -work. - -This patch then changes fbComposite{Triangles,Traps} such that the -source image is aligned with the shapes, and the destination -coordinates offset according to drawable->{x, y}. - -Signed-off-by: Soren Sandmann ---- - configure.ac | 2 +- - fb/fbtrap.c | 56 +++++++++++++++++++++++++++----------------------------- - 2 files changed, 28 insertions(+), 30 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9e04ff0..8714c93 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -795,7 +795,7 @@ LIBGLIB="glib-2.0 >= 2.16" - LIBUDEV="libudev >= 143" - LIBSELINUX="libselinux >= 2.0.86" - LIBDBUS="dbus-1 >= 1.0" --LIBPIXMAN="pixman-1 >= 0.21.6" -+LIBPIXMAN="pixman-1 >= 0.21.8" - - dnl Pixman is always required, but we separate it out so we can link - dnl specific modules against it -diff --git a/fb/fbtrap.c b/fb/fbtrap.c -index 2554fcc..dbd59ed 100644 ---- a/fb/fbtrap.c -+++ b/fb/fbtrap.c -@@ -37,13 +37,14 @@ fbAddTraps (PicturePtr pPicture, - int ntrap, - xTrap *traps) - { -- int image_xoff, image_yoff; -- pixman_image_t *image = image_from_pict (pPicture, FALSE, &image_xoff, &image_yoff); -+ pixman_image_t *image; -+ int dst_xoff, dst_yoff; - -- if (!image) -+ if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff))) - return; - -- pixman_add_traps (image, x_off, y_off, ntrap, (pixman_trap_t *)traps); -+ pixman_add_traps (image, x_off + dst_xoff, y_off + dst_yoff, -+ ntrap, (pixman_trap_t *)traps); - - free_pixman_pict (pPicture, image); - } -@@ -54,13 +55,15 @@ fbRasterizeTrapezoid (PicturePtr pPicture, - int x_off, - int y_off) - { -- int mask_xoff, mask_yoff; -- pixman_image_t *image = image_from_pict (pPicture, FALSE, &mask_xoff, &mask_yoff); -+ pixman_image_t *image; -+ int dst_xoff, dst_yoff; - -- if (!image) -+ if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff))) - return; - -- pixman_rasterize_trapezoid (image, (pixman_trapezoid_t *)trap, x_off, y_off); -+ pixman_rasterize_trapezoid (image, (pixman_trapezoid_t *)trap, -+ x_off + dst_xoff, -+ y_off + dst_yoff); - - free_pixman_pict (pPicture, image); - } -@@ -72,14 +75,15 @@ fbAddTriangles (PicturePtr pPicture, - int ntri, - xTriangle *tris) - { -- int image_xoff, image_yoff; -- pixman_image_t *image = -- image_from_pict (pPicture, FALSE, &image_xoff, &image_yoff); -+ pixman_image_t *image; -+ int dst_xoff, dst_yoff; - -- if (!image) -+ if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff))) - return; - -- pixman_add_triangles (image, x_off, y_off, ntri, (pixman_triangle_t *)tris); -+ pixman_add_triangles (image, -+ dst_xoff + x_off, dst_yoff + y_off, -+ ntri, (pixman_triangle_t *)tris); - - free_pixman_pict (pPicture, image); - } -@@ -100,8 +104,6 @@ fbShapes (CompositeShapesFunc composite, - PictFormatPtr maskFormat, - int16_t xSrc, - int16_t ySrc, -- int16_t xDst, -- int16_t yDst, - int nshapes, - int shape_size, - const uint8_t * shapes) -@@ -131,8 +133,8 @@ fbShapes (CompositeShapesFunc composite, - composite (op, src, dst, format, - xSrc + src_xoff, - ySrc + src_yoff, -- xDst + dst_xoff, -- yDst + dst_yoff, -+ dst_xoff, -+ dst_yoff, - 1, shapes + i * shape_size); - } - } -@@ -157,8 +159,8 @@ fbShapes (CompositeShapesFunc composite, - composite (op, src, dst, format, - xSrc + src_xoff, - ySrc + src_yoff, -- xDst + dst_xoff, -- yDst + dst_yoff, -+ dst_xoff, -+ dst_yoff, - nshapes, shapes); - } - } -@@ -177,14 +179,12 @@ fbTrapezoids (CARD8 op, - int ntrap, - xTrapezoid *traps) - { -- int xDst, yDst; -- -- xDst = traps[0].left.p1.x >> 16; -- yDst = traps[0].left.p1.y >> 16; -+ xSrc -= (traps[0].left.p1.x >> 16); -+ ySrc -= (traps[0].left.p1.y >> 16); - - fbShapes ((CompositeShapesFunc)pixman_composite_trapezoids, - op, pSrc, pDst, maskFormat, -- xSrc, ySrc, xDst, yDst, -+ xSrc, ySrc, - ntrap, sizeof (xTrapezoid), (const uint8_t *)traps); - } - -@@ -198,13 +198,11 @@ fbTriangles (CARD8 op, - int ntris, - xTriangle *tris) - { -- int xDst, yDst; -- -- xDst = tris[0].p1.x >> 16; -- yDst = tris[0].p1.y >> 16; -+ xSrc -= (tris[0].p1.x >> 16); -+ ySrc -= (tris[0].p1.y >> 16); - - fbShapes ((CompositeShapesFunc)pixman_composite_triangles, - op, pSrc, pDst, maskFormat, -- xSrc, ySrc, xDst, yDst, -+ xSrc, ySrc, - ntris, sizeof (xTriangle), (const uint8_t *)tris); - } --- -1.7.4 - diff --git a/xserver-1.10-glx-pixmap-crash.patch b/xserver-1.10-glx-pixmap-crash.patch deleted file mode 100644 index 832aa57..0000000 --- a/xserver-1.10-glx-pixmap-crash.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 070319e6e49f762ccaba06c7241c00e4afcb7c05 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 30 Mar 2011 16:03:53 -0400 -Subject: [PATCH 8/9] glx: Fix lifetime tracking for pixmaps -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GLX pixmaps take a reference on the underlying pixmap; X and GLX pixmap -IDs can be destroyed in either order with no error. Only windows need -to be tracked under both XIDs. - -Fixes piglit/glx-pixmap-life. - -Reviewed-by: Michel Dänzer -Signed-off-by: Adam Jackson ---- - glx/glxcmds.c | 11 +++++++---- - glx/glxext.c | 22 +++++++++++++--------- - 2 files changed, 20 insertions(+), 13 deletions(-) - -diff --git a/glx/glxcmds.c b/glx/glxcmds.c -index 66d4c7e..d5b764f 100644 ---- a/glx/glxcmds.c -+++ b/glx/glxcmds.c -@@ -1127,10 +1127,11 @@ DoCreateGLXDrawable(ClientPtr client, __GLXscreen *pGlxScreen, - return BadAlloc; - } - -- /* Add the glx drawable under the XID of the underlying X drawable -- * too. That way we'll get a callback in DrawableGone and can -- * clean up properly when the drawable is destroyed. */ -- if (drawableId != glxDrawableId && -+ /* -+ * Windows aren't refcounted, so track both the X and the GLX window -+ * so we get called regardless of destruction order. -+ */ -+ if (drawableId != glxDrawableId && type == GLX_DRAWABLE_WINDOW && - !AddResource(pDraw->id, __glXDrawableRes, pGlxDraw)) { - pGlxDraw->destroy (pGlxDraw); - return BadAlloc; -@@ -1161,6 +1162,8 @@ DoCreateGLXPixmap(ClientPtr client, __GLXscreen *pGlxScreen, __GLXconfig *config - err = DoCreateGLXDrawable(client, pGlxScreen, config, pDraw, drawableId, - glxDrawableId, GLX_DRAWABLE_PIXMAP); - -+ ((PixmapPtr)pDraw)->refcnt++; -+ - return err; - } - -diff --git a/glx/glxext.c b/glx/glxext.c -index 3f3dd79..9cfc096 100644 ---- a/glx/glxext.c -+++ b/glx/glxext.c -@@ -118,15 +118,15 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid) - { - __GLXcontext *c, *next; - -- /* If this drawable was created using glx 1.3 drawable -- * constructors, we added it as a glx drawable resource under both -- * its glx drawable ID and it X drawable ID. Remove the other -- * resource now so we don't a callback for freed memory. */ -- if (glxPriv->drawId != glxPriv->pDraw->id) { -- if (xid == glxPriv->drawId) -- FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes, TRUE); -- else -- FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE); -+ if (glxPriv->type == GLX_DRAWABLE_WINDOW) { -+ /* If this was created by glXCreateWindow, free the matching resource */ -+ if (glxPriv->drawId != glxPriv->pDraw->id) { -+ if (xid == glxPriv->drawId) -+ FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes, TRUE); -+ else -+ FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE); -+ } -+ /* otherwise this window was implicitly created by MakeCurrent */ - } - - for (c = glxAllContexts; c; c = next) { -@@ -143,6 +143,10 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid) - c->readPriv = NULL; - } - -+ /* drop our reference to any backing pixmap */ -+ if (glxPriv->type == GLX_DRAWABLE_PIXMAP) -+ glxPriv->pDraw->pScreen->DestroyPixmap((PixmapPtr)glxPriv->pDraw); -+ - glxPriv->destroy(glxPriv); - - return True; --- -1.7.4.4 - diff --git a/xserver-1.10-pointer-barriers.patch b/xserver-1.10-pointer-barriers.patch index f8424d1..c316377 100644 --- a/xserver-1.10-pointer-barriers.patch +++ b/xserver-1.10-pointer-barriers.patch @@ -1,11 +1,10 @@ -From fb72637557fa1d9135bb4028d8603c8f8b6dee58 Mon Sep 17 00:00:00 2001 +From ad2c48ab05d9415aa384eda6be52576525a3abcf Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 17 Mar 2011 13:56:17 -0400 -Subject: [PATCH 7/9] CRTC confine and pointer barriers +Subject: [PATCH] CRTC confine and pointer barriers --- include/protocol-versions.h | 2 +- - test/Makefile.am | 3 +- xfixes/cursor.c | 408 ++++++++++++++++++++++++++++++++++++++++++- xfixes/xfixes.c | 24 ++- xfixes/xfixes.h | 17 ++ @@ -25,27 +24,6 @@ index 8692ded..7b7a9f5 100644 #define SERVER_XFIXES_MINOR_VERSION 0 /* X Input */ -diff --git a/test/Makefile.am b/test/Makefile.am -index f3265b7..b60d319 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -2,7 +2,7 @@ if ENABLE_UNIT_TESTS - if HAVE_GLIB - if HAVE_LD_WRAP - SUBDIRS= . xi2 --noinst_PROGRAMS = xkb input xtest list -+noinst_PROGRAMS = xkb input xtest list fixes - check_LTLIBRARIES = libxservertest.la - - TESTS=$(noinst_PROGRAMS) -@@ -19,6 +19,7 @@ xkb_LDADD=$(TEST_LDADD) - input_LDADD=$(TEST_LDADD) - xtest_LDADD=$(TEST_LDADD) - list_LDADD=$(TEST_LDADD) -+fixes_LDADD=$(TEST_LDADD) - - libxservertest_la_LIBADD = \ - $(XSERVER_LIBS) \ diff --git a/xfixes/cursor.c b/xfixes/cursor.c index fb608f6..5c55c95 100644 --- a/xfixes/cursor.c