[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