diff options
author | Eric Anholt <eric@anholt.net> | 2006-12-28 12:59:23 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2006-12-28 12:59:37 -0800 |
commit | 9cfbf1ceda8f153438df1ba4b1712c55cc872017 (patch) | |
tree | 282fa096469ef54f43a0332e5af6e0f8f9b18b37 | |
parent | e889bde13dcc2438181a03319e204ae7b9235a78 (diff) |
In EXA mode, force backing pixmaps into memory when doing XV to them.
-rw-r--r-- | src/i830_video.c | 12 |
1 files changed, 12 insertions, 0 deletions
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)) { |