xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Wed Mar 18 11:16:19 PDT 2009


 src/r600_exa.c      |    7 +++++--
 src/radeon_driver.c |    6 +++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit c0e2513ab128ddd5be0ed626d9e31777a98983ef
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Mar 18 14:08:30 2009 -0400

    R6xx/R7xx AGP: disable gart data transfers
    
    UTS/DFS/Xv
    
    Doesn't seem to be reliable on AGP.
    
    fixes bugs: 20436, 20236, several reports on ML and IRC

diff --git a/src/r600_exa.c b/src/r600_exa.c
index 22e554d..40f02e1 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -2084,8 +2084,11 @@ R600DrawInit(ScreenPtr pScreen)
     info->accel_state->exa->PrepareAccess = R600PrepareAccess;
     info->accel_state->exa->FinishAccess = R600FinishAccess;
 
-    info->accel_state->exa->UploadToScreen = R600UploadToScreen;
-    info->accel_state->exa->DownloadFromScreen = R600DownloadFromScreen;
+    /* AGP seems to have problems with gart transfers */
+    if (info->accelDFS) {
+	info->accel_state->exa->UploadToScreen = R600UploadToScreen;
+	info->accel_state->exa->DownloadFromScreen = R600DownloadFromScreen;
+    }
 
     info->accel_state->exa->flags = EXA_OFFSCREEN_PIXMAPS;
 #ifdef EXA_SUPPORTS_PREPARE_AUX
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index d1b2f54..5a15c70 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2375,7 +2375,11 @@ static Bool RADEONPreInitDRI(ScrnInfoPtr pScrn)
     xf86DrvMsg(pScrn->scrnIndex, from, "Page Flipping %sabled%s\n",
 	       info->dri->allowPageFlip ? "en" : "dis", reason);
 
-    info->DMAForXv = TRUE;
+    /* AGP seems to have problems with gart transfers */
+    if ((info->ChipFamily >= CHIP_FAMILY_R600) && (info->cardType == CARD_AGP))
+	info->DMAForXv = FALSE;
+    else
+	info->DMAForXv = TRUE;
     from = xf86GetOptValBool(info->Options, OPTION_XV_DMA, &info->DMAForXv)
 	 ? X_CONFIG : X_INFO;
     xf86DrvMsg(pScrn->scrnIndex, from,


More information about the xorg-commit mailing list