diff options
author | Dave Airlie <airlied@clockmaker.usersys.redhat.com> | 2007-08-23 19:42:19 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2007-08-23 19:43:58 +1000 |
commit | c08e6ec9e7ac06caee53689b0ec50ef6a7a0ba37 (patch) | |
tree | fcda07f47f2b006ac534c3480c57da870eeb75d4 | |
parent | 5793e8753d11432bf95c7c6dd80c811e16aba058 (diff) | |
parent | a0d0fcd3bab765b4db25e04884fd8a342abb9c66 (diff) |
Merge branch 'master' into randr-merge
Conflicts:
src/radeon.h
src/radeon_bios.c
src/radeon_display.c
src/radeon_dri.c
src/radeon_driver.c
src/radeon_modes.c
src/radeon_probe.h
src/radeon_video.c
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | man/ati.man | 4 | ||||
-rw-r--r-- | man/radeon.man | 4 | ||||
-rw-r--r-- | src/atimach64xv.c | 3 | ||||
-rw-r--r-- | src/r128_driver.c | 3 | ||||
-rw-r--r-- | src/radeon.h | 3 | ||||
-rw-r--r-- | src/radeon_display.c | 1 | ||||
-rw-r--r-- | src/radeon_dri.c | 44 | ||||
-rw-r--r-- | src/radeon_driver.c | 6 |
9 files changed, 40 insertions, 34 deletions
diff --git a/configure.ac b/configure.ac index 8b29d8d..441e723 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-ati], - 6.6.192, + 6.6.193, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-ati) @@ -39,6 +39,10 @@ AC_DISABLE_STATIC AC_PROG_LIBTOOL AC_PROG_CC +if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -Wall" +fi + AH_TOP([#include "xorg-server.h"]) AC_ARG_WITH(xorg-module-dir, diff --git a/man/ati.man b/man/ati.man index bc33610..c6c7d01 100644 --- a/man/ati.man +++ b/man/ati.man @@ -17,7 +17,7 @@ ati \- ATI video driver is an __xservername__ wrapper driver for ATI video cards. It autodetects whether your hardware has a Radeon, Rage 128, or Mach64 or earlier class of chipset, and loads the radeon(__drivermansuffix__), -r128(__drivermansuffix__), or atimisc(__drivermansuffix__) driver as +r128(__drivermansuffix__), or atimisc driver as appropriate. .SH SUPPORTED HARDWARE The @@ -29,6 +29,6 @@ Please refer to __xconfigfile__(__filemansuffix__) for general configuration details, and the specific card driver for driver configuration details. driver. .SH "SEE ALSO" -__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) +__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), r128(__drivermansuffix__), radeon(__drivermansuffix__) .SH AUTHORS See the individual driver pages for authors. diff --git a/man/radeon.man b/man/radeon.man index fcb6d73..2f46c44 100644 --- a/man/radeon.man +++ b/man/radeon.man @@ -308,7 +308,7 @@ remainder of video RAM is reserved for EXA offscreen management. Specifying 0 results in all offscreen video RAM being reserved for EXA and only GART memory being available for OpenGL textures. This may improve EXA performance, but beware that it may cause problems with OpenGL drivers from Mesa versions older -than 6.4. With XAA, specifiying lower percentage than what gets reserved without +than 6.4. With XAA, specifying lower percentage than what gets reserved without this option has no effect, but the driver tries to increase the video RAM reserved for textures to the amount specified roughly. Default: @@ -417,7 +417,7 @@ Kevin E. Martin \fIkem@freedesktop.org\fP Alan Hourihane \fIalanh@fairlite.demon.co.uk\fP Marc Aurele La France \fItsi@xfree86.org\fP Benjamin Herrenschmidt \fIbenh@kernel.crashing.org\fP -Michel Dänzer \fImichel@tungstengraphics.com\fP +Michel D\(:anzer \fImichel@tungstengraphics.com\fP Alex Deucher \fIalexdeucher@gmail.com\fP Bogdan D. \fIbogdand@users.sourceforge.net\fP Eric Anholt \fIeric@anholt.net\fP diff --git a/src/atimach64xv.c b/src/atimach64xv.c index 997fa69..67becec 100644 --- a/src/atimach64xv.c +++ b/src/atimach64xv.c @@ -979,6 +979,9 @@ ATIMach64PutImage if (pATI->ActiveSurface) return Success; + if (DstH < 16) + return Success; + if (!ATIMach64ClipVideo(pScreenInfo, pATI, ImageID, SrcX, SrcY, SrcW, SrcH, DstX, DstY, &DstW, &DstH, diff --git a/src/r128_driver.c b/src/r128_driver.c index b03bd42..6e26a6e 100644 --- a/src/r128_driver.c +++ b/src/r128_driver.c @@ -4257,6 +4257,9 @@ ModeStatus R128ValidMode(int scrnIndex, DisplayModePtr mode, ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; R128InfoPtr info = R128PTR(pScrn); + if (info->BIOSDisplay == R128_BIOS_DISPLAY_CRT) + return MODE_OK; + if(info->isDFP) { if(info->PanelXRes < mode->CrtcHDisplay || info->PanelYRes < mode->CrtcVDisplay) diff --git a/src/radeon.h b/src/radeon.h index a8f72fc..aee4c3e 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -613,7 +613,6 @@ typedef struct { unsigned long gartOffset; unsigned char *AGP; /* Map */ int agpMode; - int agpFastWrite; CARD32 pciCommand; @@ -914,13 +913,13 @@ extern void RADEONDisableDisplays(ScrnInfoPtr pScrn); extern void RADEONGetPanelInfo(ScrnInfoPtr pScrn); extern void RADEONGetTVDacAdjInfo(xf86OutputPtr output); extern void RADEONUnblank(ScrnInfoPtr pScrn); +extern void RADEONUnblank(ScrnInfoPtr pScrn); extern void RADEONBlank(ScrnInfoPtr pScrn); extern void RADEONDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags); extern Bool RADEONAllocateControllers(ScrnInfoPtr pScrn); extern Bool RADEONAllocateConnectors(ScrnInfoPtr pScrn); -extern xf86OutputPtr RADEONGetCrtcConnector(ScrnInfoPtr pScrn, int crtc_num); extern int RADEONValidateMergeModes(ScrnInfoPtr pScrn); extern int RADEONValidateDDCModes(ScrnInfoPtr pScrn1, char **ppModeName, RADEONMonitorType DisplayType, int crtc2); diff --git a/src/radeon_display.c b/src/radeon_display.c index 4334016..e76ffa4 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -809,4 +809,3 @@ void RADEONUnblank(ScrnInfoPtr pScrn) } } } - diff --git a/src/radeon_dri.c b/src/radeon_dri.c index 1b17e2e..7949c5b 100644 --- a/src/radeon_dri.c +++ b/src/radeon_dri.c @@ -748,28 +748,6 @@ static Bool RADEONSetAgpMode(RADEONInfoPtr info, ScreenPtr pScreen) xf86DrvMsg(pScreen->myNum, from, "Using AGP %dx\n", info->agpMode); - info->agpFastWrite = 0; // Always off by default as it sucks - - from = xf86GetOptValInteger(info->Options, OPTION_AGP_FW, - &info->agpFastWrite) ? X_CONFIG : X_DEFAULT; - - if (info->agpFastWrite && - (vendor == PCI_VENDOR_AMD) && - (device == PCI_CHIP_AMD761)) { - - /* Disable fast write for AMD 761 chipset, since they cause - * lockups when enabled. - */ - info->agpFastWrite = FALSE; - from = X_DEFAULT; - xf86DrvMsg(pScreen->myNum, X_WARNING, - "[agp] Not enabling Fast Writes on AMD 761 chipset to avoid " - "lockups"); - } - - xf86DrvMsg(pScreen->myNum, from, "AGP Fast Writes %sabled\n", - info->agpFastWrite ? "en" : "dis"); - mode &= ~RADEON_AGP_MODE_MASK; if (is_v3) { /* only set one mode bit for AGPv3 */ @@ -788,8 +766,26 @@ static Bool RADEONSetAgpMode(RADEONInfoPtr info, ScreenPtr pScreen) } } - if (info->agpFastWrite) mode |= RADEON_AGP_FW_MODE; - else mode &= ~RADEON_AGP_FW_MODE; + /* AGP Fast Writes. + * TODO: take into account that certain agp modes don't support fast + * writes at all */ + mode &= ~RADEON_AGP_FW_MODE; /* Disable per default */ + if (xf86ReturnOptValBool(info->Options, OPTION_AGP_FW, FALSE)) { + xf86DrvMsg(pScreen->myNum, X_WARNING, + "WARNING: Using the AGPFastWrite option is not recommended.\n"); + xf86Msg(X_NONE, "\tThis option does not provide much of a noticable speed" + " boost, while it\n\twill probably hard lock your machine." + " All bets are off!\n"); + + /* Black list some host/AGP bridges. */ + if ((vendor == PCI_VENDOR_AMD) && (device == PCI_CHIP_AMD761)) + xf86DrvMsg(pScreen->myNum, X_PROBED, "Ignoring AGPFastWrite option " + "for the AMD 761 northbridge.\n"); + else { + xf86DrvMsg(pScreen->myNum, X_CONFIG, "Enabling AGP Fast Writes.\n"); + mode |= RADEON_AGP_FW_MODE; + } + } /* Don't mention this otherwise, so that people don't get funny ideas */ xf86DrvMsg(pScreen->myNum, X_INFO, "[agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x]\n", diff --git a/src/radeon_driver.c b/src/radeon_driver.c index ae34cf3..f338d16 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -5567,8 +5567,10 @@ static Bool RADEONSaveScreen(ScreenPtr pScreen, int mode) if (unblank) SetTimeSinceLastInputEvent(); if ((pScrn != NULL) && pScrn->vtSema) { - if (unblank) RADEONUnblank(pScrn); - else RADEONBlank(pScrn); + if (unblank) + RADEONUnblank(pScrn); + else + RADEONBlank(pScrn); } return TRUE; } |