diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c index 55710ff..1087a42 100644 --- a/src/radeon_exa_funcs.c +++ b/src/radeon_exa_funcs.c @@ -301,7 +301,9 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h, exaMarkSync(pDst->drawable.pScreen); return TRUE; - } + } else if (info->directRenderingEnabled) { + RADEONCPFlushIndirect(pScrn, 1); + } #endif /* Do we need that sync here ? probably not .... */ @@ -486,6 +488,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h, info->accel_state->exaMarkerSynced = info->accel_state->exaSyncMarker; return TRUE; + } else if (info->directRenderingEnabled) { + RADEONCPFlushIndirect(pScrn, 1); } #endif