[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-s3: Changes to 'debian-experimental'



 .gitignore       |   20 ++++++++++++++++++++
 autogen.sh       |   12 ++++++++++++
 configure.ac     |    2 +-
 debian/changelog |    5 +++--
 src/.cvsignore   |    6 ++++++
 src/Makefile.am  |   10 +++++++++-
 src/s3.h         |    6 +++---
 src/s3_accel.c   |    2 +-
 src/s3_reg.h     |    2 +-
 src/s3_video.c   |    2 ++
 10 files changed, 58 insertions(+), 9 deletions(-)

New commits:
commit 3d63b109daa620c9ed3abb9e54d72f9fa1a9eba8
Author: David Nusinow <dnusinow@debian.org>
Date:   Sun Feb 11 22:57:52 2007 -0500

    Note new upstream release 0.5.0 plus fixes from upstream git

diff --git a/debian/changelog b/debian/changelog
index ca16a1c..32ec646 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
-xserver-xorg-video-s3 (1:0.4.1-6) UNRELEASED; urgency=low
+xserver-xorg-video-s3 (1:0.5.0-1) UNRELEASED; urgency=low
 
   * Bump xserver ABI metadata to 1.1 for use with server 1.2
+  * New upstream release plus fixes from upstream
 
- -- David Nusinow <dnusinow@debian.org>  Sat, 10 Feb 2007 21:23:44 -0500
+ -- David Nusinow <dnusinow@debian.org>  Sun, 11 Feb 2007 22:57:23 -0500
 
 xserver-xorg-video-s3 (1:0.4.1-5) unstable; urgency=low
 

commit 9465c594e919bd2ac3e41ac96e72a432daf81fa7
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Tue Jan 9 19:33:45 2007 -0800

    Was previously done in monolith Imakefile as:
    SpecialCObjectRule(s3_video,$(_NOOP_), -DS3_NEWMMIO)
    
    Needed to get definitions of GET_PSTREAM_*, GET_SSTREAM_*, etc.

diff --git a/src/s3_video.c b/src/s3_video.c
index 77f4930..8189fdf 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -30,6 +30,8 @@ #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
+#define S3_NEWMMIO	/* previously defined in Imakefile in monolith */
+
 #include "xf86.h"
 #include "xf86_OSproc.h"
 

commit 3470935b099daed7ed2a31791267b9087672f3f7
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Tue Jan 9 19:30:36 2007 -0800

    renamed: .cvsignore -> .gitignore

diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index fb1befd..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1,19 +0,0 @@
-Makefile
-Makefile.in
-*.la
-*.lo
-aclocal.m4
-autom4te.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-stamp-h1
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2df4a8d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,20 @@
+Makefile
+Makefile.in
+*.la
+*.lo
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
+*~

commit 658f0fcdb9d6494c99dcb9bf61b8f8d3ba830618
Author: Alex Deucher <alex@t41p.(none)>
Date:   Mon Nov 27 14:20:10 2006 -0500

    bump version for release

diff --git a/configure.ac b/configure.ac
index ad77db3..c6f47b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.4.1,
+        0.5.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 
diff --git a/src/s3.h b/src/s3.h
index ac8d2f6..814b76b 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -164,10 +164,10 @@ #define S3PTR(p)		((S3Ptr)((p)->driverPr
 
 
 #define DRIVER_NAME     "s3"
-#define DRIVER_VERSION  "0.4.1"
+#define DRIVER_VERSION  "0.5.0"
 #define VERSION_MAJOR   0
-#define VERSION_MINOR   4
-#define PATCHLEVEL      1
+#define VERSION_MINOR   5
+#define PATCHLEVEL      0
 #define S3_VERSION     ((VERSION_MAJOR << 24) | \
                         (VERSION_MINOR << 16) | PATCHLEVEL)
 

commit d4ce4d3f91690a61511b2d13943e5d0073917377
Author: Evgeny M. Zubok <zoubok@mail.ru>
Date:   Sat Nov 25 23:35:28 2006 -0500

    full fix for older cards.

diff --git a/configure.ac b/configure.ac
index 1467286..ad77db3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,8 +62,6 @@ # Checks for libraries.
 # Checks for header files.
 AC_HEADER_STDC
 
-AC_DEFINE(S3_NEWMMIO, 1, [Enable support for the new MMIO])
-
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
diff --git a/src/Makefile.am b/src/Makefile.am
index cddf0cb..ddbb6f9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,7 +30,6 @@ s3_drv_ladir = @moduledir@/drivers
 
 s3_drv_la_SOURCES = \
          newmmio.h \
-         s3_accel.c \
          s3_bios.c \
          s3_cursor.c \
          s3_dga.c \
@@ -41,3 +40,12 @@ s3_drv_la_SOURCES = \
          s3_Ti.c \
          s3_Trio64DAC.c \
          s3_video.c
+
+noinst_LTLIBRARIES = libs3_accel_newmmio.la libs3_accel_pio.la
+s3_drv_la_LIBADD = libs3_accel_newmmio.la libs3_accel_pio.la
+
+libs3_accel_newmmio_la_SOURCES = s3_accel.c
+libs3_accel_newmmio_la_CFLAGS = $(AM_CFLAGS) -DS3_NEWMMIO=1
+
+libs3_accel_pio_la_SOURCES = s3_accel.c
+libs3_accel_pio_la_CFLAGS = $(AM_CFLAGS)

commit 1f2426bf8aad082f6f232d3b8c497acdd9892810
Author: Evgeny M. Zubok <zoubok@mail.ru>
Date:   Thu Nov 23 13:36:04 2006 -0500

    Make S3 driver work again.  Bug 7112.

diff --git a/configure.ac b/configure.ac
index ad77db3..1467286 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,8 @@ # Checks for libraries.
 # Checks for header files.
 AC_HEADER_STDC
 
+AC_DEFINE(S3_NEWMMIO, 1, [Enable support for the new MMIO])
+
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 

commit 921ff3112b0fa7ca95e9ef16d4ac980f86138594
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sat Apr 8 01:39:50 2006 +0000

    Bump to 0.4.1 for Xv changes.

diff --git a/ChangeLog b/ChangeLog
index 63fdd03..e9e18a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-07  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	* src/s3.h:
+	Bump to 0.4.1 for Xv changes.
+
 2006-04-07  Aaron Plattner  <aplattner@nvidia.com>
 
 	* src/s3_video.c: (S3PutImage):
diff --git a/configure.ac b/configure.ac
index fa1a734..ad77db3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.4.0,
+        0.4.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 
diff --git a/src/s3.h b/src/s3.h
index 1022e09..ac8d2f6 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -164,10 +164,10 @@ #define S3PTR(p)		((S3Ptr)((p)->driverPr
 
 
 #define DRIVER_NAME     "s3"
-#define DRIVER_VERSION  "0.4.0"
+#define DRIVER_VERSION  "0.4.1"
 #define VERSION_MAJOR   0
 #define VERSION_MINOR   4
-#define PATCHLEVEL      0
+#define PATCHLEVEL      1
 #define S3_VERSION     ((VERSION_MAJOR << 24) | \
                         (VERSION_MINOR << 16) | PATCHLEVEL)
 

commit 0dd4f7377699b4d31a0cf34cc95a0bc8ae9a9391
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Apr 7 23:11:42 2006 +0000

    Add a DrawablePtr argument to the XV functions to pave the way for
        redirected video.

diff --git a/ChangeLog b/ChangeLog
index f34f05e..63fdd03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-07  Aaron Plattner  <aplattner@nvidia.com>
+
+	* src/s3_video.c: (S3PutImage):
+	Add a DrawablePtr argument to the XV functions to pave the way for
+	redirected video.
+
 2006-04-07  Adam Jackson  <ajax@freedesktop.org>
 
 	* configure.ac:
diff --git a/src/s3_video.c b/src/s3_video.c
index 6581e67..77f4930 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -54,7 +54,7 @@ static void S3QueryBestSize(ScrnInfoPtr,
                             unsigned int *, unsigned int *, pointer);
 static int  S3PutImage(ScrnInfoPtr, short, short, short, short, short,
                        short, short, short, int, unsigned char*, short,
-                       short, Bool, RegionPtr, pointer);
+                       short, Bool, RegionPtr, pointer, DrawablePtr);
 static int  S3QueryImageAttributes(ScrnInfoPtr, int, unsigned short *,
                         	   unsigned short *,  int *, int *);
 static void S3ResetVideoOverlay(ScrnInfoPtr);
@@ -359,7 +359,7 @@ static int S3PutImage(ScrnInfoPtr pScrn,
 		  short drw_x, short drw_y, short src_w, short src_h,
 		  short drw_w, short drw_h, int id, unsigned char *buf,
 		  short width, short height, Bool sync, RegionPtr clipBoxes,
-		  pointer data)
+		  pointer data, DrawablePtr pDraw)
 {
 	S3Ptr pS3 = S3PTR(pScrn);
 	S3PortPrivPtr pPriv = pS3->portPrivate;

commit df44e7c257fdf15aa30c6b49d3a6116c01e396e4
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri Apr 7 19:51:30 2006 +0000

    Unlibcwrap. Bump server version requirement. Bump to 0.4.0.

diff --git a/ChangeLog b/ChangeLog
index 104027e..f34f05e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2006-04-07  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	* src/s3.h:
+	* src/s3_IBMRGB.c:
+	* src/s3_Ti.c:
+	* src/s3_Trio64DAC.c:
+	* src/s3_bios.c:
+	* src/s3_cursor.c:
+	* src/s3_dga.c:
+	* src/s3_driver.c:
+	* src/s3_video.c:
+	Unlibcwrap.  Bump server version requirement.  Bump to 0.4.0.
+
 2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index a9e0c6c..fa1a734 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5.5,
+        0.4.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 
@@ -54,7 +54,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.
diff --git a/src/s3.h b/src/s3.h
index 390f3de..1022e09 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -30,13 +30,14 @@
 #ifndef _S3_H
 #define _S3_H
 
+#include <string.h>
+
 #include "xf86.h"
 #include "xf86Pci.h"
 #include "xf86PciInfo.h"
 #include "xf86RamDac.h"
 #include "xaa.h"
 #include "vbe.h"
-#include "xf86_ansic.h"
 #include "vgaHW.h"
 
 
@@ -163,10 +164,10 @@ #define S3PTR(p)		((S3Ptr)((p)->driverPr
 
 
 #define DRIVER_NAME     "s3"
-#define DRIVER_VERSION  "0.3.5"
+#define DRIVER_VERSION  "0.4.0"
 #define VERSION_MAJOR   0
-#define VERSION_MINOR   3
-#define PATCHLEVEL      5
+#define VERSION_MINOR   4
+#define PATCHLEVEL      0
 #define S3_VERSION     ((VERSION_MAJOR << 24) | \
                         (VERSION_MINOR << 16) | PATCHLEVEL)
 
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 94012f4..f12d637 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "compiler.h"
 
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index 769be7e..98934bd 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "compiler.h"
 
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 83e4647..cb4de3a 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "compiler.h"
 
diff --git a/src/s3_bios.c b/src/s3_bios.c
index 781918f..5ef1eb3 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 #include "compiler.h"
 
 #include "s3.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index e6eac18..bc4a011 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "compiler.h"
 
diff --git a/src/s3_dga.c b/src/s3_dga.c
index f1c97d6..c36f2f4 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "dgaproc.h"
 
diff --git a/src/s3_driver.c b/src/s3_driver.c
index dff0433..924b073 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -42,7 +42,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 #include "xf86Pci.h"
 #include "xf86PciInfo.h"
 #include "xf86Version.h"
diff --git a/src/s3_video.c b/src/s3_video.c
index 3ca06ae..6581e67 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -32,7 +32,6 @@ #endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
-#include "xf86_ansic.h"
 
 #include "compiler.h"
 

commit 6adde374f8c1a1fd6573262d83e2810e5193c538
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Dec 21 02:30:01 2005 +0000

    Update package version for X11R7 release.

diff --git a/ChangeLog b/ChangeLog
index ecef2b3..104027e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version for X11R7 release.
+
 2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index a7242b9..a9e0c6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5.4,
+        0.3.5.5,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit c5d01fca0fb8c72dd69766eae41659bf4e6cb50e
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Dec 19 16:25:54 2005 +0000

    Stub COPYING files

diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..7f33cbf
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,12 @@
+This is a stub file.  This package has not yet had its complete licensing
+information compiled.  Please see the individual source files for details on
+your rights to use and modify this software.
+
+Please submit updated COPYING files to the Xorg bugzilla:
+
+https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All licensing questions regarding this software should be directed at the
+Xorg mailing list:
+
+http://lists.freedesktop.org/mailman/listinfo/xorg

commit 18c0c40ce5f8142db7b12835f3c4dadcbbd063d5
Author: Kevin E Martin <kem@kem.org>
Date:   Thu Dec 15 00:24:18 2005 +0000

    Update package version number for final X11R7 release candidate.

diff --git a/ChangeLog b/ChangeLog
index e56beeb..ecef2b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for final X11R7 release candidate.
+
 2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 5443ff3..a7242b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5.3,
+        0.3.5.4,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit d992241a8afda96025bae85fcc6d26132c5372ae
Author: Kevin E Martin <kem@kem.org>
Date:   Sat Dec 3 05:49:34 2005 +0000

    Update package version number for X11R7 RC3 release.

diff --git a/ChangeLog b/ChangeLog
index 749c638..e56beeb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for X11R7 RC3 release.
+
 2005-12-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index cc7db9c..5443ff3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5.2,
+        0.3.5.3,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit 8d185b334f89baccc9d1ba288c43099d420162bd
Author: Kevin E Martin <kem@kem.org>
Date:   Fri Dec 2 02:16:09 2005 +0000

    Remove extraneous AC_MSG_RESULT.

diff --git a/ChangeLog b/ChangeLog
index 1cc1dfb..749c638 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Remove extraneous AC_MSG_RESULT.
+
 2005-11-29  Adam Jackson  <ajax@freedesktop.org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index d8e0d35..cc7db9c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -55,7 +55,6 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xex
 
 # Checks for pkg-config packages
 PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
-AC_MSG_RESULT([yes])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.

commit a8e40603f6f12adc12c85c3f6e2e16df661381ab
Author: Adam Jackson <ajax@nwnk.net>
Date:   Tue Nov 29 23:30:02 2005 +0000

    Only build dlloader modules by default.

diff --git a/ChangeLog b/ChangeLog
index be8ef2c..1cc1dfb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-29  Adam Jackson  <ajax@freedesktop.org>
+
+	* configure.ac:
+	Only build dlloader modules by default.
+
 2005-11-09  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index ea2b2e0..d8e0d35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,7 @@ AM_INIT_AUTOMAKE([dist-bzip2])
 AM_MAINTAINER_MODE
 
 # Checks for programs.
+AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 AC_PROG_CC
 

commit be33c9a629feb4795006550e916cb1f27b4da69f
Author: Eric Anholt <anholt@freebsd.org>
Date:   Mon Nov 21 10:49:17 2005 +0000

    Add .cvsignores for drivers.

diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000..fb1befd
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,19 @@
+Makefile
+Makefile.in
+*.la
+*.lo
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
diff --git a/src/.cvsignore b/src/.cvsignore
new file mode 100644
index 0000000..9730646
--- /dev/null
+++ b/src/.cvsignore
@@ -0,0 +1,6 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*.la
+*.lo

commit 610b28959e0222e652c826aebae4de4bd08b60da
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Nov 9 21:15:20 2005 +0000

    Update package version number for X11R7 RC2 release.

diff --git a/ChangeLog b/ChangeLog
index e4d905b..be8ef2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-09  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update package version number for X11R7 RC2 release.
+
 2005-11-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index a0345f5..ea2b2e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5.1,
+        0.3.5.2,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit 74b42054bf14a29df6629b4f3b295dd4f1f448ed
Author: Kevin E Martin <kem@kem.org>
Date:   Tue Nov 1 15:08:54 2005 +0000

    Update pkgcheck depedencies to work with separate build roots.

diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e4d905b
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,4 @@
+2005-11-01  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+
+	* configure.ac:
+	Update pkgcheck dependencies to work with separate build roots.
diff --git a/configure.ac b/configure.ac
index 14774db..a0345f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,8 +45,16 @@ AC_ARG_WITH(xorg-module-dir,
                            [Default xorg module directory [[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])
+
+# Checks for extensions
+XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+XORG_DRIVER_CHECK_EXT(XV, videoproto)
+XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server xproto])
+PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+AC_MSG_RESULT([yes])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.

commit fe34c3a53ea040fb07de1edb0d0b5efba271c2ad
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Oct 19 02:48:04 2005 +0000

    Update package version number for RC1 release.

diff --git a/configure.ac b/configure.ac
index 4750520..14774db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.3.5,
+        0.3.5.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 

commit 8af9770f05b485d9016a2f46a65423075091bc9b
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date:   Mon Oct 17 00:09:04 2005 +0000

    Use sed & cpp to substitute variables in driver man pages

diff --git a/configure.ac b/configure.ac
index 0158144..4750520 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,10 @@ AC_HEADER_STDC
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
+DRIVER_NAME=s3
+AC_SUBST([DRIVER_NAME])
+
+XORG_MANPAGE_SECTIONS
 XORG_RELEASE_VERSION
 
 AC_OUTPUT([

commit 527b5f01b56106ee43e1fdfec34a8da4a9cd250f
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Thu Aug 18 09:03:48 2005 +0000

    Update autogen.sh to one that does objdir != srcdir.

diff --git a/autogen.sh b/autogen.sh
index e81f989..904cd67 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -10,4 +10,3 @@ autoreconf -v --install || exit 1
 cd $ORIGDIR || exit $?
 
 $srcdir/configure --enable-maintainer-mode "$@"
-

commit 1304f6f06236eac7fc8b1c426ee3c67c88a9e4e5
Author: Kevin E Martin <kem@kem.org>
Date:   Fri Jul 29 21:22:44 2005 +0000

    Various changes preparing packages for RC0:
    - Verify and update package version numbers as needed
    - Implement versioning scheme
    - Change bug address to point to bugzilla bug entry form
    - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
        reenable it)
    - Fix makedepend to use pkgconfig and pass distcheck
    - Update build script to build macros first
    - Update modular Xorg version

diff --git a/configure.ac b/configure.ac
index df92ee4..0158144 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,8 +22,8 @@ # Process this file with autoconf to pro
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-s3],
-        0.1.0,
-        [ajax@freedesktop.org],
+        0.3.5,
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-s3)
 
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -57,6 +57,8 @@ AC_HEADER_STDC
 AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
+XORG_RELEASE_VERSION
+
 AC_OUTPUT([
 	Makefile
 	src/Makefile

commit 7a4f0abfbb2d38e58b402d64c73c5e8b8f7ceed5
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date:   Tue Jul 26 18:46:49 2005 +0000

    Build system for s3

diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..16f4412
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,22 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..e81f989
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
+
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..df92ee4
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,63 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Process this file with autoconf to produce a configure script
+
+AC_PREREQ(2.57)
+AC_INIT([xf86-video-s3],
+        0.1.0,
+        [ajax@freedesktop.org],
+        xf86-video-s3)
+
+AC_CONFIG_SRCDIR([Makefile.am])
+AM_CONFIG_HEADER([config.h])
+AC_CONFIG_AUX_DIR(.)
+
+AM_INIT_AUTOMAKE([dist-bzip2])
+
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_LIBTOOL
+AC_PROG_CC
+
+AH_TOP([#include "xorg-server.h"])
+
+AC_ARG_WITH(xorg-module-dir,
+            AC_HELP_STRING([--with-xorg-module-dir=DIR],
+                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+            [moduledir="$withval"],
+            [moduledir="$libdir/xorg/modules"])
+# Checks for pkg-config packages
+PKG_CHECK_MODULES(XORG, [xorg-server xproto])
+sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_HEADER_STDC
+
+AC_SUBST([XORG_CFLAGS])
+AC_SUBST([moduledir])
+
+AC_OUTPUT([
+	Makefile
+	src/Makefile
+])
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..cddf0cb
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,43 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+# this is obnoxious:
+# -module lets us name the module exactly how we want
+# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
+# _ladir passes a dummy rpath to libtool so the thing will actually link
+# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
+AM_CFLAGS = @XORG_CFLAGS@
+s3_drv_la_LTLIBRARIES = s3_drv.la
+s3_drv_la_LDFLAGS = -module -avoid-version
+s3_drv_ladir = @moduledir@/drivers
+
+s3_drv_la_SOURCES = \
+         newmmio.h \
+         s3_accel.c \
+         s3_bios.c \
+         s3_cursor.c \
+         s3_dga.c \
+         s3_driver.c \
+         s3.h \
+         s3_IBMRGB.c \
+         s3_reg.h \
+         s3_Ti.c \
+         s3_Trio64DAC.c \
+         s3_video.c

commit f53881d942bcd463127d2e5bef18e6e422d361c4
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Jul 11 02:29:58 2005 +0000

    Prep for modular builds by adding guarded #include "config.h" everywhere.

diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 88045e2..94012f4 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,8 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.4 2002/12/11 17:30:48 dawes Exp $ */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index f02a6b1..769be7e 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.4 2001/10/28 03:33:44 tsi Exp $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 4142c1e..83e4647 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.6 2003/07/04 16:24:28 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.7tsi Exp $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -180,7 +184,7 @@ #define BASE_FREQ	14.31818
 		ffreq = ffreq_min / (1<<max_n2);
 	}
 	if (ffreq > ffreq_max / (1<<min_n2)) {
-		ErrorF("invalid frequency %1.3F Mhz [freq <= %1.3f Mhz]\n",
+		ErrorF("invalid frequency %1.3f Mhz [freq <= %1.3f Mhz]\n",
 			ffreq*BASE_FREQ, ffreq_max*BASE_FREQ/(1<<min_n2));
 		ffreq = ffreq_max / (1<<min_n2);
 	}
@@ -220,7 +224,6 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 		  unsigned char n)
 {
 	unsigned char tmp;
-	int index2;
 
 	if (clk < 2) {
 		tmp = inb(0x3cc);
@@ -244,7 +247,6 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 			outb(0x3c5, tmp | 0x22);
 			outb(0x3c5, tmp | 0x02);
 		} else {
-			index2 = 0x10;
 			outb(0x3c4, 0x10);
 			outb(0x3c5, n);
 			outb(0x3c4, 0x11);
@@ -282,7 +284,7 @@ static void S3TrioSetClock(ScrnInfoPtr p
 void S3Trio64DAC_PreInit(ScrnInfoPtr pScrn)
 {
 	S3Ptr pS3 = S3PTR(pScrn);
-	unsigned char SR8, SR27, SR28;
+	unsigned char SR8, SR27;
 	int m, n, n1, n2, mclk;
 
 	outb(0x3c4, 0x08);
@@ -302,7 +304,7 @@ void S3Trio64DAC_PreInit(ScrnInfoPtr pSc
 		outb(0x3c4, 0x27);
 		SR27 = inb(0x3c5);
 		outb(0x3c4, 0x28);
-		SR28 = inb(0x3c5);
+		(void) inb(0x3c5);
 		mclk /= ((SR27 >> 2) & 0x03) + 1;
 	}
 	pS3->mclk = mclk;
diff --git a/src/s3_accel.c b/src/s3_accel.c
index cd77330..af94816 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -27,6 +27,9 @@
 /* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2004/04/23 19:43:14 eich Exp $ */
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 
diff --git a/src/s3_bios.c b/src/s3_bios.c
index b194a11..781918f 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.2 2001/07/11 07:45:35 alanh Exp $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 7a098a1..e6eac18 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index a8e6560..f1c97d6 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 1049aa7..dff0433 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -36,6 +36,9 @@
  */
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_video.c b/src/s3_video.c
index 4736d59..3ca06ae 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,11 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.3 2003/04/23 21:51:42 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.4tsi Exp $ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -242,7 +246,7 @@ static XF86VideoAdaptorPtr S3SetupImageV
     	adapt->QueryImageAttributes = S3QueryImageAttributes;
  
     	/* gotta uninit this someplace */
-    	REGION_INIT(pScreen, &(pS3->portPrivate->clip), NullBox, 0);
+	REGION_NULL(pScreen, &(pS3->portPrivate->clip));
        
     	S3ResetVideoOverlay(pScrn);
        
@@ -367,8 +371,6 @@ static int S3PutImage(ScrnInfoPtr pScrn,
    	int top, left, npixels, nlines;
    	BoxRec dstBox;
    	CARD32 tmp;
-   	static int once = 1;
-   	static int once2 = 1;
 
    /* Clip */
    x1 = src_x;
@@ -438,7 +440,6 @@ static int S3PutImage(ScrnInfoPtr pScrn,
         xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1),
                                 buf + offset2, buf + offset3, dst_start,
                                 srcPitch, srcPitch2, dstPitch, nlines, npixels);
-        once2 = 0;
         break; 
     case FOURCC_UYVY:
     case FOURCC_YUY2:
@@ -446,7 +447,6 @@ static int S3PutImage(ScrnInfoPtr pScrn,
         buf += (top * srcPitch) + left;
         nlines = ((y2 + 0xffff) >> 16) - top;
         xf86XVCopyPacked(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
-        once = 0;
         break;
     }
         

commit b826671f9e2dc702ab8537deb33f51fa7ede9c57
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Jul 1 22:43:12 2005 +0000

    Change all misc.h and os.h references to <X11/foo.h>.

diff --git a/src/s3_accel.c b/src/s3_accel.c
index 8c3ceac..cd77330 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,6 +24,7 @@
  *
  *
  */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2004/04/23 19:43:14 eich Exp $ */
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
 
 
@@ -310,7 +311,7 @@ #endif
 	int error, e1, e2;
 
 	error = minor + err;
-	e1 = major;
+	e1 = minor;   /* was: major, wrong (twini@xfree86.org) */
 	e2 = minor - major;
 
 	if (major) {

commit 807527511814ff314c16d3c611d58a10d21c3369
Author: Adam Jackson <ajax@nwnk.net>
Date:   Sat Jun 25 21:16:55 2005 +0000

    Bug #3626: _X_EXPORT tags for video and input drivers.

diff --git a/src/s3_driver.c b/src/s3_driver.c
index abd720e..1049aa7 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -114,7 +114,7 @@ static void S3DisplayPowerManagementSet(
 
 
 
-DriverRec S3 =
+_X_EXPORT DriverRec S3 =
 {
 	S3_VERSION,
 	DRIVER_NAME,
@@ -255,7 +255,7 @@ static XF86ModuleVersionInfo S3VersRec =
 };
 
 
-XF86ModuleData s3ModuleData = { &S3VersRec, S3Setup, NULL };
+_X_EXPORT XF86ModuleData s3ModuleData = { &S3VersRec, S3Setup, NULL };
 
 pointer S3Setup (pointer module, pointer opts, int *errmaj, int *errmin)
 {

commit 74df74c1f8b49e71e495af5ccad77600fd783f23
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Wed Apr 20 12:25:29 2005 +0000

    Fix includes right throughout the Xserver tree:
    change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
    change "foo.h", "extensions/foo.h" and "X11/foo.h" to
        <X11/extensions/foo.h> for extension headers, e.g. Xv.h;
    change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.

diff --git a/src/newmmio.h b/src/newmmio.h
index 15e7f3c..3da3959 100644
--- a/src/newmmio.h
+++ b/src/newmmio.h
@@ -9,7 +9,7 @@
 #ifndef _NEWMMIO_H_
 #define _NEWMMIO_H_
 
-#include <Xmd.h>
+#include <X11/Xmd.h>
 
 
 #define int16	CARD16
diff --git a/src/s3.h b/src/s3.h
index 6a50c72..390f3de 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -41,7 +41,7 @@ #include "vgaHW.h"
 
 
 #include "xf86xv.h"
-#include "Xv.h"
+#include <X11/extensions/Xv.h>
 #include "fourcc.h"
 
 

commit 0147cb45138ccd06477dc7f973ae20c1405f2bf5
Author: Alex Deucher <agd5f@yahoo.com>
Date:   Sun Oct 17 20:29:32 2004 +0000

    - Add interlaced support to S3 driver (bug 332, Leo Savernik)
    - EmulateWheelTimeout (bug 323, Mathias Fröhlich)
    - single button double-click (bug 322, Rob Brown)

diff --git a/src/s3_driver.c b/src/s3_driver.c
index b5f537d..abd720e 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -699,7 +699,7 @@ #endif
 	clockRanges->minClock = 15600;
 	clockRanges->maxClock = pS3->MaxClock;
 	clockRanges->clockIndex = -1;
-	clockRanges->interlaceAllowed = FALSE;	/* not yet */
+	clockRanges->interlaceAllowed = TRUE;	/* not yet */
 	clockRanges->doubleScanAllowed = TRUE;	/* not yet */
 	
         i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
@@ -1076,6 +1076,7 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
         vgaRegPtr pVga = &hwp->ModeReg;
         int vgaCRIndex = pS3->vgaCRIndex, vgaCRReg = pS3->vgaCRReg;
 	int vgaIOBase = hwp->IOBase;
+	int interlacedived = mode->Flags & V_INTERLACE ? 1 : 0;
 	int r, n, m;
 	unsigned char tmp;
 
@@ -1109,6 +1110,15 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
 		}
 	}
 
+	/* This shouldn't be needed -- they should be set by vgaHWInit() */
+	if (!mode->CrtcVAdjusted) {
+		mode->CrtcVTotal >>= interlacedived;
+		mode->CrtcVDisplay >>= interlacedived;
+		mode->CrtcVSyncStart >>= interlacedived;
+		mode->CrtcVSyncEnd >>= interlacedived;
+		mode->CrtcVAdjusted = TRUE;
+	}
+
         if (!vgaHWInit(pScrn, mode))
                 return FALSE;
 
@@ -1387,9 +1397,15 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
 		outb(vgaCRReg, new->cr62);
 	}
 
-	outb(vgaCRIndex, 0x42);
-	new->cr42 = inb(vgaCRReg) & ~0x20;
-	outb(vgaCRReg, new->cr42);
+	if (mode->Flags & V_INTERLACE) {
+		outb(vgaCRIndex, 0x42);
+		new->cr42 = inb(vgaCRReg) | 0x20;
+		outb(vgaCRReg, new->cr42);
+	} else {
+		outb(vgaCRIndex, 0x42);
+		new->cr42 = inb(vgaCRReg) & ~0x20;
+		outb(vgaCRReg, new->cr42);
+	}
 
 	if (pS3->Chipset == PCI_CHIP_968) {
 		unsigned char a;

commit b66a0081cec6427604758371907ac6c7dca532a3
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri Sep 17 03:04:53 2004 +0000

    Bug #1192: Remove cfb support from drivers where its use is an option.
        Delete xf24_32bpp, as s3virge was the last user. Fix up some comments
        to refer to fb rather than cfb.

diff --git a/src/s3.h b/src/s3.h
index 42b949c..6a50c72 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.17 2003/07/04 16:24:28 eich Exp $ */
 
 
 #ifndef _S3_H
@@ -45,15 +45,6 @@ #include "Xv.h"
 #include "fourcc.h"
 
 
-#ifndef S3_USEFB
-#define PSZ 8
-#include "cfb.h"
-#undef PSZ
-#include "cfb16.h"
-#include "cfb24.h"
-#include "cfb32.h"
-#endif
-
 typedef struct _S3RegRec {
 	unsigned char	cr31, cr32, cr33, cr34, cr3a, cr3b, cr3c;
 	unsigned char	cr3b2, cr3c2;
diff --git a/src/s3_driver.c b/src/s3_driver.c
index ea8f0c2..b5f537d 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -176,23 +176,11 @@ RamDacSupportedInfoRec S3IBMRamdacs[] = 
 	{ -1 }
 };
 
-#define S3_USEFB
-
-#ifdef S3_USEFB
 static const char *fbSymbols[] = {
     "fbPictureInit",
     "fbScreenInit",
     NULL
 };
-#else
-static const char *cfbSymbols[] = {
-	"cfbScreenInit",
-	"cfb16ScreenInit",
-	"cfb24ScreenInit",
-	"cfb32ScreenInit",
-	NULL
-};
-#endif
 
 static const char *vgaHWSymbols[] = {
         "vgaHWGetHWRec",
@@ -278,11 +266,7 @@ pointer S3Setup (pointer module, pointer
                 xf86AddDriver(&S3, module, 0);
                 LoaderRefSymLists(vgaHWSymbols,
 				  vbeSymbols, int10Symbols, ramdacSymbols,
-#ifdef S3_USEFB
 				  fbSymbols,
-#else
-				  cfbSymbols,
-#endif
 				  xaaSymbols,
 				  NULL);
                 return (pointer) 1;
@@ -746,31 +730,8 @@ #endif
         xf86PrintModes(pScrn);
         xf86SetDpi(pScrn, 0, 0);
  
-#ifdef S3_USEFB
         xf86LoadSubModule(pScrn, "fb");
         xf86LoaderReqSymLists(fbSymbols, NULL);
-#else
-	{
-		switch (pScrn->bitsPerPixel) {
-		case 8:
-		        xf86LoadSubModule(pScrn, "cfb");
-	     		xf86LoaderReqSymbols("cfbScreenInit", NULL);
-			break;
-		case 16:
-		        xf86LoadSubModule(pScrn, "cfb16");
-	     		xf86LoaderReqSymbols("cfb16ScreenInit", NULL);
-			break;
-		case 24:
-		        xf86LoadSubModule(pScrn, "cfb24");
-	     		xf86LoaderReqSymbols("cfb24ScreenInit", NULL);
-			break;
-		case 32:
-		        xf86LoadSubModule(pScrn, "cfb32");
-	     		xf86LoaderReqSymbols("cfb32ScreenInit", NULL);
-			break;
-		}
-	}
-#endif
 
 	if (!xf86LoadSubModule(pScrn, "xaa"))
 		return FALSE;
@@ -819,45 +780,10 @@ #endif
         
         miSetPixmapDepths ();
 
-#ifdef S3_USEFB
         if (!fbScreenInit(pScreen, pS3->FBBase, pScrn->virtualX,
                           pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
                           pScrn->displayWidth, pScrn->bitsPerPixel))
                 return FALSE;
-#else
-	{
-		int ret;
-
-		switch(pScrn->bitsPerPixel) {
-		case 8:
-			ret = cfbScreenInit(pScreen, pS3->FBBase,
-				pScrn->virtualX, pScrn->virtualY,
-				pScrn->xDpi, pScrn->yDpi,
-				pScrn->displayWidth);
-			break;
-		case 16:
-			ret = cfb16ScreenInit(pScreen, pS3->FBBase,
-				pScrn->virtualX, pScrn->virtualY,
-				pScrn->xDpi, pScrn->yDpi,
-				pScrn->displayWidth);
-			break;
-		case 24:
-			ret = cfb24ScreenInit(pScreen, pS3->FBBase,
-				pScrn->virtualX, pScrn->virtualY,
-				pScrn->xDpi, pScrn->yDpi,
-				pScrn->displayWidth);
-			break;
-		case 32:
-			ret = cfb32ScreenInit(pScreen, pS3->FBBase,
-				pScrn->virtualX, pScrn->virtualY,
-				pScrn->xDpi, pScrn->yDpi,
-				pScrn->displayWidth);
-			break;
-		}
-		if (!ret)
-			return FALSE;
-	}
-#endif
         
         xf86SetBlackWhitePixels(pScreen);
                         
@@ -876,9 +802,7 @@ #endif
                         }
                 } 
         }
-#ifdef S3_USEFB
 	fbPictureInit (pScreen, 0, 0);
-#endif
 	S3DGAInit(pScreen);
 
         miInitializeBackingStore(pScreen);

commit 73537025414eb20771ee2337cf60016daafc0fc9
Author: Adam Jackson <ajax@nwnk.net>
Date:   Mon Aug 16 09:13:14 2004 +0000

    Bug #1087: Make sure all the *Weak symbols are documented in the import
        list, so the loader knows not to complain about unresolved symbols when
        an optional module isn't loaded. This typically manifests as warnings
        about fbdevHW symbols when the user isn't using the framebuffer
        console.

diff --git a/src/s3_driver.c b/src/s3_driver.c
index 37d5b8a..ea8f0c2 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -236,7 +236,7 @@ static const char *ramdacSymbols[] = {
 	"RamDacGetHWIndex",
 	"IBMramdacProbe",
 	"IBMramdac526CalculateMNPCForClock",
-	"IBMramdac526SetBpp",
+	"IBMramdac526SetBppWeak",
 	NULL
 };
 

commit c431a14b6be0d9071b0fc95121260b33ab598f75
Author: Adam Jackson <ajax@nwnk.net>
Date:   Tue Aug 3 02:44:21 2004 +0000

    Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so
        DoLoadableServer NO builds work again.

diff --git a/src/s3_driver.c b/src/s3_driver.c
index 810a313..37d5b8a 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -662,7 +662,7 @@ #endif
 		pS3->DacSave = S3IBMRGB_Save;
 		pS3->DacRestore = S3IBMRGB_Restore;
 		pS3->CursorInit = S3IBMRGB_CursorInit;
-		pS3->RamDac->SetBpp = LoaderSymbol("IBMramdac526SetBpp");
+		pS3->RamDac->SetBpp = IBMramdac526SetBppWeak();
 		pS3->MaxClock = 170000;
 		pScrn->rgbBits = 8;
 		pS3->LoadPalette = S3GenericLoadPalette;

commit d5c13acdc525296f3dd7b7fc99737be2423c1a01
Author: Adam Jackson <ajax@nwnk.net>
Date:   Fri Jul 30 20:30:54 2004 +0000

    Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
        framebuffer formats except cfb and the overlay modes should work, and
        r128 and radeon need to be loaded from the ati driver (both issues to
        be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
        drivers. elfloader users shouldn't be affected.

diff --git a/src/s3_driver.c b/src/s3_driver.c
index 6cbff56..810a313 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.18 2003/08/25 18:44:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
 
 
 #include "xf86.h"
@@ -171,6 +171,8 @@ static OptionInfoRec S3Options[] = {
 RamDacSupportedInfoRec S3IBMRamdacs[] = {
 	{ IBM524_RAMDAC },
 	{ IBM524A_RAMDAC },
+	{ IBM526_RAMDAC },
+	{ IBM526DB_RAMDAC },
 	{ -1 }
 };
 
@@ -256,7 +258,7 @@ static XF86ModuleVersionInfo S3VersRec =
         MODULEVENDORSTRING,
         MODINFOSTRING1,
         MODINFOSTRING2,
-        XF86_VERSION_CURRENT,
+        XORG_VERSION_CURRENT,
         VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL,
         ABI_CLASS_VIDEODRV,
         ABI_VIDEODRV_VERSION,
@@ -544,13 +546,16 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	}
 
 	pS3->FBAddress = pS3->PciInfo->memBase[0];
+	pScrn->memPhysBase = pS3->FBAddress;
+	pScrn->fbOffset = 0;
+	
 	if (pS3->S3NewMMIO)
 		pS3->IOAddress = pS3->FBAddress + S3_NEWMMIO_REGBASE;
 
-	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%x\n",
+	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
 		   pS3->FBAddress);
 	if (pS3->S3NewMMIO)
-		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%x\n",
+		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%lx\n",
 			   pS3->IOAddress);
 
 	pS3->PCIRetry = FALSE;		/* not supported yet */
@@ -657,7 +662,7 @@ #endif
 		pS3->DacSave = S3IBMRGB_Save;
 		pS3->DacRestore = S3IBMRGB_Restore;
 		pS3->CursorInit = S3IBMRGB_CursorInit;
-		pS3->RamDac->SetBpp = IBMramdac526SetBpp;
+		pS3->RamDac->SetBpp = LoaderSymbol("IBMramdac526SetBpp");
 		pS3->MaxClock = 170000;
 		pScrn->rgbBits = 8;
 		pS3->LoadPalette = S3GenericLoadPalette;
@@ -953,15 +958,10 @@ static void S3Save(ScrnInfoPtr pScrn)
 	S3RegPtr save = &pS3->SavedRegs;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
         vgaRegPtr pVga = &hwp->SavedReg;
-	RamDacHWRecPtr pRAMDAC;
-	RamDacRegRecPtr RAMDACreg;
 	int vgaCRIndex = pS3->vgaCRIndex, vgaCRReg = pS3->vgaCRReg;
 	int i;
 	unsigned char cr5c = 0;
 
-	pRAMDAC = RAMDACHWPTR(pScrn);
-	RAMDACreg = &pRAMDAC->SavedReg;
-
 	S3BankZero(pScrn);
 
 	save->clock = inb(0x3cc);

commit 1c466ae7996c3b3e7d3dba87458a056452bd3601
Author: Eric Anholt <anholt@freebsd.org>
Date:   Wed Jun 16 09:23:31 2004 +0000

    DRI XFree86-4_3_99_12-merge import

diff --git a/src/s3.h b/src/s3.h
index 1451c64..42b949c 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.17 2003/07/04 16:24:28 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 6aa7a1a..88045e2 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.4 2002/12/11 17:30:48 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index a1ef24a..f02a6b1 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.4 2001/10/28 03:33:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index df99512..4142c1e 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.7tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.6 2003/07/04 16:24:28 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -180,7 +180,7 @@ #define BASE_FREQ	14.31818
 		ffreq = ffreq_min / (1<<max_n2);
 	}
 	if (ffreq > ffreq_max / (1<<min_n2)) {
-		ErrorF("invalid frequency %1.3f Mhz [freq <= %1.3f Mhz]\n",
+		ErrorF("invalid frequency %1.3F Mhz [freq <= %1.3f Mhz]\n",
 			ffreq*BASE_FREQ, ffreq_max*BASE_FREQ/(1<<min_n2));
 		ffreq = ffreq_max / (1<<min_n2);
 	}
@@ -220,6 +220,7 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 		  unsigned char n)
 {
 	unsigned char tmp;
+	int index2;
 
 	if (clk < 2) {
 		tmp = inb(0x3cc);
@@ -243,6 +244,7 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 			outb(0x3c5, tmp | 0x22);
 			outb(0x3c5, tmp | 0x02);
 		} else {
+			index2 = 0x10;
 			outb(0x3c4, 0x10);
 			outb(0x3c5, n);
 			outb(0x3c4, 0x11);
@@ -280,7 +282,7 @@ static void S3TrioSetClock(ScrnInfoPtr p
 void S3Trio64DAC_PreInit(ScrnInfoPtr pScrn)
 {
 	S3Ptr pS3 = S3PTR(pScrn);
-	unsigned char SR8, SR27;
+	unsigned char SR8, SR27, SR28;
 	int m, n, n1, n2, mclk;
 
 	outb(0x3c4, 0x08);
@@ -300,7 +302,7 @@ void S3Trio64DAC_PreInit(ScrnInfoPtr pSc
 		outb(0x3c4, 0x27);
 		SR27 = inb(0x3c5);
 		outb(0x3c4, 0x28);
-		(void) inb(0x3c5);
+		SR28 = inb(0x3c5);
 		mclk /= ((SR27 >> 2) & 0x03) + 1;
 	}
 	pS3->mclk = mclk;
diff --git a/src/s3_accel.c b/src/s3_accel.c
index 3641eaa..8c3ceac 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,6 @@
  *
  *
  */
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
 
 
@@ -311,7 +310,7 @@ #endif
 	int error, e1, e2;
 
 	error = minor + err;
-	e1 = minor;   /* was: major, wrong (twini@xfree86.org) */
+	e1 = major;
 	e2 = minor - major;
 
 	if (major) {
diff --git a/src/s3_bios.c b/src/s3_bios.c
index 647ffaa..b194a11 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.2 2001/07/11 07:45:35 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 64a52f1..7a098a1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index 32f2ec3..a8e6560 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 2649e66..6cbff56 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.18 2003/08/25 18:44:36 eich Exp $ */
 
 
 #include "xf86.h"
@@ -171,8 +171,6 @@ static OptionInfoRec S3Options[] = {
 RamDacSupportedInfoRec S3IBMRamdacs[] = {
 	{ IBM524_RAMDAC },
 	{ IBM524A_RAMDAC },
-	{ IBM526_RAMDAC },
-	{ IBM526DB_RAMDAC },
 	{ -1 }
 };
 
@@ -258,7 +256,7 @@ static XF86ModuleVersionInfo S3VersRec =
         MODULEVENDORSTRING,
         MODINFOSTRING1,
         MODINFOSTRING2,
-        XORG_VERSION_CURRENT,
+        XF86_VERSION_CURRENT,
         VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL,
         ABI_CLASS_VIDEODRV,
         ABI_VIDEODRV_VERSION,
@@ -546,16 +544,13 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	}
 
 	pS3->FBAddress = pS3->PciInfo->memBase[0];
-	pScrn->memPhysBase = pS3->FBAddress;
-	pScrn->fbOffset = 0;
-	
 	if (pS3->S3NewMMIO)
 		pS3->IOAddress = pS3->FBAddress + S3_NEWMMIO_REGBASE;
 
-	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
+	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%x\n",
 		   pS3->FBAddress);
 	if (pS3->S3NewMMIO)
-		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%lx\n",
+		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%x\n",
 			   pS3->IOAddress);
 
 	pS3->PCIRetry = FALSE;		/* not supported yet */
@@ -958,10 +953,15 @@ static void S3Save(ScrnInfoPtr pScrn)
 	S3RegPtr save = &pS3->SavedRegs;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
         vgaRegPtr pVga = &hwp->SavedReg;
+	RamDacHWRecPtr pRAMDAC;
+	RamDacRegRecPtr RAMDACreg;
 	int vgaCRIndex = pS3->vgaCRIndex, vgaCRReg = pS3->vgaCRReg;
 	int i;
 	unsigned char cr5c = 0;
 
+	pRAMDAC = RAMDACHWPTR(pScrn);
+	RAMDACreg = &pRAMDAC->SavedReg;
+
 	S3BankZero(pScrn);
 
 	save->clock = inb(0x3cc);
diff --git a/src/s3_reg.h b/src/s3_reg.h
index b3519c0..63646d9 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index d250a46..4736d59 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.4tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.3 2003/04/23 21:51:42 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -242,7 +242,7 @@ static XF86VideoAdaptorPtr S3SetupImageV
     	adapt->QueryImageAttributes = S3QueryImageAttributes;
  
     	/* gotta uninit this someplace */
-	REGION_NULL(pScreen, &(pS3->portPrivate->clip));
+    	REGION_INIT(pScreen, &(pS3->portPrivate->clip), NullBox, 0);
        
     	S3ResetVideoOverlay(pScrn);
        
@@ -367,6 +367,8 @@ static int S3PutImage(ScrnInfoPtr pScrn,
    	int top, left, npixels, nlines;
    	BoxRec dstBox;
    	CARD32 tmp;
+   	static int once = 1;
+   	static int once2 = 1;
 
    /* Clip */
    x1 = src_x;
@@ -436,6 +438,7 @@ static int S3PutImage(ScrnInfoPtr pScrn,
         xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1),
                                 buf + offset2, buf + offset3, dst_start,
                                 srcPitch, srcPitch2, dstPitch, nlines, npixels);
+        once2 = 0;
         break; 
     case FOURCC_UYVY:
     case FOURCC_YUY2:
@@ -443,6 +446,7 @@ static int S3PutImage(ScrnInfoPtr pScrn,
         buf += (top * srcPitch) + left;
         nlines = ((y2 + 0xffff) >> 16) - top;
         xf86XVCopyPacked(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
+        once = 0;
         break;
     }
         

commit b1069acf6e9345c44f2a3cf7378590162e947042
Author: Egbert Eich <eich@suse.de>
Date:   Wed May 26 16:24:09 2004 +0000

    Fixing setting of physical framebuffer base for several drivers. C&T
        driver: Fixed setting of minimal clocks for HiQV chipsets. Neomagic
        driver: improved support for lowres double scan modes.

diff --git a/src/s3_driver.c b/src/s3_driver.c
index e8f0f3e..2649e66 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -546,6 +546,9 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	}
 
 	pS3->FBAddress = pS3->PciInfo->memBase[0];
+	pScrn->memPhysBase = pS3->FBAddress;
+	pScrn->fbOffset = 0;
+	
 	if (pS3->S3NewMMIO)
 		pS3->IOAddress = pS3->FBAddress + S3_NEWMMIO_REGBASE;
 

commit 143b16b20caba7c6f61784752b2ce766441ce170
Author: Egbert Eich <eich@suse.de>
Date:   Fri Apr 23 19:43:14 2004 +0000

    Merging XORG-CURRENT into trunk

diff --git a/src/s3.h b/src/s3.h
index 42b949c..1451c64 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.17 2003/07/04 16:24:28 eich Exp $ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 88045e2..6aa7a1a 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.4 2002/12/11 17:30:48 dawes Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index f02a6b1..a1ef24a 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.4 2001/10/28 03:33:44 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 07b88c3..df99512 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.7tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_accel.c b/src/s3_accel.c
index 493ef62..3641eaa 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,8 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_bios.c b/src/s3_bios.c
index b194a11..647ffaa 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.2 2001/07/11 07:45:35 alanh Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 7a098a1..64a52f1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index a8e6560..32f2ec3 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 8ec99f5..e8f0f3e 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
 
 
 #include "xf86.h"
@@ -171,6 +171,8 @@ static OptionInfoRec S3Options[] = {
 RamDacSupportedInfoRec S3IBMRamdacs[] = {
 	{ IBM524_RAMDAC },
 	{ IBM524A_RAMDAC },
+	{ IBM526_RAMDAC },
+	{ IBM526DB_RAMDAC },
 	{ -1 }
 };
 
@@ -256,7 +258,7 @@ static XF86ModuleVersionInfo S3VersRec =
         MODULEVENDORSTRING,
         MODINFOSTRING1,
         MODINFOSTRING2,
-        XF86_VERSION_CURRENT,
+        XORG_VERSION_CURRENT,
         VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL,
         ABI_CLASS_VIDEODRV,
         ABI_VIDEODRV_VERSION,
diff --git a/src/s3_reg.h b/src/s3_reg.h
index 63646d9..b3519c0 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: $ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index 2272002..d250a46 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.4tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit c690296c3a9ea42e3beb8b97b2fe4654b5f0b7f7
Author: Egbert Eich <eich@suse.de>
Date:   Sun Mar 14 08:33:31 2004 +0000

    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004

diff --git a/src/s3.h b/src/s3.h
index 1451c64..42b949c 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.17 2003/07/04 16:24:28 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 6aa7a1a..88045e2 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.4 2002/12/11 17:30:48 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index a1ef24a..f02a6b1 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.4 2001/10/28 03:33:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index df99512..07b88c3 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.7tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_accel.c b/src/s3_accel.c
index ad4e64b..493ef62 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_bios.c b/src/s3_bios.c
index 647ffaa..b194a11 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.2 2001/07/11 07:45:35 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 64a52f1..7a098a1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index 32f2ec3..a8e6560 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 4786d1b..8ec99f5 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_reg.h b/src/s3_reg.h
index b3519c0..63646d9 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index d250a46..2272002 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.4tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit 55979da7b2d78bc8a2e85d0544d49801640e2617
Author: Egbert Eich <eich@suse.de>
Date:   Wed Mar 3 12:12:23 2004 +0000

    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004

diff --git a/src/s3.h b/src/s3.h
index 42b949c..1451c64 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.17 2003/07/04 16:24:28 eich Exp $ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 88045e2..6aa7a1a 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.4 2002/12/11 17:30:48 dawes Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index f02a6b1..a1ef24a 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.4 2001/10/28 03:33:44 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 07b88c3..df99512 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.7tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_accel.c b/src/s3_accel.c
index 493ef62..ad4e64b 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_bios.c b/src/s3_bios.c
index b194a11..647ffaa 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.2 2001/07/11 07:45:35 alanh Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 7a098a1..64a52f1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86: $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index a8e6560..32f2ec3 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 8ec99f5..4786d1b 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.19tsi Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_reg.h b/src/s3_reg.h
index 63646d9..b3519c0 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: $ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index 2272002..d250a46 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.4tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit 05d3ef930b8b6dfde1eb4a272ad97e44625d9faf
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 13:35:54 2004 +0000

    readding XFree86's cvs IDs

diff --git a/src/s3.h b/src/s3.h
index 372b3c3..42b949c 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index cb8921f..88045e2 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index c31e638..f02a6b1 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 4c4edb9..07b88c3 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_accel.c b/src/s3_accel.c
index 3b3623c..493ef62 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_bios.c b/src/s3_bios.c
index f51c721..b194a11 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 8251463..7a098a1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index 8b6640a..a8e6560 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index b1f1e5f..8ec99f5 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
 
 
 #include "xf86.h"
diff --git a/src/s3_reg.h b/src/s3_reg.h
index 2546d20..63646d9 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index 3fdea30..2272002 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86$ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit ce44f2000de918df33fa355aaccf3f4aaa82762c
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 09:23:23 2004 +0000

    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004

diff --git a/src/s3.h b/src/s3.h
index 42b949c..372b3c3 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
+/* $XFree86$ */
 
 
 #ifndef _S3_H
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index 88045e2..cb8921f 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86$ */
 
 
 #include "xf86.h"
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index f02a6b1..c31e638 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index 07b88c3..4c4edb9 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_accel.c b/src/s3_accel.c
index 493ef62..3b3623c 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
+/* $XFree86$ */
 
 
 #include "xf86.h"
diff --git a/src/s3_bios.c b/src/s3_bios.c
index b194a11..f51c721 100644
--- a/src/s3_bios.c
+++ b/src/s3_bios.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_bios.c,v 1.3 2002/01/25 21:56:08 tsi Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 7a098a1..8251463 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_dga.c b/src/s3_dga.c
index a8e6560..8b6640a 100644
--- a/src/s3_dga.c
+++ b/src/s3_dga.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_dga.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
diff --git a/src/s3_driver.c b/src/s3_driver.c
index 8ec99f5..b1f1e5f 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
+/* $XFree86$ */
 
 
 #include "xf86.h"
diff --git a/src/s3_reg.h b/src/s3_reg.h
index 63646d9..2546d20 100644
--- a/src/s3_reg.h
+++ b/src/s3_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_reg.h,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86$ */
 
 #ifndef _S3_REG_H
 #define _S3_REG_H
diff --git a/src/s3_video.c b/src/s3_video.c
index 2272002..3fdea30 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
+/* $XFree86$ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"

commit 44cec492e6684d44e3ddcee0570bf3c72b9e07e3
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Thu Dec 4 22:03:18 2003 +0000

    XFree86 4.3.99.901 (RC 1)

diff --git a/src/s3_accel.c b/src/s3_accel.c
index 8c3ceac..493ef62 100644
--- a/src/s3_accel.c
+++ b/src/s3_accel.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.2 2001/10/28 03:33:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_accel.c,v 1.3 2003/11/23 18:07:31 twini Exp $ */
 
 
 #include "xf86.h"
@@ -310,7 +310,7 @@ #endif
 	int error, e1, e2;
 
 	error = minor + err;
-	e1 = major;
+	e1 = minor;   /* was: major, wrong (twini@xfree86.org) */
 	e2 = minor - major;
 
 	if (major) {

commit 22ef8a01ef4b9d7d9ce62e3646a8309f0d789e1f
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Tue Nov 25 19:28:38 2003 +0000

    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks

diff --git a/src/s3.h b/src/s3.h
index 6d3ed32..42b949c 100644
--- a/src/s3.h
+++ b/src/s3.h
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.16 2002/12/11 17:30:47 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3.h,v 1.18 2003/07/17 08:19:35 eich Exp $ */
 
 
 #ifndef _S3_H
@@ -165,6 +165,7 @@ typedef struct _S3Rec {
 	unsigned char		*imageBuffer;
 	int			imageWidth;
 	int			imageHeight;
+    Bool			hwCursor;
 } S3Rec, *S3Ptr;
 
 #define S3PTR(p)		((S3Ptr)((p)->driverPrivate))
@@ -240,6 +241,8 @@ #define	BIOS_BASE	0xc0000
 #define S3_964_SERIES()		((pS3->Chipset == PCI_CHIP_964_0) ||	\
 			 	 (pS3->Chipset == PCI_CHIP_964_1))
 #define	S3_TRIO_SERIES()	((pS3->Chipset == PCI_CHIP_TRIO) ||	\
-			 	 (pS3->Chipset == PCI_CHIP_AURORA64VP))
+			 	 (pS3->Chipset == PCI_CHIP_AURORA64VP) || \
+				 (pS3->Chipset == PCI_CHIP_TRIO64UVP) || \
+				 (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX))
 
 #endif /* _S3_H */
diff --git a/src/s3_IBMRGB.c b/src/s3_IBMRGB.c
index e1edc0f..88045e2 100644
--- a/src/s3_IBMRGB.c
+++ b/src/s3_IBMRGB.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.5 2003/02/17 16:45:24 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_IBMRGB.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 
 #include "xf86.h"
@@ -510,7 +510,9 @@ static void S3IBMRGBLoadCursorImage(Scrn
 
 static Bool S3IBMRGBUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
 {
-	return TRUE;
+	ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+	S3Ptr pS3 = S3PTR(pScrn);
+	return (pS3->hwCursor);
 }
 
 
diff --git a/src/s3_Ti.c b/src/s3_Ti.c
index 81bab6a..f02a6b1 100644
--- a/src/s3_Ti.c
+++ b/src/s3_Ti.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.5 2003/02/17 16:45:24 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Ti.c,v 1.6 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -721,7 +721,9 @@ #endif
 
 static Bool S3TiUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
 {
-        return TRUE;
+	ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+	S3Ptr pS3 = S3PTR(pScrn);
+	return (pS3->hwCursor);
 }       
 
 
diff --git a/src/s3_Trio64DAC.c b/src/s3_Trio64DAC.c
index fa5d5e8..07b88c3 100644
--- a/src/s3_Trio64DAC.c
+++ b/src/s3_Trio64DAC.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.5 2003/02/17 16:45:24 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_Trio64DAC.c,v 1.8 2003/11/03 05:11:28 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -180,7 +180,7 @@ #define BASE_FREQ	14.31818
 		ffreq = ffreq_min / (1<<max_n2);
 	}
 	if (ffreq > ffreq_max / (1<<min_n2)) {
-		ErrorF("invalid frequency %1.3F Mhz [freq <= %1.3f Mhz]\n",
+		ErrorF("invalid frequency %1.3f Mhz [freq <= %1.3f Mhz]\n",
 			ffreq*BASE_FREQ, ffreq_max*BASE_FREQ/(1<<min_n2));
 		ffreq = ffreq_max / (1<<min_n2);
 	}
@@ -220,7 +220,6 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 		  unsigned char n)
 {
 	unsigned char tmp;
-	int index2;
 
 	if (clk < 2) {
 		tmp = inb(0x3cc);
@@ -244,7 +243,6 @@ static void S3TrioSetPLL(ScrnInfoPtr pSc
 			outb(0x3c5, tmp | 0x22);
 			outb(0x3c5, tmp | 0x02);
 		} else {
-			index2 = 0x10;
 			outb(0x3c4, 0x10);
 			outb(0x3c5, n);
 			outb(0x3c4, 0x11);
@@ -282,7 +280,7 @@ static void S3TrioSetClock(ScrnInfoPtr p
 void S3Trio64DAC_PreInit(ScrnInfoPtr pScrn)
 {
 	S3Ptr pS3 = S3PTR(pScrn);
-	unsigned char SR8, SR27, SR28;
+	unsigned char SR8, SR27;
 	int m, n, n1, n2, mclk;
 
 	outb(0x3c4, 0x08);
@@ -302,7 +300,7 @@ void S3Trio64DAC_PreInit(ScrnInfoPtr pSc
 		outb(0x3c4, 0x27);
 		SR27 = inb(0x3c5);
 		outb(0x3c4, 0x28);
-		SR28 = inb(0x3c5);
+		(void) inb(0x3c5);
 		mclk /= ((SR27 >> 2) & 0x03) + 1;
 	}
 	pS3->mclk = mclk;
@@ -324,10 +322,14 @@ void S3Trio64DAC_Init(ScrnInfoPtr pScrn,
 	if (pS3->Chipset == PCI_CHIP_AURORA64VP)
 		S3TrioSetClock(pScrn, mode->Clock, 2, 1, 1, 63, 0, 3, 2,
 			       135000, 270000);
+	else if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+		S3TrioSetClock(pScrn, mode->Clock, 2, 1, 1, 31, 0, 3, 2,
+			       170000, 270000);
 	else
 		S3TrioSetClock(pScrn, mode->Clock, 2, 1, 1, 31, 0, 3, 2,
 			       135000, 270000);
 
+
 	outb(0x3c4, 1);
 	blank = inb(0x3c5);
 	outb(0x3c5, blank | 0x20);	/* blank the screen */
@@ -348,6 +350,11 @@ void S3Trio64DAC_Init(ScrnInfoPtr pScrn,
 	outb(pS3->vgaCRIndex, 0x33);
 	cr33 = inb(pS3->vgaCRReg) & ~0x28;
 
+	if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+	{
+	  cr33 |= 0x20;
+	}
+
 	/* ! pixmux */
 	switch (pScrn->depth) {
 	case 8:
diff --git a/src/s3_cursor.c b/src/s3_cursor.c
index 6400874..7a098a1 100644
--- a/src/s3_cursor.c
+++ b/src/s3_cursor.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.1 2001/07/02 10:46:04 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_cursor.c,v 1.2 2003/07/17 08:19:36 eich Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -195,7 +195,9 @@ static void S3LoadCursorImage(ScrnInfoPt
 
 static Bool S3UseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
 {
-	return TRUE;
+	ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+	S3Ptr pS3 = S3PTR(pScrn);
+	return (pS3->hwCursor);
 }
 
 
diff --git a/src/s3_driver.c b/src/s3_driver.c
index b40b164..8ec99f5 100644
--- a/src/s3_driver.c
+++ b/src/s3_driver.c
@@ -34,7 +34,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.12 2003/02/14 18:06:58 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v 1.20 2003/11/03 05:11:28 tsi Exp $ */
 
 
 #include "xf86.h"
@@ -132,6 +132,8 @@ static SymTabRec S3Chipsets[] = {
 	{ PCI_CHIP_968,		"968" },
 	{ PCI_CHIP_TRIO, 	"Trio32/64" },
 	{ PCI_CHIP_AURORA64VP,	"Aurora64V+" },
+	{ PCI_CHIP_TRIO64UVP, 		"Trio64UV+" },
+	{ PCI_CHIP_TRIO64V2_DXGX,	"Trio64V2/DX/GX" },
 	{ -1, NULL }
 };
 
@@ -142,6 +144,8 @@ static PciChipsets S3PciChipsets[] = {
 	{ PCI_CHIP_968, 	PCI_CHIP_968, 		RES_SHARED_VGA },
 	{ PCI_CHIP_TRIO, 	PCI_CHIP_TRIO, 		RES_SHARED_VGA },
 	{ PCI_CHIP_AURORA64VP,	PCI_CHIP_AURORA64VP, 	RES_SHARED_VGA },
+	{ PCI_CHIP_TRIO64UVP,	PCI_CHIP_TRIO64UVP, 	RES_SHARED_VGA },
+	{ PCI_CHIP_TRIO64V2_DXGX,	PCI_CHIP_TRIO64V2_DXGX, 	RES_SHARED_VGA },
 	{ -1,			-1,	      		RES_UNDEFINED }
 };
 
@@ -241,6 +245,7 @@ static const char *xaaSymbols[] = {
 	NULL
 };
 
+static int s3AccelLinePitches[] = { 640, 800, 1024, 1280, 1600 };
 
 #ifdef XFree86LOADER
 
@@ -395,7 +400,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
         
         pScrn->monitor = pScrn->confScreen->monitor;
         
-        if (!xf86SetDepthBpp(pScrn, 8, 8, 8, Support24bppFb | Support32bppFb))
+        if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support24bppFb | Support32bppFb))
                 return FALSE;
 
         switch (pScrn->depth) {
@@ -531,6 +536,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	case PCI_CHIP_AURORA64VP:		/* ??? */
 		pS3->S3NewMMIO = FALSE;
 		break;
+	case PCI_CHIP_TRIO64V2_DXGX:
+	case PCI_CHIP_TRIO64UVP:
 	case PCI_CHIP_968:
 		pS3->S3NewMMIO = TRUE;
 		break;
@@ -540,10 +547,10 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	if (pS3->S3NewMMIO)
 		pS3->IOAddress = pS3->FBAddress + S3_NEWMMIO_REGBASE;
 
-	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%x\n",
+	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
 		   pS3->FBAddress);
 	if (pS3->S3NewMMIO)
-		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%x\n",
+		xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "MMIO @ 0x%lx\n",
 			   pS3->IOAddress);
 
 	pS3->PCIRetry = FALSE;		/* not supported yet */
@@ -580,6 +587,15 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
 	outb(0x102, 0x01);
 	outb(0x46e8, 0x08);
 
+	if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+	{
+	  outb (0x3d4, 0x86);
+	  outb (0x3d5, 0x80);
+	  
+	  outb (0x3d4, 0x90);
+	  outb (0x3d5, 0x00);
+	}
+
 	if (!pScrn->videoRam) {
 		/* probe videoram */
 		outb(vgaCRIndex, 0x36);
@@ -691,17 +707,19 @@ #endif
 
 	clockRanges = xnfcalloc(sizeof(ClockRange), 1);
 	clockRanges->next = NULL;
-	clockRanges->minClock = 16000;	/* guess */
+	clockRanges->minClock = 15600;
 	clockRanges->maxClock = pS3->MaxClock;
 	clockRanges->clockIndex = -1;
 	clockRanges->interlaceAllowed = FALSE;	/* not yet */
-	clockRanges->doubleScanAllowed = FALSE;	/* not yet */
-
+	clockRanges->doubleScanAllowed = TRUE;	/* not yet */
+	
         i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
                               pScrn->display->modes, clockRanges,
-                              NULL, 256, 2048, pScrn->bitsPerPixel,
-                              128, 2048, pScrn->display->virtualX,
-                              pScrn->display->virtualY, pScrn->videoRam * 1024,
+                              pS3->NoAccel ? NULL : s3AccelLinePitches,
+			      256, 2048,
+			      pScrn->bitsPerPixel, 128, 2048,
+			      pScrn->display->virtualX,
+			      pScrn->display->virtualY, pScrn->videoRam * 1024,
                               LOOKUP_BEST_REFRESH);
 
         if (i == -1) {
@@ -725,7 +743,7 @@ #endif
  
 #ifdef S3_USEFB
         xf86LoadSubModule(pScrn, "fb");
-        xf86LoaderReqSymbols("fbScreenInit", NULL);
+        xf86LoaderReqSymLists(fbSymbols, NULL);
 #else
 	{
 		switch (pScrn->bitsPerPixel) {
@@ -935,15 +953,10 @@ static void S3Save(ScrnInfoPtr pScrn)
 	S3RegPtr save = &pS3->SavedRegs;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
         vgaRegPtr pVga = &hwp->SavedReg;
-	RamDacHWRecPtr pRAMDAC;
-	RamDacRegRecPtr RAMDACreg;
 	int vgaCRIndex = pS3->vgaCRIndex, vgaCRReg = pS3->vgaCRReg;
 	int i;
 	unsigned char cr5c = 0;
 
-	pRAMDAC = RAMDACHWPTR(pScrn);
-	RAMDACreg = &pRAMDAC->SavedReg;
-
 	S3BankZero(pScrn);
 
 	save->clock = inb(0x3cc);
@@ -1046,7 +1059,7 @@ Bool S3CloseScreen(int scrnIndex, Screen
 
 Bool S3SwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
 {    
-	return S3ModeInit(xf86Screens[scrnIndex], xf86Screens[scrnIndex]->currentMode);
+	return S3ModeInit(xf86Screens[scrnIndex], mode);
 
 }
 
@@ -1118,7 +1131,9 @@ static int S3GetPixMuxShift(ScrnInfoPtr 
 
 	if (pS3->Chipset == PCI_CHIP_968)
 		shift = 1;	/* XXX IBMRGB */
-	else if (pS3->Chipset == PCI_CHIP_TRIO)
+	else if (pS3->Chipset == PCI_CHIP_TRIO || 
+	         pS3->Chipset == PCI_CHIP_TRIO64UVP || 
+	         pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
 		shift = -(pS3->s3Bpp >> 1);
 
 	return shift;
@@ -1138,6 +1153,7 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
 	pS3->pixMuxShift = S3GetPixMuxShift(pScrn);
 
 	pS3->s3BppDisplayWidth = pScrn->displayWidth * pS3->s3Bpp;
+	pS3->hwCursor = (mode->Flags & V_DBLSCAN) ? FALSE : TRUE;
 	pS3->HDisplay = mode->HDisplay;
 
 	pS3->s3ScissB = ((pScrn->videoRam * 1024) / pS3->s3BppDisplayWidth) - 1;
@@ -1146,7 +1162,7 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
 	if (mode->HTotal == mode->CrtcHTotal) {
 		if (pS3->pixMuxShift > 0) {
 			/* XXX hack */
-			mode->Flags |= V_PIXMUX;	
+/* 			mode->Flags |= V_PIXMUX; */
 
 			mode->CrtcHTotal >>= pS3->pixMuxShift;
 			mode->CrtcHDisplay >>= pS3->pixMuxShift;
@@ -1154,7 +1170,7 @@ static Bool S3ModeInit(ScrnInfoPtr pScrn
 			mode->CrtcHSyncEnd >>= pS3->pixMuxShift;
 			mode->CrtcHSkew >>= pS3->pixMuxShift;
 		} else if (pS3->pixMuxShift < 0) {
-			mode->Flags |= V_PIXMUX;
+/* 			mode->Flags |= V_PIXMUX; */
 
 			mode->CrtcHTotal <<= -pS3->pixMuxShift;
 			mode->CrtcHDisplay <<= -pS3->pixMuxShift;
diff --git a/src/s3_video.c b/src/s3_video.c
index 2a60366..2272002 100644
--- a/src/s3_video.c
+++ b/src/s3_video.c
@@ -24,7 +24,7 @@
  *
  *
  */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.2 2001/08/15 11:54:27 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3/s3_video.c,v 1.5 2003/11/10 18:22:25 tsi Exp $ */
 
 #include "xf86.h"
 #include "xf86_OSproc.h"
@@ -168,45 +168,6 @@ static void S3QueryBestSize(ScrnInfoPtr 
 
 
 
-static void S3CopyData(unsigned char *src, unsigned char *dst,
-		       int srcPitch, int dstPitch, int h, int w)
-{
-	w <<= 1;
-	while (h--) {
-		memcpy(dst, src, w);
-		src += srcPitch;
-		dst += dstPitch;
-	}
-}
-
-
-static void S3CopyMungedData(unsigned char *src1, unsigned char *src2,
-			     unsigned char *src3, unsigned char *dst1,
-			     int srcPitch, int srcPitch2, int dstPitch,
-			     int h, int w)
-{
-	CARD32 *dst = (CARD32*)dst1;
-	int i, j;
-
-   	dstPitch >>= 2;
-   	w >>= 1;
-
-   	for(j = 0; j < h; j++) {
-        	for(i = 0; i < w; i++) {
-            		dst[i] = src1[i << 1] | (src1[(i << 1) + 1] << 16) |
-                     		 (src3[i] << 8) | (src2[i] << 24);
-        	}
-        	dst += dstPitch;
-        	src1 += srcPitch;
-        	if(j & 1) {
-            		src2 += srcPitch2;
-            		src3 += srcPitch2;
-       	 	}
-   	}
-}
-
-
-
 static void S3ResetVideoOverlay(ScrnInfoPtr pScrn)
 {
 }
@@ -281,7 +242,7 @@ static XF86VideoAdaptorPtr S3SetupImageV
     	adapt->QueryImageAttributes = S3QueryImageAttributes;
  
     	/* gotta uninit this someplace */
-    	REGION_INIT(pScreen, &(pS3->portPrivate->clip), NullBox, 0);
+	REGION_NULL(pScreen, &(pS3->portPrivate->clip));
        
     	S3ResetVideoOverlay(pScrn);
        
@@ -289,110 +250,6 @@ static XF86VideoAdaptorPtr S3SetupImageV
 }   
 
 
-
-static Bool
-RegionsEqual(RegionPtr A, RegionPtr B)
-{
-    	int *dataA, *dataB; 
-    	int num;
-        
-    	num = REGION_NUM_RECTS(A);
-    	if(num != REGION_NUM_RECTS(B))
-        	return FALSE;
-
-    	if((A->extents.x1 != B->extents.x1) ||
-       	   (A->extents.x2 != B->extents.x2) ||
-       	   (A->extents.y1 != B->extents.y1) ||  
-       	   (A->extents.y2 != B->extents.y2))
-        	return FALSE;
-   
-    	dataA = (int*)REGION_RECTS(A);
-    	dataB = (int*)REGION_RECTS(B);
-   
-    	while(num--) {
-        	if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1]))
-           		return FALSE;
-        	dataA += 2;
-        	dataB += 2;
-    	}
-  
-    	return TRUE;
-}
-
-
-
-static Bool S3ClipVideo(BoxPtr dst, INT32 *x1, INT32 *x2, INT32 *y1, INT32 *y2,
-			RegionPtr reg, INT32 width, INT32 height)
-{
-    	INT32 vscale, hscale, delta;
-    	BoxPtr extents = REGION_EXTENTS(DummyScreen, reg);
-    	int diff;
-
-    hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1);
-    vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1);
-     
-    *x1 <<= 16; *x2 <<= 16;
-    *y1 <<= 16; *y2 <<= 16;
-        
-    diff = extents->x1 - dst->x1;
-    if(diff > 0) {
-        dst->x1 = extents->x1;
-        *x1 += diff * hscale;
-    }
-    diff = dst->x2 - extents->x2;
-    if(diff > 0) {
-        dst->x2 = extents->x2;
-        *x2 -= diff * hscale;   
-    }
-    diff = extents->y1 - dst->y1;
-    if(diff > 0) {
-        dst->y1 = extents->y1;
-        *y1 += diff * vscale;
-    }
-    diff = dst->y2 - extents->y2;
-    if(diff > 0) {
-        dst->y2 = extents->y2;
-        *y2 -= diff * vscale;
-    }
-     
-    if(*x1 < 0) {
-        diff =  (- *x1 + hscale - 1)/ hscale;
-        dst->x1 += diff;
-        *x1 += diff * hscale;
-    }
-    delta = *x2 - (width << 16);
-    if(delta > 0) {
-        diff = (delta + hscale - 1)/ hscale;
-        dst->x2 -= diff;
-        *x2 -= diff * hscale;
-    }   
-    if(*x1 >= *x2) return FALSE; 
-    
-    if(*y1 < 0) {
-        diff =  (- *y1 + vscale - 1)/ vscale;
-        dst->y1 += diff;
-        *y1 += diff * vscale;
-    }
-    delta = *y2 - (height << 16);
-    if(delta > 0) {
-        diff = (delta + vscale - 1)/ vscale;
-        dst->y2 -= diff;
-        *y2 -= diff * vscale;
-    }
-    if(*y1 >= *y2) return FALSE;
-     
-    if((dst->x1 != extents->x1) || (dst->x2 != extents->x2) ||
-       (dst->y1 != extents->y1) || (dst->y2 != extents->y2))
-    {
-        RegionRec clipReg;   
-        REGION_INIT(DummyScreen, &clipReg, dst, 1);
-        REGION_INTERSECT(DummyScreen, reg, reg, &clipReg);
-        REGION_UNINIT(DummyScreen, &clipReg);
-    }
-    return TRUE;
-}
-
-
 static void S3StopVideo(ScrnInfoPtr pScrn, pointer data, Bool exit)
 {
 	S3Ptr pS3 = S3PTR(pScrn);
@@ -510,8 +367,6 @@ static int S3PutImage(ScrnInfoPtr pScrn,
    	int top, left, npixels, nlines;
    	BoxRec dstBox;
    	CARD32 tmp;
-   	static int once = 1;
-   	static int once2 = 1;
 
    /* Clip */
    x1 = src_x;
@@ -524,7 +379,8 @@ static int S3PutImage(ScrnInfoPtr pScrn,
    dstBox.y1 = drw_y;
    dstBox.y2 = drw_y + drw_h;
    
-   if(!S3ClipVideo(&dstBox, &x1, &x2, &y1, &y2, clipBoxes, width, height))
+   if(!xf86XVClipVideoHelper(&dstBox, &x1, &x2, &y1, &y2,
+			     clipBoxes, width, height))
         return Success;
         
    /*if(!pMga->TexturedVideo) {*/
@@ -577,28 +433,24 @@ static int S3PutImage(ScrnInfoPtr pScrn,
            offset3 = tmp;
         }
         nlines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
-        S3CopyMungedData(buf + (top * srcPitch) + (left >> 1),
-                         buf + offset2, buf + offset3, dst_start,
-                         srcPitch, srcPitch2, dstPitch, nlines, npixels);
-        once2 = 0;
+        xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1),
+                                buf + offset2, buf + offset3, dst_start,
+                                srcPitch, srcPitch2, dstPitch, nlines, npixels);
         break; 
     case FOURCC_UYVY:
     case FOURCC_YUY2:
     default:
         buf += (top * srcPitch) + left;
         nlines = ((y2 + 0xffff) >> 16) - top;
-        S3CopyData(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
-        once = 0;
+        xf86XVCopyPacked(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
         break;
     }
         
     /* update cliplist */
-        if(!RegionsEqual(&pPriv->clip, clipBoxes)) {
-            REGION_COPY(pScreen, &pPriv->clip, clipBoxes);
+        if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
+            REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
             /* draw these */
-            (*pS3->pXAA->FillSolidRects)(pScrn, pPriv->colorKey, GXcopy, ~0,
-                                         REGION_NUM_RECTS(clipBoxes),
-                                         REGION_RECTS(clipBoxes));
+	    xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
         }
                           
         offset += left + (top * dstPitch);



Reply to: