diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 42324b1..89ef636 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -5208,6 +5208,13 @@ Bool RADEONEnterVT(int scrnIndex, int flags) pScrn->vtSema = TRUE; +#ifdef XF86DRI + if (info->directRenderingEnabled) + RADEONAdjustMemMapRegisters(pScrn, info->ModeReg); + else +#endif + RADEONRestoreMemMapRegisters(pScrn, info->ModeReg); + RADEONRestoreSurfaces(pScrn, info->ModeReg); if (!xf86SetDesiredModes(pScrn)) @@ -5225,12 +5232,9 @@ Bool RADEONEnterVT(int scrnIndex, int flags) /* get the DRI back into shape after resume */ RADEONDRISetVBlankInterrupt (pScrn, TRUE); RADEONDRIResume(pScrn->pScreen); - RADEONAdjustMemMapRegisters(pScrn, info->ModeReg); - } else + } #endif - RADEONRestoreMemMapRegisters(pScrn, info->ModeReg); - /* this will get XVideo going again, but only if XVideo was initialised during server startup (hence the info->adaptor if). */