diff options
author | kwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2012-02-08 17:49:03 +0800 |
---|---|---|
committer | kwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2012-02-08 17:49:03 +0800 |
commit | 6d202e0008923abf129c2e04f204e2b8196b0a0b (patch) | |
tree | 78dadaa60ed68c7051c006a664257f25fd4710bd /x11-drivers/xf86-video-openchrome | |
parent | 338e35abd53efaa53250ac55f2a8caa41c63f85d (diff) | |
download | xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar.gz xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar.bz2 xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar.lz xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar.xz xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.tar.zst xorg-devel-ports-6d202e0008923abf129c2e04f204e2b8196b0a0b.zip |
Add openchrome video driver. With a patch to fix a Xvideo crash with
xorg-server 1.10. Fix the build with xorg-server 1.12.
git-svn-id: https://trillian.chruetertee.ch/svn/ports/trunk@405 058c260c-8361-11dd-a0ac-aa2bafec7d09
Diffstat (limited to 'x11-drivers/xf86-video-openchrome')
8 files changed, 179 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-openchrome/Makefile b/x11-drivers/xf86-video-openchrome/Makefile new file mode 100644 index 0000000..8a17c4c --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/Makefile @@ -0,0 +1,27 @@ +# New ports collection makefile for: xf86-video-openchrome +# Date Created: 17 Sep 2007 +# Whom: Florent Thoumie <flz@FreeBSD.org> +# +# $FreeBSD: ports/x11-drivers/xf86-video-openchrome/Makefile,v 1.22 2011/11/09 15:25:59 miwi Exp $ +# + +PORTNAME= xf86-video-openchrome +PORTVERSION= 0.2.904 +PORTREVISION= 3 +CATEGORIES= x11-drivers +MASTER_SITES= http://www.openchrome.org/releases/ + +MAINTAINER= x11@FreeBSD.org +COMMENT= X.Org openChrome display driver + +USE_GL= gl + +XORG_CAT= driver +USE_XORG= videoproto xf86driproto xextproto xvmc glproto +MAN4= openchrome.4x + +MAKE_ARGS+= drivermandir=${LOCALBASE}/man/man4 + +ONLY_FOR_ARCHS= amd64 i386 ia64 + +.include <bsd.port.mk> diff --git a/x11-drivers/xf86-video-openchrome/distinfo b/x11-drivers/xf86-video-openchrome/distinfo new file mode 100644 index 0000000..98e6907 --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/distinfo @@ -0,0 +1,2 @@ +SHA256 (xorg/driver/xf86-video-openchrome-0.2.904.tar.bz2) = c7bdf7c48365b1d077a4be7ccc652cf3f7a0f385fddeb2d4fe71b00b6c6b7aea +SIZE (xorg/driver/xf86-video-openchrome-0.2.904.tar.bz2) = 460051 diff --git a/x11-drivers/xf86-video-openchrome/files/patch-configure b/x11-drivers/xf86-video-openchrome/files/patch-configure new file mode 100644 index 0000000..42654fc --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/files/patch-configure @@ -0,0 +1,11 @@ +--- configure.orig 2008-01-02 15:05:04.000000000 -0500 ++++ configure 2008-01-10 20:48:21.000000000 -0500 +@@ -21484,7 +21484,7 @@ + _ACEOF + + +-DRIVER_MAN_SUFFIX="4" ++DRIVER_MAN_SUFFIX="4x" + + + diff --git a/x11-drivers/xf86-video-openchrome/files/patch-src__via_vgahw.c b/x11-drivers/xf86-video-openchrome/files/patch-src__via_vgahw.c new file mode 100644 index 0000000..ad794cb --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/files/patch-src__via_vgahw.c @@ -0,0 +1,32 @@ +--- src/via_vgahw.c.orig 2009-10-03 22:48:55.000000000 +0200 ++++ src/via_vgahw.c 2012-02-08 10:43:08.000000000 +0100 +@@ -36,6 +36,11 @@ + #include "via_driver.h" /* for HAVE_DEBUG */ + #include "via_vgahw.h" + ++#if ABI_VIDEODRV_VERSION < 12 ++#define PIOOFFSET hwp->PIOOffset ++#else ++#define PIOOFFSET 0 ++#endif + + static CARD8 + ViaVgahwIn(vgaHWPtr hwp, int address) +@@ -43,7 +48,7 @@ + if (hwp->MMIOBase) + return MMIO_IN8(hwp->MMIOBase, hwp->MMIOOffset + address); + else +- return inb(hwp->PIOOffset + address); ++ return inb(PIOOFFSET + address); + } + + static void +@@ -52,7 +57,7 @@ + if (hwp->MMIOBase) + MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + address, value); + else +- outb(hwp->PIOOffset + address, value); ++ outb(PIOOFFSET + address, value); + } + + /* diff --git a/x11-drivers/xf86-video-openchrome/files/patch-src__via_video.c b/x11-drivers/xf86-video-openchrome/files/patch-src__via_video.c new file mode 100644 index 0000000..6eb3f18 --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/files/patch-src__via_video.c @@ -0,0 +1,83 @@ +Fix Xvideo crash in X.org server 1.10 + +http://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=cd753845e02466b81f426793e4f5619afab05d82 + +--- src/via_video.c.orig 2012-02-08 10:13:54.000000000 +0100 ++++ src/via_video.c 2012-02-08 10:14:33.000000000 +0100 +@@ -763,67 +763,6 @@ + return 0; + } + +- +-/* +- * This one gets called, for example, on panning. +- */ +- +-static int +-viaReputImage(ScrnInfoPtr pScrn, +- short drw_x, short drw_y, RegionPtr clipBoxes, pointer data, +- DrawablePtr pDraw) +-{ +- +- DDUPDATEOVERLAY UpdateOverlay_Video; +- LPDDUPDATEOVERLAY lpUpdateOverlay = &UpdateOverlay_Video; +- viaPortPrivPtr pPriv = (viaPortPrivPtr) data; +- VIAPtr pVia = VIAPTR(pScrn); +- +- if (!RegionsEqual(&pPriv->clip, clipBoxes)) { +- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes); +- if (pPriv->autoPaint) { +- if (pDraw->type == DRAWABLE_WINDOW) { +- viaPaintColorkey(pScrn, pPriv, clipBoxes, pDraw); +- } else { +- xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, +- clipBoxes); +- } +- } +- } +- +- if (drw_x == pPriv->old_drw_x && +- drw_y == pPriv->old_drw_y && +- pVia->swov.oldPanningX == pVia->swov.panning_x && +- pVia->swov.oldPanningY == pVia->swov.panning_y) { +- viaXvError(pScrn, pPriv, xve_none); +- return Success; +- } +- +- lpUpdateOverlay->SrcLeft = pPriv->old_src_x; +- lpUpdateOverlay->SrcTop = pPriv->old_src_y; +- lpUpdateOverlay->SrcRight = pPriv->old_src_x + pPriv->old_src_w; +- lpUpdateOverlay->SrcBottom = pPriv->old_src_y + pPriv->old_src_h; +- +- lpUpdateOverlay->DstLeft = drw_x; +- lpUpdateOverlay->DstTop = drw_y; +- lpUpdateOverlay->DstRight = drw_x + pPriv->old_drw_w; +- lpUpdateOverlay->DstBottom = drw_y + pPriv->old_drw_h; +- pPriv->old_drw_x = drw_x; +- pPriv->old_drw_y = drw_y; +- +- lpUpdateOverlay->dwFlags = DDOVER_KEYDEST; +- +- if (pScrn->bitsPerPixel == 8) +- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey & 0xff; +- else +- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey; +- +- VIAVidUpdateOverlay(pScrn, lpUpdateOverlay); +- +- viaXvError(pScrn, pPriv, xve_none); +- return Success; +-} +- + static unsigned + viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdaptorPtr ** adaptors) + { +@@ -884,7 +823,7 @@ + viaAdaptPtr[i]->GetPortAttribute = viaGetPortAttribute; + viaAdaptPtr[i]->SetPortAttribute = viaSetPortAttribute; + viaAdaptPtr[i]->PutImage = viaPutImage; +- viaAdaptPtr[i]->ReputImage = viaReputImage; ++ viaAdaptPtr[i]->ReputImage = NULL; + viaAdaptPtr[i]->QueryImageAttributes = viaQueryImageAttributes; + for (j = 0; j < numPorts; ++j) { + viaPortPriv[j].dmaBounceBuffer = NULL; diff --git a/x11-drivers/xf86-video-openchrome/files/patch-src_via_id.c b/x11-drivers/xf86-video-openchrome/files/patch-src_via_id.c new file mode 100644 index 0000000..130e2ba --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/files/patch-src_via_id.c @@ -0,0 +1,10 @@ +--- src/via_id.c.orig 2008-08-18 18:25:16.000000000 -0400 ++++ src/via_id.c 2008-11-11 21:20:14.000000000 -0500 +@@ -207,6 +207,7 @@ + {"VIA VT3343 (P4M890)", VIA_P4M890, 0x1106, 0x3343, VIA_DEVICE_CRT}, + {"MSI P4M890M-L/IL (MS-7255)", VIA_P4M890, 0x1462, 0x7255, VIA_DEVICE_CRT}, + {"Biostar P4M890-M7 TE", VIA_P4M890, 0x1565, 0x1207, VIA_DEVICE_CRT}, ++ {"Mitac 8624 (Joybook R41E)", VIA_P4M890, 0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"ASRock P4VM890", VIA_P4M890, 0x1849, 0x3343, VIA_DEVICE_CRT}, + + /* keep this */ diff --git a/x11-drivers/xf86-video-openchrome/pkg-descr b/x11-drivers/xf86-video-openchrome/pkg-descr new file mode 100644 index 0000000..2643b9a --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/pkg-descr @@ -0,0 +1,3 @@ +This package contains the X.Org xf86-video-openchrome driver. + +WWW: http://www.x.org diff --git a/x11-drivers/xf86-video-openchrome/pkg-plist b/x11-drivers/xf86-video-openchrome/pkg-plist new file mode 100644 index 0000000..51f4809 --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/pkg-plist @@ -0,0 +1,11 @@ +lib/libchromeXvMC.la +lib/libchromeXvMC.so +lib/libchromeXvMC.so.1 +lib/libchromeXvMCPro.la +lib/libchromeXvMCPro.so +lib/libchromeXvMCPro.so.1 +lib/xorg/modules/drivers/openchrome_drv.la +lib/xorg/modules/drivers/openchrome_drv.so +@dirrmtry lib/xorg/modules/drivers +@dirrmtry lib/xorg/modules +@dirrmtry lib/xorg |