summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-03-18 14:08:30 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-03-18 14:08:30 -0400
commitc0e2513ab128ddd5be0ed626d9e31777a98983ef (patch)
tree50ef46eb66dd94966187b40a4e9000e225bb71b1
parente3e1f0c7b892b094b292081021a0e97932b8e079 (diff)
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
-rw-r--r--src/r600_exa.c7
-rw-r--r--src/radeon_driver.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/src/r600_exa.c b/src/r600_exa.c
index 22e554da..40f02e1e 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 d1b2f540..5a15c70d 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,