.gitignore | 70 ++++++++++++- COPYING | 1 ChangeLog | 68 ------------- Makefile.am | 11 +- README | 20 +++ configure.ac | 62 ++++++------ man/.gitignore | 2 man/Makefile.am | 59 ++++------- man/vesa.man | 3 src/.gitignore | 6 - src/Makefile.am | 3 src/vesa.c | 283 ++++++++++++++++++++++++++++++-------------------------- src/vesa.h | 13 -- 13 files changed, 314 insertions(+), 287 deletions(-)
New commits: commit 0b02c68581f48c3239bc150df137623053794a3e Author: Adam Jackson <a...@redhat.com> Date: Mon Feb 14 11:44:02 2011 -0500 Be forgiving of character-cell size mismatches in mode sizes Reviewed-by: Julien Cristau <jcris...@debian.org> Reviewed-by: Matt Turner <matts...@gmail.com> Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index ef01881..61d3550 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -317,6 +317,30 @@ VESASetModeParameters(vbeInfoPtr pVbe, DisplayModePtr vbemode, (double)(ddcmode->HTotal * ddcmode->VTotal)); } +/* + * Despite that VBE gives you pixel granularity for mode sizes, some BIOSes + * think they can only give sizes in multiples of character cells; and + * indeed, the reference CVT and GTF formulae only give results where + * (h % 8) == 0. Whatever, let's just try to cope. What we're looking for + * here is cases where the display says 1366x768 and the BIOS says 1360x768. + */ +static Bool +vesaModesCloseEnough(DisplayModePtr edid, DisplayModePtr vbe) +{ + if (!(edid->type & M_T_DRIVER)) + return FALSE; + + /* never seen a height granularity... */ + if (edid->VDisplay != vbe->VDisplay) + return FALSE; + + if (edid->HDisplay >= vbe->HDisplay && + (edid->HDisplay & ~7) == (vbe->HDisplay & ~7)) + return TRUE; + + return FALSE; +} + static ModeStatus VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) { @@ -358,9 +382,7 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) */ if (pScrn->monitor->DDC) { for (mode = pScrn->monitor->Modes; mode; mode = mode->next) { - if (mode->type & M_T_DRIVER && - mode->HDisplay == p->HDisplay && - mode->VDisplay == p->VDisplay) { + if (vesaModesCloseEnough(mode, p)) { if (xf86CheckModeForMonitor(mode, mon) == MODE_OK) { found = 1; break; commit 8e32d9d23c64ed700d3e9c5e6709a4b3c46b204a Author: Adam Jackson <a...@redhat.com> Date: Mon Feb 14 10:28:51 2011 -0500 Fix memory leak in mode validation Reviewed-by: Julien Cristau <jcris...@debian.org> Reviewed-by: Matt Turner <matts...@gmail.com> Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index 2523d76..ef01881 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -391,6 +391,7 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) for (v = mon->vrefresh[0].lo; v <= mon->vrefresh[0].hi; v++) { mode = xf86GTFMode(p->HDisplay, p->VDisplay, v, 0, 0); ret = xf86CheckModeForMonitor(mode, mon); + free(mode->name); free(mode); if (ret == MODE_OK) break; commit b1f7f190f9d4f2ab63d3e9ade3e7e04bb4b1f89f Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 8 13:45:32 2010 -0500 Refuse to load if there's a kernel driver bound to the device Ported from the equivalent check in nv. Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index 168fde1..2523d76 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -431,8 +431,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev, pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL, NULL, NULL, NULL, NULL); if (pScrn != NULL) { - VESAPtr pVesa = VESAGetRec(pScrn); + VESAPtr pVesa; + if (pci_device_has_kernel_driver(dev)) { + ErrorF("vesa: Ignoring device with a bound kernel driver\n"); + return FALSE; + } + + pVesa = VESAGetRec(pScrn); VESAInitScrn(pScrn); pVesa->pciInfo = dev; } commit fba7f460838624f55ade074e1c7690f4aa7aed4d Author: Trevor Woerner <twoer...@gmail.com> Date: Fri Oct 22 15:23:46 2010 -0400 Convert x+m/calloc/free to m/calloc/free. Signed-off-by: Trevor Woerner <twoer...@gmail.com> Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/src/vesa.c b/src/vesa.c index 034a019..168fde1 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -281,7 +281,7 @@ static VESAPtr VESAGetRec(ScrnInfoPtr pScrn) { if (!pScrn->driverPrivate) - pScrn->driverPrivate = xcalloc(sizeof(VESARec), 1); + pScrn->driverPrivate = calloc(sizeof(VESARec), 1); return ((VESAPtr)pScrn->driverPrivate); } @@ -296,7 +296,7 @@ VESASetModeParameters(vbeInfoPtr pVbe, DisplayModePtr vbemode, data = (VbeModeInfoData *)vbemode->Private; - data->block = xcalloc(sizeof(VbeCRTCInfoBlock), 1); + data->block = calloc(sizeof(VbeCRTCInfoBlock), 1); data->block->HorizontalTotal = ddcmode->HTotal; data->block->HorizontalSyncStart = ddcmode->HSyncStart; data->block->HorizontalSyncEnd = ddcmode->HSyncEnd; @@ -391,7 +391,7 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) for (v = mon->vrefresh[0].lo; v <= mon->vrefresh[0].hi; v++) { mode = xf86GTFMode(p->HDisplay, p->VDisplay, v, 0, 0); ret = xf86CheckModeForMonitor(mode, mon); - xfree(mode); + free(mode); if (ret == MODE_OK) break; } @@ -480,7 +480,7 @@ VESAProbe(DriverPtr drv, int flags) } } } - xfree(usedChips); + free(usedChips); } } #endif @@ -503,11 +503,11 @@ VESAProbe(DriverPtr drv, int flags) foundScreen = TRUE; } } - xfree(usedChips); + free(usedChips); } #endif - xfree(devSections); + free(devSections); return (foundScreen); } @@ -554,9 +554,9 @@ VESAFreeRec(ScrnInfoPtr pScrn) VbeModeInfoData *data = (VbeModeInfoData*)mode->Private; if (data->block) - xfree(data->block); + free(data->block); - xfree(data); + free(data); mode->Private = NULL; } @@ -564,12 +564,12 @@ VESAFreeRec(ScrnInfoPtr pScrn) } while (mode && mode != pScrn->modes); } #endif - xfree(pVesa->monitor); - xfree(pVesa->vbeInfo); - xfree(pVesa->pal); - xfree(pVesa->savedPal); - xfree(pVesa->fonts); - xfree(pScrn->driverPrivate); + free(pVesa->monitor); + free(pVesa->vbeInfo); + free(pVesa->pal); + free(pVesa->savedPal); + free(pVesa->fonts); + free(pScrn->driverPrivate); pScrn->driverPrivate = NULL; } @@ -712,7 +712,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags) else { void *panelid = VBEReadPanelID(pVesa->pVbe); VBEInterpretPanelID(pScrn->scrnIndex, panelid); - xfree(panelid); + free(panelid); } #endif @@ -805,7 +805,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags) /* options */ xf86CollectOptions(pScrn, NULL); - if (!(pVesa->Options = xalloc(sizeof(VESAOptions)))) { + if (!(pVesa->Options = malloc(sizeof(VESAOptions)))) { vbeFree(pVesa->pVbe); return FALSE; } @@ -940,7 +940,7 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) pScrn->bitsPerPixel = 8; if (pVesa->shadowFB) { - pVesa->shadow = xcalloc(1, pScrn->displayWidth * pScrn->virtualY * + pVesa->shadow = calloc(1, pScrn->displayWidth * pScrn->virtualY * ((pScrn->bitsPerPixel + 7) / 8)); if (!pVesa->shadow) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -1119,10 +1119,10 @@ VESACloseScreen(int scrnIndex, ScreenPtr pScreen) } if (pVesa->shadowFB && pVesa->shadow) { shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen)); - xfree(pVesa->shadow); + free(pVesa->shadow); } if (pVesa->pDGAMode) { - xfree(pVesa->pDGAMode); + free(pVesa->pDGAMode); pVesa->pDGAMode = NULL; pVesa->nDGAMode = 0; } @@ -1180,7 +1180,7 @@ VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode) * Free it as it will not be any longer useful */ xf86ErrorF(", mode set without customized refresh.\n"); - xfree(data->block); + free(data->block); data->block = NULL; data->mode &= ~(1 << 11); } @@ -1315,7 +1315,7 @@ VESALoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, int base; if (pVesa->pal == NULL) - pVesa->pal = xcalloc(1, sizeof(CARD32) * 256); + pVesa->pal = calloc(1, sizeof(CARD32) * 256); for (i = 0, base = idx = indices[i]; i < numColors; i++, idx++) { int j = indices[i]; @@ -1414,7 +1414,7 @@ SaveFonts(ScrnInfoPtr pScrn) if (attr10 & 0x01) return; - pVesa->fonts = xalloc(16384); + pVesa->fonts = malloc(16384); /* save the registers that are needed here */ miscOut = ReadMiscOut(); @@ -1622,7 +1622,7 @@ VESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function) && function == MODE_SAVE) { /* don't rely on the memory not being touched */ if (pVesa->pstate == NULL) - pVesa->pstate = xalloc(pVesa->stateSize); + pVesa->pstate = malloc(pVesa->stateSize); memcpy(pVesa->pstate, pVesa->state, pVesa->stateSize); } } @@ -1737,7 +1737,7 @@ VESADGAAddModes(ScrnInfoPtr pScrn) DGAModePtr pDGAMode; do { - pDGAMode = xrealloc(pVesa->pDGAMode, + pDGAMode = realloc(pVesa->pDGAMode, (pVesa->nDGAMode + 1) * sizeof(DGAModeRec)); if (!pDGAMode) break; commit 8532158308ef6445ac44276e5c989d343f851431 Author: Jesse Adkins <jesserayadk...@gmail.com> Date: Tue Sep 28 13:29:52 2010 -0700 Purge cvs tags. Signed-off-by: Jesse Adkins <jesserayadk...@gmail.com> Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> diff --git a/man/vesa.man b/man/vesa.man index 19cb766..ce4b369 100644 --- a/man/vesa.man +++ b/man/vesa.man @@ -1,4 +1,3 @@ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.man,v 1.2 2001/01/27 18:20:56 dawes Exp $ .\" shorthand for double quote that works everywhere. .ds q \N'34' .TH VESA __drivermansuffix__ __vendorversion__ diff --git a/src/vesa.h b/src/vesa.h index 4656e4c..89245b9 100644 --- a/src/vesa.h +++ b/src/vesa.h @@ -25,8 +25,6 @@ * Conectiva Linux. * * Authors: Paulo César Pereira de Andrade <p...@conectiva.com.br> - * - * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h,v 1.12 2002/08/06 13:46:27 dawes Exp $ */ #ifndef _VESA_H_ commit 32e50178f9e12112ab09af442770d43c5fa2ec9a Author: Gaetan Nadon <mems...@videotron.ca> Date: Wed Jul 21 16:49:04 2010 -0400 config: add comments for main statements diff --git a/configure.ac b/configure.ac index 50d521d..2e4f542 100644 --- a/configure.ac +++ b/configure.ac @@ -20,18 +20,18 @@ # # Process this file with autoconf to produce a configure script +# Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-vesa], [2.3.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-vesa]) - AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR(.) +# Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) - AM_MAINTAINER_MODE # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS @@ -40,24 +40,24 @@ m4_ifndef([XORG_MACROS_VERSION], XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS -# Checks for programs. +# Initialize libtool AC_DISABLE_STATIC AC_PROG_LIBTOOL AH_TOP([#include "xorg-server.h"]) +# Define a configure option for an alternate module directory AC_ARG_WITH(xorg-module-dir, [ --with-xorg-module-dir=DIR ], [ moduledir="$withval" ], [ moduledir="$libdir/xorg/modules" ]) AC_SUBST(moduledir) - -# 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(DPMSExtension, xextproto) -# Checks for pkg-config packages +# Obtain compiler/linker options for the driver dependencies PKG_CHECK_MODULES(XORG, xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES) PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), @@ -94,7 +94,6 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) # Checks for libraries. - DRIVER_NAME=vesa AC_SUBST([DRIVER_NAME]) commit 61328ed613f9bb822227d5c80d773bdb8eba2742 Author: Gaetan Nadon <mems...@videotron.ca> Date: Wed Jul 21 16:07:00 2010 -0400 config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index 070c17f..50d521d 100644 --- a/configure.ac +++ b/configure.ac @@ -98,8 +98,9 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) DRIVER_NAME=vesa AC_SUBST([DRIVER_NAME]) -AC_OUTPUT([ - Makefile - src/Makefile - man/Makefile +AC_CONFIG_FILES([ + Makefile + src/Makefile + man/Makefile ]) +AC_OUTPUT commit 79e954f1c06ab45ac1a59bbb54bd4a98b15e11e7 Author: Gaetan Nadon <mems...@videotron.ca> Date: Wed Jul 21 14:05:23 2010 -0400 config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index ac82083..070c17f 100644 --- a/configure.ac +++ b/configure.ac @@ -27,7 +27,7 @@ AC_INIT([xf86-video-vesa], [xf86-video-vesa]) AC_CONFIG_SRCDIR([Makefile.am]) -AM_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR(.) AM_INIT_AUTOMAKE([foreign dist-bzip2]) commit 12c859a302e6c42b319f660af03c9718adffe699 Author: Gaetan Nadon <mems...@videotron.ca> Date: Wed Jul 21 09:27:42 2010 -0400 config: complete AC_INIT m4 quoting Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index ab6eac1..ac82083 100644 --- a/configure.ac +++ b/configure.ac @@ -22,9 +22,9 @@ AC_PREREQ([2.60]) AC_INIT([xf86-video-vesa], - 2.3.0, + [2.3.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], - xf86-video-vesa) + [xf86-video-vesa]) AC_CONFIG_SRCDIR([Makefile.am]) AM_CONFIG_HEADER([config.h]) commit bda55aa468b43731e5bd1b5ebc1d9a2d927f9b79 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Jul 20 20:24:42 2010 -0400 config: remove unrequired AC_HEADER_STDC Autoconf says: "This macro is obsolescent, as current systems have conforming header files. New programs need not use this macro". Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index 8581068..ab6eac1 100644 --- a/configure.ac +++ b/configure.ac @@ -94,8 +94,6 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) # Checks for libraries. -# Checks for header files. -AC_HEADER_STDC DRIVER_NAME=vesa AC_SUBST([DRIVER_NAME]) commit 8e53d57f165365b0a084f410d2f08a3073d1bece Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Jul 20 19:41:31 2010 -0400 config: remove AC_PROG_CC as it overrides AC_PROG_C_C99 XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls AC_PROG_C_C99. This sets gcc with -std=gnu99. If AC_PROG_CC macro is called afterwards, it resets CC to gcc. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index fc77a9c..8581068 100644 --- a/configure.ac +++ b/configure.ac @@ -43,7 +43,6 @@ XORG_DEFAULT_OPTIONS # Checks for programs. AC_DISABLE_STATIC AC_PROG_LIBTOOL -AC_PROG_CC AH_TOP([#include "xorg-server.h"]) commit bcdce845e1b2d48d66e1655bc86e13f3297b1916 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Jul 20 18:45:19 2010 -0400 config: update AC_PREREQ statement to 2.60 Unrelated to the previous patches, the new value simply reflects the reality that the minimum level for autoconf to configure all x.org modules is 2.60 dated June 2006. ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index 338856c..fc77a9c 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ # # Process this file with autoconf to produce a configure script -AC_PREREQ(2.57) +AC_PREREQ([2.60]) AC_INIT([xf86-video-vesa], 2.3.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], commit ba8aaea71ea7c0f3dcb2bfb3bda6534d3e1c104e Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Jul 20 16:15:30 2010 -0400 config: upgrade to util-macros 1.8 for additional man page support Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS The value of MAN_SUBST is the same for all X.Org packages. diff --git a/configure.ac b/configure.ac index 51d9d33..338856c 100644 --- a/configure.ac +++ b/configure.ac @@ -34,10 +34,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros: XORG_DEFAULT_OPTIONS +# 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.3 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.3) + [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS # Checks for programs. diff --git a/man/Makefile.am b/man/Makefile.am index 8f2454b..b3688ce 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -31,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 - -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' + +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man .man.$(DRIVER_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ commit fa1fcd483cc60b5f4e82e3f1fe1a84459cf0eaee Author: Gaetan Nadon <mems...@videotron.ca> Date: Sun Jun 13 13:04:25 2010 -0400 COPYING: update file with Copyright notices from source code. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/COPYING b/COPYING index 22b4b13..f101fb8 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,5 @@ Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) +Copyright 2008 Red Hat, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), commit d82f2e6e52a7cac2f15a20ab91f50f06eaea7e6a Author: Gaetan Nadon <mems...@videotron.ca> Date: Mon Feb 15 13:39:02 2010 -0500 config: Move compiler flags from configure.ac to Makefile.am Remove unused XORG_INCS variable. Remove unused INCLUDES='-I$(top_srcdir)/src' This statement is redundant and not used in the makefile Remove unrequired '-I$(top_srcdir)/src' The current dir is already included by default in the makefile top_builddir = .. DEFAULT_INCLUDES = -I. -I$(top_builddir) Move compiler flags from configure.ac to Makefile.am CFLAGS is an automake defined variable that should not be set by the module. It should not be AC_SUBST either, it already is. Use AM_CFLAGS in Makefile.am. This will allow the user to override the flags as they will be in the right order. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/configure.ac b/configure.ac index ff4713d..51d9d33 100644 --- a/configure.ac +++ b/configure.ac @@ -93,11 +93,6 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then fi AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) -CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src' -INCLUDES="$XORG_INCS "'-I$(top_srcdir)/src' -AC_SUBST([CFLAGS]) -AC_SUBST([INCLUDES]) - # Checks for libraries. # Checks for header files. diff --git a/src/Makefile.am b/src/Makefile.am index 88da8a2..dc702f0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -24,6 +24,9 @@ # -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) $(PCIACCESS_CFLAGS) + vesa_drv_la_LTLIBRARIES = vesa_drv.la vesa_drv_la_LDFLAGS = -module -avoid-version vesa_drv_ladir = @moduledir@/drivers commit 069c1f82149031328bb48479732b0a21be5248dd Author: Alan Coopersmith <alan.coopersm...@sun.com> Date: Fri Jan 15 13:46:10 2010 -0800 Update Sun license notices to current X.Org standard form Signed-off-by: Alan Coopersmith <alan.coopersm...@sun.com> diff --git a/man/Makefile.am b/man/Makefile.am index f0eb29b..8f2454b 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) commit ba6527d2695574f6f7808ada39f6caed7a688f39 Author: Adam Jackson <a...@redhat.com> Date: Mon Jan 4 14:19:13 2010 -0500 vesa 2.3.0 Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/configure.ac b/configure.ac index fe47a60..ff4713d 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-vesa], - 2.2.1, + 2.3.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-vesa) commit 1d0e73302d4c4eda56f32e129920ccd263f524ce Author: Adam Jackson <a...@redhat.com> Date: Mon Jan 4 14:16:42 2010 -0500 Make the VBESetVBEMode fallback message slightly clearer Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index 76a85eb..034a019 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -1179,14 +1179,13 @@ VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode) /* Some cards do not like setting the clock. * Free it as it will not be any longer useful */ - xf86ErrorF("...Tried again without customized values.\n"); + xf86ErrorF(", mode set without customized refresh.\n"); xfree(data->block); data->block = NULL; data->mode &= ~(1 << 11); } else { ErrorF("\n"); - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Set VBE Mode failed!\n"); return (FALSE); } } commit 4b625d15b2bb3dc337924f0703db7ddd47c08434 Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 30 11:48:27 2009 -0500 Remove support for non-shadowfb banked framebuffer Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index 3b4423c..76a85eb 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -1045,22 +1045,9 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) pScreen->CreateScreenResources = vesaCreateScreenResources; } else if (pVesa->mapPhys == 0xa0000) { - unsigned int bankShift = 0; - while ((unsigned)(64 >> bankShift) != mode->WinGranularity) - bankShift++; - pVesa->curBank = -1; - pVesa->bank.SetSourceBank = - pVesa->bank.SetDestinationBank = - pVesa->bank.SetSourceAndDestinationBanks = VESABankSwitch; - pVesa->bank.pBankA = pVesa->bank.pBankB = pVesa->base; - pVesa->bank.BankSize = (mode->WinSize * 1024) >> bankShift; - pVesa->bank.nBankDepth = pScrn->depth; - if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, - pScrn->virtualX, &pVesa->bank)) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Bank switch initialization failed!\n"); - return (FALSE); - } + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Banked framebuffer requires ShadowFB\n"); + return FALSE; } VESADGAInit(pScrn, pScreen); diff --git a/src/vesa.h b/src/vesa.h index d5c69a9..4656e4c 100644 --- a/src/vesa.h +++ b/src/vesa.h @@ -64,14 +64,9 @@ /* Int 10 support */ #include "xf86int10.h" -/* bank switching */ -#include "mibank.h" - /* Dga definitions */ #include "dgaproc.h" - - #include "fb.h" #ifdef XSERVER_LIBPCIACCESS @@ -99,7 +94,6 @@ typedef struct _VESARec pciVideoPtr pciInfo; PCITAG pciTag; #endif - miBankInfoRec bank; int curBank, bankSwitchWindowB; CARD16 maxBytesPerScanline; unsigned long mapPhys, mapOff, mapSize; /* video memory */ commit 1a31829b966ceed444a3b3f7e91c5ae04d82c3ba Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 30 11:27:53 2009 -0500 Use own thunk function instead of shadowUpdatePackedWeak Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index bfdda65..3b4423c 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -137,6 +137,12 @@ VESAWindowWindowed(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, (offset - pVesa->windowAoffset)); } +static void +vesaUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + shadowUpdatePacked(pScreen, pBuf); +} + static Bool VESADGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen); enum GenericTypes @@ -1025,11 +1031,11 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) if (pVesa->shadowFB) { if (pVesa->mapPhys == 0xa0000) { /* Windowed */ - pVesa->update = shadowUpdatePackedWeak(); + pVesa->update = vesaUpdatePacked; pVesa->window = VESAWindowWindowed; } else { /* Linear */ - pVesa->update = shadowUpdatePackedWeak(); + pVesa->update = vesaUpdatePacked; pVesa->window = VESAWindowLinear; } commit ad1e7b4a4cacc1a157eb533e2a55a54b386949da Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 30 11:24:37 2009 -0500 Warning fix when !HAVE_ISA Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index ecf228d..bfdda65 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -94,7 +94,9 @@ VESADisplayPowerManagementSet(ScrnInfoPtr pScrn, int mode, int flags); /* locally used functions */ +#ifdef HAVE_ISA static int VESAFindIsaDevice(GDevPtr dev); +#endif static Bool VESAMapVidMem(ScrnInfoPtr pScrn); static void VESAUnmapVidMem(ScrnInfoPtr pScrn); static int VESABankSwitch(ScreenPtr pScreen, unsigned int iBank); commit 3c73bfc96817348449e5ab6a7f7b03ac6c85bd47 Author: Adam Jackson <a...@redhat.com> Date: Wed Dec 30 11:23:16 2009 -0500 Code motion Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/vesa.c b/src/vesa.c index df73152..ecf228d 100644 --- a/src/vesa.c +++ b/src/vesa.c @@ -105,10 +105,35 @@ static void RestoreFonts(ScrnInfoPtr pScrn); static Bool VESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function); -static void *VESAWindowLinear(ScreenPtr pScrn, CARD32 row, CARD32 offset, - int mode, CARD32 *size, void *closure); -static void *VESAWindowWindowed(ScreenPtr pScrn, CARD32 row, CARD32 offset, - int mode, CARD32 *size, void *closure); +static void * +VESAWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, + CARD32 *size, void *closure) +{ + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + VESAPtr pVesa = VESAGetRec(pScrn); + + *size = pVesa->maxBytesPerScanline; + return ((CARD8 *)pVesa->base + row * pVesa->maxBytesPerScanline + offset); +} + +static void * +VESAWindowWindowed(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, + CARD32 *size, void *closure) +{ + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + VESAPtr pVesa = VESAGetRec(pScrn); + VbeModeInfoBlock *data = ((VbeModeInfoData*)(pScrn->currentMode->Private))->data; + int window; + + offset += pVesa->maxBytesPerScanline * row; + window = offset / (data->WinGranularity * 1024); + pVesa->windowAoffset = window * data->WinGranularity * 1024; + VESABankSwitch(pScreen, window); + *size = data->WinSize * 1024 - (offset - pVesa->windowAoffset); + + return (void *)((unsigned long)pVesa->base + + (offset - pVesa->windowAoffset)); +} static Bool VESADGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen); @@ -1286,36 +1311,6 @@ VESAUnmapVidMem(ScrnInfoPtr pScrn) pVesa->base = NULL; } -static void * -VESAWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, - CARD32 *size, void *closure) -{ - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - VESAPtr pVesa = VESAGetRec(pScrn); - - *size = pVesa->maxBytesPerScanline; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1q6wjv-00006h...@alioth.debian.org