diff --git a/src/r5xx_exa.c b/src/r5xx_exa.c index 36e91ad..beb7cb2 100644 --- a/src/r5xx_exa.c +++ b/src/r5xx_exa.c @@ -433,7 +433,8 @@ R5xxEXAUploadToScreenCP(PixmapPtr pDst, int x, int y, int w, int h, } dstoffset += rhdPtr->FbIntAddress + rhdPtr->FbScanoutStart; - R5xxEngineWaitIdle3D(CS); + RHDCSFlush(CS); + /*R5xxEngineWaitIdle3D(CS);*/ for (; h; ) { hpass = min((unsigned int) h, hpass); @@ -592,7 +593,7 @@ R5xxEXADownloadBlit(struct RhdCS *CS, CARD32 datatype, RHDCSRegWrite(CS, R5XX_DST_Y_X, 0); RHDCSRegWrite(CS, R5XX_DST_HEIGHT_WIDTH, (h << 16) | w); - RHDCSFlush(CS); + /*RHDCSFlush(CS);*/ } /* @@ -613,7 +614,8 @@ R5xxEXADownloadFromScreenCP(PixmapPtr pSrc, int x, int y, int w, int h, /* maybe we shouldn't bother to idle the engine for tiny ones. */ if ((w * h * (pSrc->drawable.bitsPerPixel / 8)) < 64) - return R5xxEXADownloadFromScreenManual(pSrc, x, y, w, h, dst, dstpitch); + return FALSE; + /*return R5xxEXADownloadFromScreenManual(pSrc, x, y, w, h, dst, dstpitch);*/ datatype = R5xxEXADatatypeGet(pSrc->drawable.bitsPerPixel); if (!datatype) { @@ -641,7 +643,8 @@ R5xxEXADownloadFromScreenCP(PixmapPtr pSrc, int x, int y, int w, int h, BufferPitch = (wpass + 63) & ~63; hpass = ExaPrivate->BufferSize / BufferPitch; - R5xxEngineWaitIdle3D(CS); + RHDCSFlush(CS); + /*R5xxEngineWaitIdle3D(CS);*/ while (h) { hpass = min((unsigned int) h, hpass); @@ -653,7 +656,7 @@ R5xxEXADownloadFromScreenCP(PixmapPtr pSrc, int x, int y, int w, int h, /* this is quite a big hammer, but we have no other option here */ RHDCSFlush(CS); RHDCSIdle(CS); - R5xx2DIdle(pScrn); + /*R5xx2DIdle(pScrn);*/ /* Copy out data from previous blit */ if ((wpass == BufferPitch) && (wpass == (unsigned int) dstpitch)) { diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c index 252e7b0..65e194c 100644 --- a/src/radeon_exa_render.c +++ b/src/radeon_exa_render.c @@ -1360,7 +1360,8 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture, accel_state->is_transform[1] = FALSE; } - RADEON_SWITCH_TO_3D(); + /*RADEON_SWITCH_TO_3D();*/ + RHDCSFlush(rhdPtr->CS); /* setup the VAP */ if (HAS_TCL) {