diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-02-11 12:45:14 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-02-11 12:45:14 -0500 |
commit | e7dedbc355970407eddb38370b58a8c96d204c1d (patch) | |
tree | a29eb8a772d5ee27d66c8e3ed2bb70d41e196c94 | |
parent | 4a759a907ecd571460c7ff64cd6288380359b04b (diff) |
R6xx/R7xx: Move engine idle to sync functions
-rw-r--r-- | src/r600_exa.c | 10 |
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); |