[arch-commits] CVS update of extra/x11/xorg-server (3 files)
Alexander Baldeck
alexander at archlinux.org
Wed Oct 10 19:21:04 UTC 2007
Date: Wednesday, October 10, 2007 @ 15:21:04
Author: alexander
Path: /home/cvs-extra/extra/x11/xorg-server
Added: xserver-1.3.0-newglx-offscreen-pixmaps.patch (1.1)
Modified: PKGBUILD (1.36 -> 1.37) xorg-server.install (1.1 -> 1.2)
* added revised version of older offscreen-pixmap patch
* fixed .install to correctly interpret pacman output
----------------------------------------------+
PKGBUILD | 14 ++---
xorg-server.install | 20 +-------
xserver-1.3.0-newglx-offscreen-pixmaps.patch | 60 +++++++++++++++++++++++++
3 files changed, 71 insertions(+), 23 deletions(-)
Index: extra/x11/xorg-server/PKGBUILD
diff -u extra/x11/xorg-server/PKGBUILD:1.36 extra/x11/xorg-server/PKGBUILD:1.37
--- extra/x11/xorg-server/PKGBUILD:1.36 Mon Sep 24 12:06:19 2007
+++ extra/x11/xorg-server/PKGBUILD Wed Oct 10 15:21:04 2007
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD,v 1.36 2007/09/24 16:06:19 alexander Exp $
+# $Id: PKGBUILD,v 1.37 2007/10/10 19:21:04 alexander Exp $
# Maintainer: Alexander Baldeck <kth5 at archlinux.org>
# Contributor: Jan de Groot <jgc at archlinux.org>
pkgname=xorg-server
pkgver=1.4
-pkgrel=3
+pkgrel=4
_mesaver=7.0.1
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
@@ -27,10 +27,10 @@
xorg-x11-server-0.99.3-init-origins-fix.patch
xorg-x11-server-1.0.1-Red-Hat-extramodes.patch
xorg-x11-server-1.1.0-no-move-damage.patch
- xorg-x11-server-1.1.1-offscreen-pixmaps.patch
xorg-x11-server-1.1.1-vbe-filter-less.patch
xorg-server-1.2.0-defaultdpi.patch
- xorg-x11-server-1.1.1-no-scanpci.patch)
+ xorg-x11-server-1.1.1-no-scanpci.patch
+ xserver-1.3.0-newglx-offscreen-pixmaps.patch)
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
@@ -40,9 +40,9 @@
patch -Np0 -i ${startdir}/src/xorg-x11-server-0.99.3-init-origins-fix.patch || return 1
patch -Np1 -i ${startdir}/src/xorg-x11-server-1.0.1-Red-Hat-extramodes.patch || return 1
patch -Np0 -i ${startdir}/src/xorg-x11-server-1.1.0-no-move-damage.patch || return 1
- patch -Np1 -i ${startdir}/src/xorg-x11-server-1.1.1-offscreen-pixmaps.patch || return 1
patch -Np1 -i ${startdir}/src/xorg-x11-server-1.1.1-vbe-filter-less.patch || return 1
patch -Np1 -i ${startdir}/src/xorg-x11-server-1.1.1-no-scanpci.patch || return 1
+ patch -Np1 -i ${startdir}/src/xserver-1.3.0-newglx-offscreen-pixmaps.patch || return 1
# Own patches
patch -Np1 -i ${startdir}/src/xorg-server-1.2.0-defaultdpi.patch || return 1
@@ -97,7 +97,7 @@
'342a7d2fc0727b12f2840057c1feb2be'
'e49b4a78cdc47a379ee49663acbabedc'
'0faff1bfae0c6378fae5d2875fb3972c'
- '8cae706ff61477f510f9f14b3d64fea9'
'91d5eea40148b9e9db59c659b15fe443'
'e162134c68230f7b168430fe73b4881a'
- '43257d8ade0f087870426eca1f09005c')
+ '43257d8ade0f087870426eca1f09005c'
+ '0241d51f94de450845531b4df2af2527')
Index: extra/x11/xorg-server/xorg-server.install
diff -u extra/x11/xorg-server/xorg-server.install:1.1 extra/x11/xorg-server/xorg-server.install:1.2
--- extra/x11/xorg-server/xorg-server.install:1.1 Mon Sep 24 12:06:19 2007
+++ extra/x11/xorg-server/xorg-server.install Wed Oct 10 15:21:04 2007
@@ -1,14 +1,13 @@
post_install() {
- pacman -Q nvidia-utils &>/dev/null
- hasnvidiawfb=$?
+ hasnvidia=`pacman -Q nvidia-utils 2>/dev/null`
- if [ ${hasnvidiawfb} -eq 0 ]; then
+ if [ "x${hasnvidia}" = "x" ]; then
echo ":: Could not detect nvidia-utils on system"
echo ":: Will attempt to use built-in libwfb"
ln -sf /usr/lib/xorg/modules/libwfb.so.1.4 \
/usr/lib/xorg/modules/libwfb.so
else
- echo ":: Another libwfb has been detected."
+ echo ":: Another libwfb has been detected."
fi
/bin/true
@@ -17,18 +16,7 @@
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
- pacman -Q nvidia-utils &>/dev/null
- hasnvidiawfb=$?
-
- if [ ${hasnvidiawfb} -eq 0 ]; then
- echo ":: Could not detect nvidia-utils on system"
- echo ":: Will attempt to use built-in libwfb"
- ln -sf /usr/lib/xorg/modules/libwfb.so.1.4 \
- /usr/lib/xorg/modules/libwfb.so
- else
- echo ":: Another libwfb has been detected."
- fi
-
+ post_install
/bin/true
}
Index: extra/x11/xorg-server/xserver-1.3.0-newglx-offscreen-pixmaps.patch
diff -u /dev/null extra/x11/xorg-server/xserver-1.3.0-newglx-offscreen-pixmaps.patch:1.1
--- /dev/null Wed Oct 10 15:21:04 2007
+++ extra/x11/xorg-server/xserver-1.3.0-newglx-offscreen-pixmaps.patch Wed Oct 10 15:21:04 2007
@@ -0,0 +1,60 @@
+diff -up xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c
+--- xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2007-08-13 10:27:45.000000000 +1000
++++ xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c 2007-08-13 10:28:35.000000000 +1000
+@@ -97,6 +97,30 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec)
+ xfree(infoRec);
+ }
+
++void
++XAAEvictPixmaps(void)
++{
++ XAAScreenPtr pScreenPriv;
++ XAAInfoRecPtr infoRec;
++ ScreenPtr pScreen;
++ int i;
++
++ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n");
++
++ for (i = 0; i < screenInfo.numScreens; i++) {
++ pScreen = screenInfo.screens[i];
++ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
++
++ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr;
++ infoRec = pScreenPriv->AccelInfoRec;
++
++ infoRec->offscreenDepths = 0;
++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
++
++ XAAMoveOutOffscreenPixmaps(pScreen);
++ XAAInvalidatePixmapCache(pScreen);
++ }
++}
+
+ Bool
+ XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
+diff -up xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps xorg-server-1.3.0.0/GL/glx/glxdri.c
+--- xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps 2007-08-13 10:23:52.000000000 +1000
++++ xorg-server-1.3.0.0/GL/glx/glxdri.c 2007-08-13 10:26:08.000000000 +1000
+@@ -380,6 +380,22 @@ __glXDRIbindTexImage(__GLXcontext *baseC
+ __GLXDRIscreen * const screen =
+ (__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum);
+
++ if (!screen->texOffsetStart) {
++ /* When the GLX_EXT_texture_from_pixmap is used, as it's
++ * implemented here, we want to pull pixmap out of video memory
++ * and into host memory. */
++ extern void XAAEvictPixmaps(void);
++ static int evictedPixmaps = 0;
++
++ if (!evictedPixmaps) {
++ __glXDRIenterServer(GL_FALSE);
++ if (dlsym(RTLD_DEFAULT, "XAAEvictPixmaps"))
++ XAAEvictPixmaps();
++ __glXDRIleaveServer(GL_FALSE);
++ evictedPixmaps = TRUE;
++ }
++ }
++
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+
+ if (screen->texOffsetStart && screen->driScreen.setTexOffset) {
More information about the arch-commits
mailing list