summaryrefslogtreecommitdiff
path: root/src/radeon_driver.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-02-18 11:46:20 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-02-18 11:46:20 -0500
commit1a237a40958c006c56b80850bd77b2ac6c17e030 (patch)
treed1dbb024a99322a3352fb3a13975082ec863eeb4 /src/radeon_driver.c
parent9a108f0a0b7203458673ce6221e747a166d39617 (diff)
ATOM: reset crtc initialized flag on CloseScreen()
additional fix needed for bug 16781
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r--src/radeon_driver.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 32608a4c..32cb307e 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5641,6 +5641,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
RADEONInfoPtr info = RADEONPTR(pScrn);
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+ int i;
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"RADEONCloseScreen\n");
@@ -5650,6 +5652,13 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
*/
info->accelOn = FALSE;
+ for (i = 0; i < config->num_crtc; i++) {
+ xf86CrtcPtr crtc = config->crtc[i];
+ RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
+
+ radeon_crtc->initialized = FALSE;
+ }
+
#ifdef XF86DRI
#ifdef DAMAGE
if (info->dri && info->dri->pDamage) {