summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-02-11 12:45:14 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-02-11 12:45:14 -0500
commite7dedbc355970407eddb38370b58a8c96d204c1d (patch)
treea29eb8a772d5ee27d66c8e3ed2bb70d41e196c94
parent4a759a907ecd571460c7ff64cd6288380359b04b (diff)
R6xx/R7xx: Move engine idle to sync functions
-rw-r--r--src/r600_exa.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/r600_exa.c b/src/r600_exa.c
index 6fd922cd..a7d058b0 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -2259,9 +2259,8 @@ R600MarkSync(ScreenPtr pScreen)
RADEONInfoPtr info = RADEONPTR(pScrn);
struct radeon_accel_state *accel_state = info->accel_state;
- accel_state->exaSyncMarker++;
+ return ++accel_state->exaSyncMarker;
- return accel_state->exaSyncMarker;
}
static void
@@ -2271,8 +2270,11 @@ R600Sync(ScreenPtr pScreen, int marker)
RADEONInfoPtr info = RADEONPTR(pScrn);
struct radeon_accel_state *accel_state = info->accel_state;
- if (accel_state->exaMarkerSynced != marker)
+ if (accel_state->exaMarkerSynced != marker) {
+ R600WaitforIdlePoll(pScrn);
accel_state->exaMarkerSynced = marker;
+ }
+
}
static Bool
@@ -4162,8 +4164,6 @@ R600PrepareAccess(PixmapPtr pPix, int index)
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
- R600WaitforIdlePoll(pScrn);
-
//flush HDP read/write caches
OUTREG(HDP_MEM_COHERENCY_FLUSH_CNTL, 0x1);