summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2006-10-14 15:49:22 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2006-10-14 15:49:22 +0200
commitc9c2ac2b42398f5bfad909f3289e2545bb7b3888 (patch)
treefbaa9508226602cb184728ad3582d5ae8fb69c95
parentc19915a401ccf69046bed03c8d5067f2e72a094e (diff)
radeon: Don't try to synchronize pages when the CP isn't running.
Also move the DamageEmpty() call into RADEONDRIRefreshArea().
-rw-r--r--src/radeon_dri.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index c50ebcb..4f39e5c 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -425,8 +425,6 @@ static void RADEONLeaveServer(ScreenPtr pScreen)
if (pDamageReg) {
RADEONDRIRefreshArea(pScrn, REGION_NUM_RECTS(pDamageReg),
REGION_RECTS(pDamageReg));
-
- DamageEmpty(info->pDamage);
}
}
#endif
@@ -1815,7 +1813,7 @@ static void RADEONDRIRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
PixmapPtr pPix = pScreen->GetScreenPixmap(pScreen);
#endif
- if (!info->directRenderingInited)
+ if (!info->directRenderingInited || !info->CPStarted)
return;
/* Don't want to do this when no 3d is active and pages are
@@ -1879,6 +1877,8 @@ static void RADEONDRIRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
#ifdef USE_XAA
info->dst_pitch_offset &= ~RADEON_DST_TILE_MACRO;
#endif
+
+ DamageEmpty(info->pDamage);
}
#endif /* DAMAGE */