diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-03-18 14:08:30 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-03-18 14:08:30 -0400 |
commit | c0e2513ab128ddd5be0ed626d9e31777a98983ef (patch) | |
tree | 50ef46eb66dd94966187b40a4e9000e225bb71b1 | |
parent | e3e1f0c7b892b094b292081021a0e97932b8e079 (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.c | 7 | ||||
-rw-r--r-- | src/radeon_driver.c | 6 |
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, |