From 9cfbf1ceda8f153438df1ba4b1712c55cc872017 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 28 Dec 2006 12:59:23 -0800 Subject: In EXA mode, force backing pixmaps into memory when doing XV to them. --- src/i830_video.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/i830_video.c b/src/i830_video.c index b50b21b9..f031a873 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -140,6 +140,11 @@ static Atom xvGamma0, xvGamma1, xvGamma2, xvGamma3, xvGamma4, xvGamma5; #define OVERLAY_DEBUG if (0) ErrorF #endif +/* Oops, I never exported this function in EXA. I meant to. */ +#ifndef exaMoveInPixmap +void exaMoveInPixmap (PixmapPtr pPixmap); +#endif + /* * This is more or less the correct way to initalise, update, and shut down * the overlay. Note OVERLAY_OFF should be used only after disabling the @@ -2388,6 +2393,13 @@ I830PutImage(ScrnInfoPtr pScrn, pPixmap = (PixmapPtr)pDraw; } +#ifdef I830_USE_EXA + if (pI830->useEXA) { + /* Force the pixmap into framebuffer so we can draw to it. */ + exaMoveInPixmap(pPixmap); + } +#endif + if (((char *)pPixmap->devPrivate.ptr < (char *)pI830->FbBase) || ((char *)pPixmap->devPrivate.ptr >= (char *)pI830->FbBase + pI830->FbMapSize)) { -- cgit v1.2.3