ChangeLog | 68 ++++++++++++++++++ configure.ac | 5 + debian/README.source | 73 +++++++++++++++++++ debian/changelog | 10 ++ debian/control | 4 - debian/xserver-xorg-video-i128.install | 1 debian/xsfbs/xsfbs.sh | 12 --- man/i128.man | 2 src/i128IBMDAC.c | 84 +--------------------- src/i128_driver.c | 122 +++------------------------------ src/i128exa.c | 6 + 11 files changed, 178 insertions(+), 209 deletions(-)
New commits: commit f487ce14842a83bf76d36ed17594490935e5c5be Author: Brice Goglin <[email protected]> Date: Mon Jul 20 18:51:04 2009 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 95d27c1..3163c6a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-i128 (1:1.3.2-1) UNRELEASED; urgency=low +xserver-xorg-video-i128 (1:1.3.2-1) unstable; urgency=low [ David Nusinow ] * Remove 01_gen_pci_ids.diff. The X server now uses an internal table to @@ -8,8 +8,9 @@ xserver-xorg-video-i128 (1:1.3.2-1) UNRELEASED; urgency=low [ Brice Goglin ] * Add README.source, bump Standards-Version to 3.8.2. * New upstream release. + * Add myself to Uploaders. - -- Brice Goglin <[email protected]> Mon, 20 Jul 2009 18:50:10 +0200 + -- Brice Goglin <[email protected]> Mon, 20 Jul 2009 18:50:54 +0200 xserver-xorg-video-i128 (1:1.3.1-3) unstable; urgency=low diff --git a/debian/control b/debian/control index d33d367..1b959ed 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: xserver-xorg-video-i128 Section: x11 Priority: optional Maintainer: Debian X Strike Force <[email protected]> -Uploaders: David Nusinow <[email protected]>, Julien Cristau <[email protected]> +Uploaders: David Nusinow <[email protected]>, Julien Cristau <[email protected]>, Brice Goglin <[email protected]> Build-Depends: debhelper (>= 5.0.0), pkg-config, commit 65e363e57af625ae72567aa9f856c5b5b1ec313f Author: Brice Goglin <[email protected]> Date: Mon Jul 20 18:27:39 2009 +0200 New upstream release diff --git a/ChangeLog b/ChangeLog index 43db9fe..27d2705 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,71 @@ +commit 6a1eae8adf2bc8ba2c0e86e28d3b121a54aa8c3b +Author: Adam Jackson <[email protected]> +Date: Thu Jul 2 11:16:59 2009 -0400 + + i128 1.3.2 + +commit b690e9f84e3c4504f3344185c6a8572805dd73d8 +Author: Mark Kettenis <[email protected]> +Date: Thu Jun 4 11:46:18 2009 -0600 + + Fix endianness bugs in cursor realization code. + + The default cursor realization code seems to work just fine. We just + have to set the HARDWARE_CURSOR_NIBBLE_SWAPPED flag on big endian + platforms. + + This isn't really surprising since these cards use fairly standard IBM + or TI RAMDACs. + + Signed-off-by: Matthieu Herrb <[email protected]> + +commit f42dd67d9372bf7f46cf8a35877e4ab8ac82d89b +Author: Adam Jackson <[email protected]> +Date: Thu May 28 14:59:53 2009 -0400 + + Remove useless loader symbol lists. + +commit cee4cdf061ca8e6376846c0eac2fc6d57711129e +Author: Mark Kettenis <[email protected]> +Date: Mon May 4 21:54:30 2009 +0200 + + Properly unmap things with libpciaccess. + + If the xf86-vide-i128 is compiled with XSERVER_LIBPCIACCESS, registers and + frmaebuffer memory are mapped through libpciaccess. However, I128UnmapMem + tried to unmap things vy using xf86UnmapVidMem. This failed because the memory + wasn't registered (which only happens if you mapped the memory using + xf86MapPciMem. + + Fixes bugzilla #20541 + + Signed-off-by: Matthieu Herrb <[email protected]> + +commit 8bd4dc99bbaa8bf8c6649dc25fc75859e16e35ec +Author: Thomas Jaeger <[email protected]> +Date: Fri Jan 30 16:25:07 2009 -0500 + + CheckComposite: Add a few checks + + It looks like the driver doesn't support any form of repeating and only + nearest-neighbor interpolation. + +commit 8936b17d83c6fa2b67c447ae3cac5159d8d84649 +Author: Chris Ball <[email protected]> +Date: Tue Feb 24 13:00:05 2009 -0500 + + Build fix for EXA 3 + + EXA in xserver head now requires us to pass -DEXA_DRIVER_KNOWN_MAJOR=3. + + Signed-off-by: Chris Ball <[email protected]> + +commit 4fcee9dd9075b28474ae5b248a9edc0789f55b05 +Author: Alan Coopersmith <[email protected]> +Date: Fri Jan 9 16:28:55 2009 -0800 + + Remove xorgconfig & xorgcfg from See Also list in man page + commit 4be161bca1ae9fca29e882c5909405781b565cb1 Author: Julien Cristau <[email protected]> Date: Thu Sep 4 19:51:58 2008 +0200 diff --git a/debian/changelog b/debian/changelog index 05f353b..95d27c1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-i128 (1:1.3.1-4) UNRELEASED; urgency=low +xserver-xorg-video-i128 (1:1.3.2-1) UNRELEASED; urgency=low [ David Nusinow ] * Remove 01_gen_pci_ids.diff. The X server now uses an internal table to @@ -7,8 +7,9 @@ xserver-xorg-video-i128 (1:1.3.1-4) UNRELEASED; urgency=low [ Brice Goglin ] * Add README.source, bump Standards-Version to 3.8.2. + * New upstream release. - -- Brice Goglin <[email protected]> Mon, 20 Jul 2009 18:24:09 +0200 + -- Brice Goglin <[email protected]> Mon, 20 Jul 2009 18:50:10 +0200 xserver-xorg-video-i128 (1:1.3.1-3) unstable; urgency=low commit cef1d126e8df63b9df479b29b7042f7b783a4c8e Author: Brice Goglin <[email protected]> Date: Mon Jul 20 18:25:43 2009 +0200 Don't try to install usr/share/xserver-xorg/pci/* anymore diff --git a/debian/xserver-xorg-video-i128.install b/debian/xserver-xorg-video-i128.install index 8a9f4ba..614cfb4 100644 --- a/debian/xserver-xorg-video-i128.install +++ b/debian/xserver-xorg-video-i128.install @@ -1,3 +1,2 @@ usr/lib/xorg/modules/drivers/*.so usr/share/man/man4/* -usr/share/xserver-xorg/pci/* commit 799f495e98830ff0ee5d626a3f0b230ced81a24a Author: Brice Goglin <[email protected]> Date: Mon Jul 20 18:25:12 2009 +0200 Adding README.source means we can bump Standards-Version diff --git a/debian/changelog b/debian/changelog index 9c5d393..05f353b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,14 @@ xserver-xorg-video-i128 (1:1.3.1-4) UNRELEASED; urgency=low + [ David Nusinow ] * Remove 01_gen_pci_ids.diff. The X server now uses an internal table to choose a driver during autoconfiguration. + Disable the patch system and remove quilt from the build-deps - -- David Nusinow <[email protected]> Mon, 04 May 2009 22:01:04 -0400 + [ Brice Goglin ] + * Add README.source, bump Standards-Version to 3.8.2. + + -- Brice Goglin <[email protected]> Mon, 20 Jul 2009 18:24:09 +0200 xserver-xorg-video-i128 (1:1.3.1-3) unstable; urgency=low diff --git a/debian/control b/debian/control index 48f8f06..d33d367 100644 --- a/debian/control +++ b/debian/control @@ -17,7 +17,7 @@ Build-Depends: automake, libtool, xutils-dev -Standards-Version: 3.7.3 +Standards-Version: 3.8.2 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-i128 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-i128.git commit 6a1eae8adf2bc8ba2c0e86e28d3b121a54aa8c3b Author: Adam Jackson <[email protected]> Date: Thu Jul 2 11:16:59 2009 -0400 i128 1.3.2 diff --git a/configure.ac b/configure.ac index d5a7502..a671665 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-i128], - 1.3.1, + 1.3.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-i128) commit b690e9f84e3c4504f3344185c6a8572805dd73d8 Author: Mark Kettenis <[email protected]> Date: Thu Jun 4 11:46:18 2009 -0600 Fix endianness bugs in cursor realization code. The default cursor realization code seems to work just fine. We just have to set the HARDWARE_CURSOR_NIBBLE_SWAPPED flag on big endian platforms. This isn't really surprising since these cards use fairly standard IBM or TI RAMDACs. Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/i128IBMDAC.c b/src/i128IBMDAC.c index 1ad9f65..14acba9 100644 --- a/src/i128IBMDAC.c +++ b/src/i128IBMDAC.c @@ -43,8 +43,6 @@ static void I128IBMHideCursor(ScrnInfoPtr pScrn); static void I128IBMSetCursorPosition(ScrnInfoPtr pScrn, int x, int y); static void I128IBMSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg); static void I128IBMLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src); -static unsigned char *I128IBMRealizeCursor(xf86CursorInfoPtr infoPtr, - CursorPtr pCurs); static Bool I128IBMUseHWCursor(ScreenPtr pScrn, CursorPtr pCurs); @@ -73,86 +71,12 @@ I128IBMHWCursorInit(ScrnInfoPtr pScrn) infoPtr->Flags = HARDWARE_CURSOR_TRUECOLOR_AT_8BPP | HARDWARE_CURSOR_AND_SOURCE_WITH_MASK | HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1; - infoPtr->RealizeCursor = I128IBMRealizeCursor; - return(xf86InitCursor(pScreen, infoPtr)); -} - - -/* - * Convert the cursor from server-format to hardware-format. The IBMRGB - * has two planes, plane 0 selects cursor color 0 or 1 and plane 1 - * selects transparent or display cursor. The bits of these planes - * are packed together so that one byte has 4 pixels. The organization - * looks like: - * Byte 0x000 - 0x00F top scan line, left to right - * 0x010 - 0x01F - * . . - * 0x3F0 - 0x3FF bottom scan line - * - * Byte/bit map - D7D6,D5D4,D3D2,D1D0 four pixels, two planes each - * Pixel/bit map - P1P0 (plane 1) == 1 maps to cursor color - * (plane 1) == 0 maps to transparent - * (plane 0) maps to cursor colors 0 and 1 - */ +#if X_BYTE_ORDER == X_BIG_ENDIAN + infoPtr->Flags |= HARDWARE_CURSOR_NIBBLE_SWAPPED; +#endif -static unsigned char * -I128IBMRealizeCursor(xf86CursorInfoPtr infoPtr, CursorPtr pCurs) -{ - register int i, j; - unsigned char *pServMsk; - unsigned char *pServSrc; - int wsrc, h; - unsigned char *mem, *dst; - - mem = (unsigned char *)xcalloc(1,1024); /* 64x64x2 bits */ - dst = mem; - - if (!mem) - return NULL; - - pServSrc = (unsigned char *)pCurs->bits->source; - pServMsk = (unsigned char *)pCurs->bits->mask; - - h = pCurs->bits->height; - if (h > infoPtr->MaxHeight) - h = infoPtr->MaxHeight; - - wsrc = PixmapBytePad(pCurs->bits->width, 1); /* bytes per line */ - - for (i = 0; i < infoPtr->MaxHeight; i++,mem+=16) { - for (j = 0; j < infoPtr->MaxWidth / 8; j++) { - register unsigned char mask, source; - - if (i < h && j < wsrc) { - /* - * mask byte ABCDEFGH and source byte 12345678 map to two byte - * cursor data H8G7F6E5 D4C3B2A1 - */ - mask = *pServMsk++; - source = *pServSrc++ & mask; - - /* map 1 byte source and mask into two byte cursor data */ - mem[j*2] = ((mask&0x01) << 7) | ((source&0x01) << 6) | - ((mask&0x02) << 4) | ((source&0x02) << 3) | - ((mask&0x04) << 1) | (source&0x04) | - ((mask&0x08) >> 2) | ((source&0x08) >> 3) ; - mem[(j*2)+1] = ((mask&0x10) << 3) | ((source&0x10) << 2) | - (mask&0x20) | ((source&0x20) >> 1) | - ((mask&0x40) >> 3) | ((source&0x40) >> 4) | - ((mask&0x80) >> 6) | ((source&0x80) >> 7) ; - } else { - mem[j*2] = 0x00; - mem[(j*2)+1] = 0x00; - } - } - /* - * if we still have more bytes on this line (j < wsrc), - * we have to ignore the rest of the line. - */ - while (j++ < wsrc) pServMsk++,pServSrc++; - } - return dst; + return(xf86InitCursor(pScreen, infoPtr)); } commit 8f72294ada477f003888b6776883c1dd98289f3f Author: Julien Cristau <[email protected]> Date: Wed Jun 3 03:37:37 2009 +0200 Kill custom readlink function This was needed for very, very old versions of debianutils. Closes: #498890 diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 197eb74..781826f 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -303,16 +303,6 @@ EOF fi } -# we require a readlink command or shell function -if ! which readlink > /dev/null 2>&1; then - message "The readlink command was not found. Please install version" \ - "1.13.1 or later of the debianutils package." - readlink () { - # returns what symlink in $1 actually points to - perl -e '$l = shift; exit 1 unless -l $l; $r = readlink $l; exit 1 unless $r; print "$r\n"' "$1" - } -fi - check_symlink () { # syntax: check_symlink symlink # commit f42dd67d9372bf7f46cf8a35877e4ab8ac82d89b Author: Adam Jackson <[email protected]> Date: Thu May 28 14:59:53 2009 -0400 Remove useless loader symbol lists. diff --git a/src/i128_driver.c b/src/i128_driver.c index 0c80ce4..9de7527 100644 --- a/src/i128_driver.c +++ b/src/i128_driver.c @@ -166,87 +166,6 @@ _X_EXPORT XF86ModuleData i128ModuleData = { &i128VersRec, i128Setup, NULL }; #endif - -/* - * List of symbols from other modules that this module references. This - * list is used to tell the loader that it is OK for symbols here to be - * unresolved providing that it hasn't been told that they haven't been - * told that they are essential via a call to xf86LoaderReqSymbols() or - * xf86LoaderReqSymLists(). The purpose is this is to avoid warnings about - * unresolved symbols that are not required. These are provided to the - * LoaderRefSymLists() function in the module specific Setup() function. - */ - -static const char *vgahwSymbols[] = { - "vgaHWFreeHWRec", - "vgaHWGetHWRec", - "vgaHWGetIOBase", - "vgaHWGetIndex", - "vgaHWProtect", - "vgaHWRestore", - "vgaHWSave", - NULL -}; - -static const char *fbSymbols[] = { - "fbScreenInit", - "fbPictureInit", - NULL -}; - -static const char *exaSymbols[] = { - "exaDriverAlloc", - "exaDriverInit", - "exaDriverFini", - "exaGetPixmapOffset", - NULL -}; - -static const char *xaaSymbols[] = { - "XAACreateInfoRec", - "XAADestroyInfoRec", - "XAAInit", - NULL -}; - -static const char *ramdacSymbols[] = { - "xf86CreateCursorInfoRec", - "xf86DestroyCursorInfoRec", - "xf86InitCursor", - NULL -}; - -static const char *ddcSymbols[] = { - "xf86DoEDID_DDC1", - "xf86DoEDID_DDC2", - "xf86PrintEDID", - "xf86SetDDCproperties", - NULL -}; - -static const char *i2cSymbols[] = { - "xf86CreateI2CBusRec", - "xf86I2CBusInit", - NULL -}; - -#ifdef XFree86LOADER -/* XXX The vbe module isn't currently loaded. */ -static const char *vbeSymbols[] = { - "VBEInit", - "vbeDoEDID", - NULL -}; - -/* XXX The int10 module isn't currently loaded. */ -static const char *int10Symbols[] = { - "xf86InitInt10", - "xf86FreeInt10", - NULL -}; -#endif - - #ifdef XFree86LOADER /* Mandatory @@ -283,22 +202,6 @@ i128Setup(pointer module, pointer opts, int *errmaj, int *errmin) */ /* - * Tell the loader about symbols from other modules that this module - * might refer to. - */ - LoaderRefSymLists(fbSymbols, - exaSymbols, - xaaSymbols, - ramdacSymbols, - ddcSymbols, - ddcSymbols, - i2cSymbols, - vbeSymbols, - int10Symbols, - vgahwSymbols, - NULL); - - /* * The return value must be non-NULL on success even though there * is no TearDownProc. */ @@ -580,8 +483,6 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE; - xf86LoaderReqSymLists(vgahwSymbols, NULL); - /* * Allocate a vgaHWRec */ @@ -874,9 +775,7 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) /* Load DDC if we have the code to use it */ /* This gives us DDC1 */ if (pI128->ddc1Read || pI128->i2cInit) { - if (xf86LoadSubModule(pScrn, "ddc")) { - xf86LoaderReqSymLists(ddcSymbols, NULL); - } else { + if (!xf86LoadSubModule(pScrn, "ddc")) { /* ddc module not found, we can do without it */ pI128->ddc1Read = NULL; @@ -887,9 +786,7 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) /* - DDC can use I2C bus */ /* Load I2C if we have the code to use it */ if (pI128->i2cInit) { - if ( xf86LoadSubModule(pScrn, "i2c") ) { - xf86LoaderReqSymLists(i2cSymbols,NULL); - } else { + if (!xf86LoadSubModule(pScrn, "i2c")) { /* i2c module not found, we can do without it */ pI128->i2cInit = NULL; pI128->I2C = NULL; @@ -1194,7 +1091,6 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) I128FreeRec(pScrn); return FALSE; } - xf86LoaderReqSymLists(fbSymbols, NULL); /* Load the acceleration engine */ if (!pI128->NoAccel) { @@ -1211,12 +1107,12 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) LoaderErrorMsg(NULL, "exa", errmaj, errmin); I128FreeRec(pScrn); return FALSE; - } else xf86LoaderReqSymLists(exaSymbols, NULL); + } } else { if (!xf86LoadSubModule(pScrn, "xaa")) { I128FreeRec(pScrn); return FALSE; - } else xf86LoaderReqSymLists(xaaSymbols, NULL); + } } } @@ -1226,7 +1122,6 @@ I128PreInit(ScrnInfoPtr pScrn, int flags) I128FreeRec(pScrn); return FALSE; } - xf86LoaderReqSymLists(ramdacSymbols, NULL); } I128UnmapMem(pScrn); commit 7deebf983f53c505bc25171ab77fdc408f250a6e Author: Julien Cristau <[email protected]> Date: Tue May 26 15:58:19 2009 +0200 xsfbs: don't run dpkg --print-installation-architecture This is deprecated in new dpkg, and had no users anyway. diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 8840ff9..197eb74 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -57,8 +57,6 @@ EOF exit $SHELL_LIB_USAGE_ERROR fi -ARCHITECTURE="$(dpkg --print-installation-architecture)" - if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then RECONFIGURE="true" else commit 4178d948cd66a938222d0d7c6353ee8d60229e40 Author: David Nusinow <[email protected]> Date: Mon May 25 20:08:50 2009 -0400 Add README.source diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..34ab4bf --- /dev/null +++ b/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + +quilt is actually invoked by the Debian X packaging through a larger +set of scripts called XSFBS. XSFBS brings some other X specific +features such as managing dependencies and conflicts due to the video +and input driver ABIs. +XSFBS itself is maintained in a separate repository at + git://git.debian.org/pkg-xorg/xsfbs.git +and it is pulled inside the other Debian X repositories when needed. + +The XSFBS patching system requires a build dependency on quilt. Also +a dependency on $(STAMP_DIR)/patch has to be added to debian/rules +so that the XSFBS patching occurs before the actual build. So the +very first target of the build (likely the one running autoreconf) +should depend on $(STAMP_DIR)/patch. It should also not depend on +anything so that parallel builds are correctly supported (nothing +should probably run while patching is being done). And finally, the +clean target should depend on the xsfclean target so that patches +are unapplied on clean. + +When the upstream sources contain some DFSG-nonfree files, they are +listed in text files in debian/prune/ in the "debian-*" branch of +the Debian repository. XSFBS' scripts then take care of removing +these listed files during the build so as to generate a modified +DFSG-free .orig.tar.gz tarball. commit cee4cdf061ca8e6376846c0eac2fc6d57711129e Author: Mark Kettenis <[email protected]> Date: Mon May 4 21:54:30 2009 +0200 Properly unmap things with libpciaccess. If the xf86-vide-i128 is compiled with XSERVER_LIBPCIACCESS, registers and frmaebuffer memory are mapped through libpciaccess. However, I128UnmapMem tried to unmap things vy using xf86UnmapVidMem. This failed because the memory wasn't registered (which only happens if you mapped the memory using xf86MapPciMem. Fixes bugzilla #20541 Signed-off-by: Matthieu Herrb <[email protected]> diff --git a/src/i128_driver.c b/src/i128_driver.c index 72a69e7..0c80ce4 100644 --- a/src/i128_driver.c +++ b/src/i128_driver.c @@ -1442,12 +1442,21 @@ I128UnmapMem(ScrnInfoPtr pScrn) /* * Unmap IO registers to virtual address space */ +#ifndef XSERVER_LIBPCIACCESS xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pI128->mem.mw0_ad, pI128->MemorySize*1024); +#else + pci_device_unmap_range(pI128->PciInfo, pI128->mem.mw0_ad, + pI128->MemorySize*1024); +#endif pI128->mem.mw0_ad = NULL; pI128->MemoryPtr = NULL; +#ifndef XSERVER_LIBPCIACCESS xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pI128->mem.rbase_g, 64*1024); +#else + pci_device_unmap_range(pI128->PciInfo, pI128->mem.rbase_g, 64*1024); +#endif pI128->mem.rbase_g = NULL; pI128->mem.rbase_w = NULL; pI128->mem.rbase_a = NULL; commit 8bd4dc99bbaa8bf8c6649dc25fc75859e16e35ec Author: Thomas Jaeger <[email protected]> Date: Fri Jan 30 16:25:07 2009 -0500 CheckComposite: Add a few checks It looks like the driver doesn't support any form of repeating and only nearest-neighbor interpolation. diff --git a/src/i128exa.c b/src/i128exa.c index 84452a8..f4e831f 100644 --- a/src/i128exa.c +++ b/src/i128exa.c @@ -476,11 +476,15 @@ i128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, if (pMaskPicture) return FALSE; /* when transforms added, be sure to check for linear/nearest */ - /* if (pSrcPicture->transform) return FALSE; */ + if (pSrcPicture->transform && pSrcPicture->filter != PictFilterNearest) + return FALSE; /* no support for external alpha */ if (pSrcPicture->alphaMap || pDstPicture->alphaMap) return FALSE; + /* driver currently doesn't support repeating */ + if (pSrcPicture->repeat) return FALSE; + pI128->source = i128MapSourceFormat(pSrcPicture->format); if (!pI128->source) return FALSE; commit fa6396d6bf68b9a0154089146287245f9ad60a1e Author: Julien Cristau <[email protected]> Date: Wed Feb 25 21:31:03 2009 +0100 xsfbs: repack.sh needs to be executable diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh old mode 100644 new mode 100755 commit 8936b17d83c6fa2b67c447ae3cac5159d8d84649 Author: Chris Ball <[email protected]> Date: Tue Feb 24 13:00:05 2009 -0500 Build fix for EXA 3 EXA in xserver head now requires us to pass -DEXA_DRIVER_KNOWN_MAJOR=3. Signed-off-by: Chris Ball <[email protected]> diff --git a/configure.ac b/configure.ac index 6002fc5..d5a7502 100644 --- a/configure.ac +++ b/configure.ac @@ -73,6 +73,9 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then fi AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) +# Required by exa.h +AC_DEFINE(EXA_DRIVER_KNOWN_MAJOR, 3, [Major version of EXA we can handle]) + # Checks for header files. AC_HEADER_STDC commit 4fcee9dd9075b28474ae5b248a9edc0789f55b05 Author: Alan Coopersmith <[email protected]> Date: Fri Jan 9 16:28:55 2009 -0800 Remove xorgconfig & xorgcfg from See Also list in man page diff --git a/man/i128.man b/man/i128.man index 9ecf548..920d2ab 100644 --- a/man/i128.man +++ b/man/i128.man @@ -65,6 +65,6 @@ Default: false. This turns on verbose debug information from the driver. Default: off. .SH "SEE ALSO" -__xservername__(1), __xconfigfile__(__filemansuffix__), xorgconfig(1), Xserver(1), X(__miscmansuffix__) +__xservername__(1), __xconfigfile__(__filemansuffix__), Xserver(1), X(__miscmansuffix__) .SH AUTHORS Authors include: Robin Cutshaw (driver), Galen Brooks (flatpanel support). -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

