[arch-commits] Commit in xorg-server/trunk (2 files)
Jan de Groot
jgc at archlinux.org
Thu May 6 07:41:34 UTC 2010
Date: Thursday, May 6, 2010 @ 03:41:34
Author: jgc
Revision: 79682
upgpkg: xorg-server 1.8.0.902-1
Update to next RC. Remove patch applied upstream. Remove default fontpath configuration, should work fine with defaults
Modified:
xorg-server/trunk/PKGBUILD
Deleted:
xorg-server/trunk/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch
------------------------------------------------------------------+
PKGBUILD | 14
revert-dri2-track-dri2-drawables-as-resources-not-privates.patch | 309 ----------
2 files changed, 4 insertions(+), 319 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2010-05-05 17:36:51 UTC (rev 79681)
+++ PKGBUILD 2010-05-06 07:41:34 UTC (rev 79682)
@@ -2,7 +2,7 @@
# Maintainer: Jan de Groot <jgc at archlinux.org>
pkgname=xorg-server
-pkgver=1.8.0.901
+pkgver=1.8.0.902
pkgrel=1
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
@@ -22,15 +22,13 @@
xvfb-run
xvfb-run.1
10-evdev.conf
- 10-quirks.conf
- revert-dri2-track-dri2-drawables-as-resources-not-privates.patch)
-md5sums=('5326bc5e84f2e3455321ab2baed26362'
+ 10-quirks.conf)
+md5sums=('1d77850a2258f9ee797bc00d12cc4b3e'
'1a336eb22e27cbf443ec5a2ecddfa93c'
'52fd3effd80d7bc6c1660d4ecf23d31c'
'376c70308715cd2643f7bff936d9934b'
'e930e153d69968a795fe4e2ef5d9a5dc'
- 'd4f7dfc6be4ef4e2c6dd7632a9d88abe'
- 'f5b98d5ca8f098e0c75a5d7a0e7ef2a6')
+ 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -38,9 +36,6 @@
# Get rid of the ugly pattern
patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
- # Fix a bug in 1.8.0.901 that has been fixed in git
- patch -p1 -i "${srcdir}/revert-dri2-track-dri2-drawables-as-resources-not-privates.patch" || return 1
-
sed -i -e 's/\$(prefix)\/etc/\/etc/g' config/Makefile.* || return 1
./configure --prefix=/usr \
@@ -64,7 +59,6 @@
--disable-static \
--sysconfdir=/etc/X11 \
--localstatedir=/var \
- --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
--with-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
--with-dri-driver-path=/usr/lib/xorg/modules/dri || return 1
Deleted: revert-dri2-track-dri2-drawables-as-resources-not-privates.patch
===================================================================
--- revert-dri2-track-dri2-drawables-as-resources-not-privates.patch 2010-05-05 17:36:51 UTC (rev 79681)
+++ revert-dri2-track-dri2-drawables-as-resources-not-privates.patch 2010-05-06 07:41:34 UTC (rev 79682)
@@ -1,309 +0,0 @@
-From c394b17266301d363a9e234f58f8015f74e01307 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer at who-t.net>
-Date: Tue, 27 Apr 2010 07:53:22 +0000
-Subject: Revert "DRI2: Track DRI2 drawables as resources, not privates"
-
-This change breaks GLX compositing managers.
-See Bug 27767 <https://bugs.freedesktop.org/show_bug.cgi?id=27767>
-
-This reverts commit 0c499f2ee4ae2b7dc424009abb336fc81a8a2853.
-
-Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
----
-diff --git a/glx/glxdri2.c b/glx/glxdri2.c
-index bde519a..edd29b0 100644
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -105,6 +105,11 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable)
-
- (*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)
-+ DRI2DestroyDrawable(drawable->pDraw);
-+
- __glXDrawableRelease(drawable);
-
- xfree(private);
-diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
-index 63bef28..48618e1 100644
---- a/hw/xfree86/dri2/dri2.c
-+++ b/hw/xfree86/dri2/dri2.c
-@@ -45,14 +45,15 @@
-
- #include "xf86.h"
-
--static int dri2ScreenPrivateKeyIndex;
-+static int dri2ScreenPrivateKeyIndex;
- static DevPrivateKey dri2ScreenPrivateKey = &dri2ScreenPrivateKeyIndex;
--static RESTYPE dri2DrawableRes;
--
--typedef struct _DRI2Screen *DRI2ScreenPtr;
-+static int dri2WindowPrivateKeyIndex;
-+static DevPrivateKey dri2WindowPrivateKey = &dri2WindowPrivateKeyIndex;
-+static int dri2PixmapPrivateKeyIndex;
-+static DevPrivateKey dri2PixmapPrivateKey = &dri2PixmapPrivateKeyIndex;
-
- typedef struct _DRI2Drawable {
-- DRI2ScreenPtr dri2_screen;
-+ unsigned int refCount;
- int width;
- int height;
- DRI2BufferPtr *buffers;
-@@ -66,8 +67,9 @@ typedef struct _DRI2Drawable {
- int swap_limit; /* for N-buffering */
- } DRI2DrawableRec, *DRI2DrawablePtr;
-
-+typedef struct _DRI2Screen *DRI2ScreenPtr;
-+
- typedef struct _DRI2Screen {
-- ScreenPtr screen;
- unsigned int numDrivers;
- const char **driverNames;
- const char *deviceName;
-@@ -93,33 +95,43 @@ DRI2GetScreen(ScreenPtr pScreen)
- static DRI2DrawablePtr
- DRI2GetDrawable(DrawablePtr pDraw)
- {
-- DRI2DrawablePtr pPriv;
-- int rc;
--
-- rc = dixLookupResourceByType((pointer *) &pPriv, pDraw->id,
-- dri2DrawableRes, NULL, DixReadAccess);
-- if (rc != Success)
-+ WindowPtr pWin;
-+ PixmapPtr pPixmap;
-+
-+ if (!pDraw)
- return NULL;
-
-- return pPriv;
-+ if (pDraw->type == DRAWABLE_WINDOW)
-+ {
-+ pWin = (WindowPtr) pDraw;
-+ return dixLookupPrivate(&pWin->devPrivates, dri2WindowPrivateKey);
-+ }
-+ else
-+ {
-+ pPixmap = (PixmapPtr) pDraw;
-+ return dixLookupPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey);
-+ }
- }
-
- int
- DRI2CreateDrawable(DrawablePtr pDraw)
- {
-+ WindowPtr pWin;
-+ PixmapPtr pPixmap;
- DRI2DrawablePtr pPriv;
-- int rc;
-
-- rc = dixLookupResourceByType((pointer *) &pPriv, pDraw->id,
-- dri2DrawableRes, NULL, DixReadAccess);
-- if (rc == Success || rc != BadValue)
-- return rc;
-+ pPriv = DRI2GetDrawable(pDraw);
-+ if (pPriv != NULL)
-+ {
-+ pPriv->refCount++;
-+ return Success;
-+ }
-
- pPriv = xalloc(sizeof *pPriv);
- if (pPriv == NULL)
- return BadAlloc;
-
-- pPriv->dri2_screen = DRI2GetScreen(pDraw->pScreen);
-+ pPriv->refCount = 1;
- pPriv->width = pDraw->width;
- pPriv->height = pDraw->height;
- pPriv->buffers = NULL;
-@@ -132,30 +144,43 @@ DRI2CreateDrawable(DrawablePtr pDraw)
- pPriv->last_swap_target = -1;
- pPriv->swap_limit = 1; /* default to double buffering */
-
-- if (!AddResource(pDraw->id, dri2DrawableRes, pPriv))
-- return BadAlloc;
-+ if (pDraw->type == DRAWABLE_WINDOW)
-+ {
-+ pWin = (WindowPtr) pDraw;
-+ dixSetPrivate(&pWin->devPrivates, dri2WindowPrivateKey, pPriv);
-+ }
-+ else
-+ {
-+ pPixmap = (PixmapPtr) pDraw;
-+ dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, pPriv);
-+ }
-
- return Success;
- }
-
--static int DRI2DrawableGone(pointer p, XID id)
-+static void
-+DRI2FreeDrawable(DrawablePtr pDraw)
- {
-- DRI2DrawablePtr pPriv = p;
-- DRI2ScreenPtr ds = pPriv->dri2_screen;
-- DrawablePtr root;
-- int i;
--
-- root = &WindowTable[ds->screen->myNum]->drawable;
-- if (pPriv->buffers != NULL) {
-- for (i = 0; i < pPriv->bufferCount; i++)
-- (*ds->DestroyBuffer)(root, pPriv->buffers[i]);
-+ DRI2DrawablePtr pPriv;
-+ WindowPtr pWin;
-+ PixmapPtr pPixmap;
-
-- xfree(pPriv->buffers);
-- }
-+ pPriv = DRI2GetDrawable(pDraw);
-+ if (pPriv == NULL)
-+ return;
-
- xfree(pPriv);
-
-- return Success;
-+ if (pDraw->type == DRAWABLE_WINDOW)
-+ {
-+ pWin = (WindowPtr) pDraw;
-+ dixSetPrivate(&pWin->devPrivates, dri2WindowPrivateKey, NULL);
-+ }
-+ else
-+ {
-+ pPixmap = (PixmapPtr) pDraw;
-+ dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, NULL);
-+ }
- }
-
- static int
-@@ -509,6 +534,13 @@ DRI2SwapComplete(ClientPtr client, DrawablePtr pDraw, int frame,
- return;
- }
-
-+ if (pPriv->refCount == 0) {
-+ xf86DrvMsg(pScreen->myNum, X_ERROR,
-+ "[DRI2] %s: bad drawable refcount\n", __func__);
-+ DRI2FreeDrawable(pDraw);
-+ return;
-+ }
-+
- ust = ((CARD64)tv_sec * 1000000) + tv_usec;
- if (swap_complete)
- swap_complete(client, swap_data, type, ust, frame, pPriv->swap_count);
-@@ -721,6 +753,36 @@ DRI2WaitSBC(ClientPtr client, DrawablePtr pDraw, CARD64 target_sbc,
- return Success;
- }
-
-+void
-+DRI2DestroyDrawable(DrawablePtr pDraw)
-+{
-+ DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen);
-+ DRI2DrawablePtr pPriv;
-+
-+ pPriv = DRI2GetDrawable(pDraw);
-+ if (pPriv == NULL)
-+ return;
-+
-+ pPriv->refCount--;
-+ if (pPriv->refCount > 0)
-+ return;
-+
-+ if (pPriv->buffers != NULL) {
-+ int i;
-+
-+ for (i = 0; i < pPriv->bufferCount; i++)
-+ (*ds->DestroyBuffer)(pDraw, pPriv->buffers[i]);
-+
-+ xfree(pPriv->buffers);
-+ }
-+
-+ /* If the window is destroyed while we have a swap pending, don't
-+ * actually free the priv yet. We'll need it in the DRI2SwapComplete()
-+ * callback and we'll free it there once we're done. */
-+ if (!pPriv->swapsPending)
-+ DRI2FreeDrawable(pDraw);
-+}
-+
- Bool
- DRI2Connect(ScreenPtr pScreen, unsigned int driverType, int *fd,
- const char **driverName, const char **deviceName)
-@@ -772,7 +834,6 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
- if (!ds)
- return FALSE;
-
-- ds->screen = pScreen;
- ds->fd = info->fd;
- ds->deviceName = info->deviceName;
-
-@@ -836,8 +897,6 @@ DRI2Setup(pointer module, pointer opts, int *errmaj, int *errmin)
- {
- static Bool setupDone = FALSE;
-
-- dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone, "DRI2Drawable");
--
- if (!setupDone)
- {
- setupDone = TRUE;
-diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
-index 1ac4a5f..bd92fd3 100644
---- a/hw/xfree86/dri2/dri2ext.c
-+++ b/hw/xfree86/dri2/dri2ext.c
-@@ -51,6 +51,7 @@
- #include "xf86Module.h"
-
- static ExtensionEntry *dri2Extension;
-+static RESTYPE dri2DrawableRes;
-
- static Bool
- validDrawable(ClientPtr client, XID drawable, Mask access_mode,
-@@ -171,6 +172,11 @@ ProcDRI2CreateDrawable(ClientPtr client)
- if (status != Success)
- return status;
-
-+ if (!AddResource(stuff->drawable, dri2DrawableRes, pDrawable)) {
-+ DRI2DestroyDrawable(pDrawable);
-+ return BadAlloc;
-+ }
-+
- return client->noClientException;
- }
-
-@@ -186,6 +192,8 @@ ProcDRI2DestroyDrawable(ClientPtr client)
- &pDrawable, &status))
- return status;
-
-+ FreeResourceByType(stuff->drawable, dri2DrawableRes, FALSE);
-+
- return client->noClientException;
- }
-
-@@ -612,11 +620,25 @@ SProcDRI2Dispatch (ClientPtr client)
- }
- }
-
-+static int DRI2DrawableGone(pointer p, XID id)
-+{
-+ DrawablePtr pDrawable = p;
-+
-+ DRI2DestroyDrawable(pDrawable);
-+
-+ return Success;
-+}
-+
- int DRI2EventBase;
-
- static void
- DRI2ExtensionInit(void)
- {
-+ dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone, "DRI2Drawable");
-+
-+ if (!dri2DrawableRes)
-+ return;
-+
- dri2Extension = AddExtension(DRI2_NAME,
- DRI2NumberEvents,
- DRI2NumberErrors,
---
-cgit v0.8.3-6-g21f6
More information about the arch-commits
mailing list