summaryrefslogtreecommitdiff
path: root/extra/xf86-video-s3
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-04-05 00:01:23 +0000
committerroot <root@rshg054.dnsready.net>2012-04-05 00:01:23 +0000
commit608a49084f8c6599f8adef56b6c1480c3e293c04 (patch)
treeb385b78ccb9657030d632f662b68a495286e9a55 /extra/xf86-video-s3
parent96deddcec133f85220a15d4c435004c577395169 (diff)
Thu Apr 5 00:01:22 UTC 2012
Diffstat (limited to 'extra/xf86-video-s3')
-rw-r--r--extra/xf86-video-s3/PKGBUILD10
-rw-r--r--extra/xf86-video-s3/git-fixes.patch48
2 files changed, 51 insertions, 7 deletions
diff --git a/extra/xf86-video-s3/PKGBUILD b/extra/xf86-video-s3/PKGBUILD
index 15590e56c..613fd4831 100644
--- a/extra/xf86-video-s3/PKGBUILD
+++ b/extra/xf86-video-s3/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 153360 2012-03-12 20:54:02Z andyrtr $
+# $Id: PKGBUILD 155417 2012-04-03 11:24:01Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-s3
pkgver=0.6.3
-pkgrel=7
+pkgrel=8
pkgdesc="X.org S3 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel>=1.11.99.903')
-conflicts=('xorg-server<1.11.99.903')
+makedepends=('xorg-server-devel>=1.12.0')
+conflicts=('xorg-server<1.12.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
git-fixes.patch)
md5sums=('5eb06d88533fb327d067928faeb20860'
- '77a455ce7e254c73b1cbd408c7f4ecf4')
+ '8b3033b16ee826a9e0870dd80717eafd')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-video-s3/git-fixes.patch b/extra/xf86-video-s3/git-fixes.patch
index 712b3c9c0..d6792f38e 100644
--- a/extra/xf86-video-s3/git-fixes.patch
+++ b/extra/xf86-video-s3/git-fixes.patch
@@ -435,7 +435,7 @@ index 49b8a54..0875fc9 100644
S3PortPrivPtr portPrivate;
diff --git a/src/s3_driver.c b/src/s3_driver.c
-index 29e343d..4519b33 100644
+index 29e343d..2011dfc 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -309,6 +309,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
@@ -446,7 +446,15 @@ index 29e343d..4519b33 100644
rgb zeros = {0, 0, 0};
Gamma gzeros = {0.0, 0.0, 0.0};
int i, vgaCRIndex, vgaCRReg;
-@@ -436,7 +437,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+@@ -325,6 +326,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ return FALSE;
+
+ hwp = VGAHWPTR(pScrn);
++ vgaHWSetStdFuncs(hwp);
+ vgaHWGetIOBase(hwp);
+
+ pScrn->monitor = pScrn->confScreen->monitor;
+@@ -436,9 +438,19 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
}
if (xf86LoadSubModule(pScrn, "vbe")) {
@@ -455,4 +463,40 @@ index 29e343d..4519b33 100644
+ vbeFree(pVBE);
}
++ xf86LoadSubModule(pScrn, "fb");
++
++ if (!xf86LoadSubModule(pScrn, "xaa")) {
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
++ "Falling back to shadowfb\n");
++ pS3->NoAccel = TRUE;
++ pS3->shadowFB = TRUE;
++ }
++
if (pS3->shadowFB) {
+ if (!xf86LoadSubModule(pScrn, "shadowfb")) {
+ S3FreeRec(pScrn);
+@@ -726,11 +738,6 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ xf86PrintModes(pScrn);
+ xf86SetDpi(pScrn, 0, 0);
+
+- xf86LoadSubModule(pScrn, "fb");
+-
+- if (!xf86LoadSubModule(pScrn, "xaa"))
+- return FALSE;
+-
+ return TRUE;
+ }
+
+diff --git a/src/s3_video.c b/src/s3_video.c
+index 3e88889..9a2d458 100644
+--- a/src/s3_video.c
++++ b/src/s3_video.c
+@@ -244,6 +244,8 @@ static XF86VideoAdaptorPtr S3SetupImageVideoOverlay(ScreenPtr pScreen)
+ XF86VideoAdaptorPtr adapt;
+
+ adapt = S3AllocAdaptor(pScrn);
++ if (adapt == NULL)
++ return NULL;
+
+ adapt->type = XvWindowMask | XvInputMask | XvImageMask;
+ adapt->flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT;