summaryrefslogtreecommitdiffstats
path: root/x11-drivers
diff options
context:
space:
mode:
authorkwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09>2012-02-08 17:49:03 +0800
committerkwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09>2012-02-08 17:49:03 +0800
commit6d202e0008923abf129c2e04f204e2b8196b0a0b (patch)
tree78dadaa60ed68c7051c006a664257f25fd4710bd /x11-drivers
parent338e35abd53efaa53250ac55f2a8caa41c63f85d (diff)
downloadxorg-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')
-rw-r--r--x11-drivers/xf86-video-openchrome/Makefile27
-rw-r--r--x11-drivers/xf86-video-openchrome/distinfo2
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-configure11
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-src__via_vgahw.c32
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-src__via_video.c83
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-src_via_id.c10
-rw-r--r--x11-drivers/xf86-video-openchrome/pkg-descr3
-rw-r--r--x11-drivers/xf86-video-openchrome/pkg-plist11
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