diff --git a/COPYING b/COPYING index 7f33cbf..458ab5f 100644 --- a/COPYING +++ b/COPYING @@ -1,12 +1,70 @@ -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. + Copyright 2001 Ani Joshi -Please submit updated COPYING files to the Xorg bugzilla: + XFree86 4.x driver for S3 chipsets -https://bugs.freedesktop.org/enter_bug.cgi?product=xorg -All licensing questions regarding this software should be directed at the -Xorg mailing list: +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation and +that the name of Ani Joshi not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. Ani Joshi makes no representations +about the suitability of this software for any purpose. It is provided +"as-is" without express or implied warranty. + +ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +Copyright 2007 George Sapountzis + +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 +the rights to use, copy, modify, merge, publish, distribute, sublicense, +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 NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS 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. + +Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved. + +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 the rights to +use, copy, modify, merge, publish, distribute, sublicense, 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 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, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +XFREE86 PROJECT 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. + +Except as contained in this notice, the name of the XFree86 Project shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the XFree86 Project. + + +Copyright 1995-1997 The XFree86 Project, Inc. +Copyright (c) 1999,2000 The XFree86 Project Inc. -http://lists.freedesktop.org/mailman/listinfo/xorg diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index ad0b227..0000000 --- a/ChangeLog +++ /dev/null @@ -1,133 +0,0 @@ -2009-06-25 Evgeny M. zubok - - * src/s3_driver.c: - Revert the old behaviour when the BIOS settings are used for - intialization of DRAM/VRAM timings, i. e. we don't touch the - timings during initialization phase until any memory option (like - slow_edodram) is specified. - - Add manual page. - -2009-05-25 Evgeny M. Zubok - - * src/s3_driver.c: - * src/s3_video.c: - - Enable Xv extension for Trio64V+ (thanks to Egor Ivanov for - testing on real hardware) and Trio64UV+ (Tested only on Trio64V2 by - overriding Chipset with "Trio64UV+" but not on real hardware). - - S3 Trio64V+ now using NewMMIO. Trio64V+ chips have the same ChipId - as Trio32/64 but only with chip revision greater or eq 0x40. So if - you have problems with NewMMIO, you may override ChipRev in "Device" - section of your xorg.conf: "ChipRev" 0x00. Note: disabling the NewMMIO - also disables overlay video (Xv) because it isn't implemented for - Old MMIO yet. - -2009-05-04 Evgeny M. Zubok - - * src/s3_driver.c: - * src/s3_shadow.c: - - Add shadowFB option. It can be used to speedup drawing when - hardware acceleration is undesirable or unavailable (for colour depth - 24 with 24 bpp framebuffer, for example). shadowFB is disabled by - default. Enabling shadowFB option disables HW acceleration. Thanks - to Egor Ivanov for initial porting of shadowFB from s3virge. - - Interlace mode support. - - Close bug #14999. - -2008-07-06 Evgeny M. Zubok - - * src/s3_video.c: - - Streams Processor initialization. - - XVideo support for 16, 24 and 32 bpp (only for TRIO64V2). - - * src/s3_driver.c: - - Add XVideo option (enabled by default). - - Replace "swcursor" by "hwcursor" option (HW cursor - not implemented yet for all chipsets). - - Close bug #5527: 24-bit colour depth support (24bpp and - 32bpp framebuffer) for TRIOs. Acceleration doesn't work - with packed colour mode (24 bpp FB) but works with 32bpp - framebuffer mode (hardware limitation? -- need data). - - Fix system hang-up when switching between console and X session. - - Some minor changes of driver messages. - -2008-02-23 Evgeny M. Zubok - - * src/s3_driver.c: Add DPMS support for S3 Trio64V2 and possibly - others (need testing): S3 Trio64UV+. S3 Aurora64V+ and S3 Trio32/64 - * src/s3_Trio64DAC: Change clocks for S3 Trio64V2 to make - the 1024x768@16bpp mode work. - Thanks to Richard Driscoll for these patches. - -2006-04-07 Adam Jackson - - * configure.ac: - * src/s3.h: - Bump to 0.4.1 for Xv changes. - -2006-04-07 Aaron Plattner - - * 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 - - * 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 - - * configure.ac: - Update package version for X11R7 release. - -2005-12-14 Kevin E. Martin - - * configure.ac: - Update package version number for final X11R7 release candidate. - -2005-12-03 Kevin E. Martin - - * configure.ac: - Update package version number for X11R7 RC3 release. - -2005-12-01 Kevin E. Martin - - * configure.ac: - Remove extraneous AC_MSG_RESULT. - -2005-11-29 Adam Jackson - - * configure.ac: - Only build dlloader modules by default. - -2005-11-09 Kevin E. Martin - - * configure.ac: - Update package version number for X11R7 RC2 release. - -2005-11-01 Kevin E. Martin - - * configure.ac: - Update pkgcheck dependencies to work with separate build roots. diff --git a/Makefile.am b/Makefile.am index 7052905..4c278ba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,5 +18,15 @@ # 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 man +MAINTAINERCLEANFILES = ChangeLog INSTALL + +.PHONY: ChangeLog INSTALL + +INSTALL: + $(INSTALL_CMD) + +ChangeLog: + $(CHANGELOG_CMD) + +dist-hook: ChangeLog INSTALL diff --git a/configure.ac b/configure.ac index 0eecc87..0ac34f9 100644 --- a/configure.ac +++ b/configure.ac @@ -20,42 +20,50 @@ # # Process this file with autoconf to produce a configure script -AC_PREREQ(2.57) +# Initialize Autoconf +AC_PREREQ([2.60]) AC_INIT([xf86-video-s3], - 0.6.3, + [0.6.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], - xf86-video-s3) - + [xf86-video-s3]) AC_CONFIG_SRCDIR([Makefile.am]) -AM_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE([dist-bzip2]) - +# Initialize Automake +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Checks for programs. +# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.8) +XORG_DEFAULT_OPTIONS + +# Initialize libtool AC_DISABLE_STATIC AC_PROG_LIBTOOL -AC_PROG_CC + +# Checks for programs. +AM_PROG_CC_C_O AH_TOP([#include "xorg-server.h"]) +# Define a configure option for an alternate module directory AC_ARG_WITH(xorg-module-dir, - AC_HELP_STRING([--with-xorg-module-dir=DIR], + AS_HELP_STRING([--with-xorg-module-dir=DIR], [Default xorg module directory [[default=$libdir/xorg/modules]]]), [moduledir="$withval"], [moduledir="$libdir/xorg/modules"]) -# Checks for extensions +# Store the list of server defined optional extensions in REQUIRED_MODULES 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 +# Obtain compiler/linker options for the driver dependencies PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES]) -sdkdir=$(pkg-config --variable=sdkdir xorg-server) # Checks for libraries. SAVE_CPPFLAGS="$CPPFLAGS" @@ -65,28 +73,20 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS, [#include "xorg-server.h"]) CPPFLAGS="$SAVE_CPPFLAGS" -# Checks for header files. -AC_HEADER_STDC - if test "x$XSERVER_LIBPCIACCESS" = xyes; then PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" fi AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) -AC_SUBST([XORG_CFLAGS]) AC_SUBST([moduledir]) DRIVER_NAME=s3 AC_SUBST([DRIVER_NAME]) -XORG_MANPAGE_SECTIONS -XORG_RELEASE_VERSION - -XORG_CHECK_LINUXDOC - -AC_OUTPUT([ - Makefile - src/Makefile - man/Makefile +AC_CONFIG_FILES([ + Makefile + src/Makefile + man/Makefile ]) +AC_OUTPUT diff --git a/man/Makefile.am b/man/Makefile.am index f0eb29b..b3688ce 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,27 +1,24 @@ # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation. -# -# The above copyright notice and this permission notice 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 NONINFRINGEMENT. -# IN NO EVENT SHALL THE OPEN GROUP 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. -# -# Except as contained in this notice, the name of the copyright holders shall -# not be used in advertising or otherwise to promote the sale, use or -# other dealings in this Software without prior written authorization -# from the copyright holders. +# +# 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 +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# 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 NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS 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. # drivermandir = $(DRIVER_MAN_DIR) @@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man CLEANFILES = $(driverman_DATA) -SED = sed -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ - XORGMANNAME = X Version 11 +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure -MAN_SUBSTS = \ - -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -e 's|__xservername__|Xorg|g' \ - -e 's|__xconfigfile__|xorg.conf|g' \ - -e 's|__projectroot__|$(prefix)|g' \ - -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ - -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ - -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ - -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ - -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man .man.$(DRIVER_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ diff --git a/src/s3.h b/src/s3.h index 49b8a54..0875fc9 100644 --- a/src/s3.h +++ b/src/s3.h @@ -113,7 +113,6 @@ typedef struct _S3Rec { XAAInfoRecPtr pXAA; xf86CursorInfoPtr pCurs; xf86Int10InfoPtr pInt10; - vbeInfoPtr pVBE; XF86VideoAdaptorPtr adaptor; S3PortPrivPtr portPrivate; diff --git a/src/s3_driver.c b/src/s3_driver.c index 29e343d..4519b33 100644 --- a/src/s3_driver.c +++ b/src/s3_driver.c @@ -309,6 +309,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags) S3Ptr pS3; vgaHWPtr hwp; ClockRangePtr clockRanges; + vbeInfoPtr pVBE; rgb zeros = {0, 0, 0}; Gamma gzeros = {0.0, 0.0, 0.0}; int i, vgaCRIndex, vgaCRReg; @@ -436,7 +437,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags) } if (xf86LoadSubModule(pScrn, "vbe")) { - pS3->pVBE = VBEInit(pS3->pInt10, pEnt->index); + pVBE = VBEInit(pS3->pInt10, pEnt->index); + vbeFree(pVBE); } if (pS3->shadowFB) {