summaryrefslogtreecommitdiff
path: root/exa/exa_accel.c
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-07-22 21:35:41 +0200
committerMaarten Maathuis <madman2003@gmail.com>2009-08-06 23:48:13 +0200
commitac7ac913fd98ea359c05c89968ab53a3223615b4 (patch)
tree084201c6a72c02db79556508b5ff9af7166ecdc1 /exa/exa_accel.c
parent3abbd327f4a732408119de1f8e9ecba4812772a5 (diff)
exa: Split out some classic and driver allocated pixmap code into seperate files
- Create a few seperate functions and a few private function pointers. - Replace a few if conditions with a check for pExaPix->pDamage instead. - This is in preperation of a third scheme that lies somewhere in between. - Code clarity would have suffered (i started working on it and didn't like the mess).
Diffstat (limited to 'exa/exa_accel.c')
-rw-r--r--exa/exa_accel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 3aa55788c..bc970bbe1 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1015,7 +1015,7 @@ exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
(*pExaScr->info->DoneSolid) (pPixmap);
exaMarkSync(pDrawable->pScreen);
- if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) &&
+ if (pExaPixmap->pDamage &&
pDrawable->width == 1 && pDrawable->height == 1 &&
pDrawable->bitsPerPixel != 24) {
ExaPixmapPriv(pPixmap);
@@ -1233,13 +1233,14 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
{
ExaScreenPriv (pDrawable->pScreen);
PixmapPtr pPix = exaGetDrawablePixmap (pDrawable);
+ ExaPixmapPrivPtr pExaPixmap = ExaGetPixmapPriv (pPix);
int xoff, yoff;
Bool ok;
if (pExaScr->swappedOut)
goto fallback;
- if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS)) {
+ if (pExaPixmap->pDamage) {
BoxRec Box;
RegionRec Reg;
ExaMigrationRec pixmaps[1];