Correct some bugs causing performance issues in the "Smart" scheme.
This commit is contained in:
parent
8738bc295b
commit
005529a1c9
|
@ -1,3 +1,8 @@
|
||||||
|
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
|
* exa/exa_migration.c: (exaPixmapShouldBeInFB), (exaDoMigration):
|
||||||
|
Correct some bugs causing performance issues in the "Smart" scheme.
|
||||||
|
|
||||||
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
* exa/exa_accel.c: (exaCopyNtoN), (exaSolidBoxClipped),
|
* exa/exa_accel.c: (exaCopyNtoN), (exaSolidBoxClipped),
|
||||||
|
|
|
@ -72,7 +72,8 @@ exaPixmapIsDirty (PixmapPtr pPix)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns TRUE if the pixmap is either pinned in FB, or has a sufficient score
|
* Returns TRUE if the pixmap is either pinned in FB, or has a sufficient score
|
||||||
* to be considered "should be in framebuffer".
|
* to be considered "should be in framebuffer". That's just anything that has
|
||||||
|
* had more acceleration than fallbacks, or has no score yet.
|
||||||
*
|
*
|
||||||
* Only valid if using a migration scheme that tracks score.
|
* Only valid if using a migration scheme that tracks score.
|
||||||
*/
|
*/
|
||||||
|
@ -84,7 +85,7 @@ exaPixmapShouldBeInFB (PixmapPtr pPix)
|
||||||
if (exaPixmapIsPinned (pPix))
|
if (exaPixmapIsPinned (pPix))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
return pExaPixmap->score >= EXA_PIXMAP_SCORE_INIT;
|
return pExaPixmap->score >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -486,7 +487,11 @@ exaDoMigration (ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
|
||||||
if (pixmaps[i].as_dst && !exaPixmapShouldBeInFB (pixmaps[i].pPix) &&
|
if (pixmaps[i].as_dst && !exaPixmapShouldBeInFB (pixmaps[i].pPix) &&
|
||||||
!exaPixmapIsDirty (pixmaps[i].pPix))
|
!exaPixmapIsDirty (pixmaps[i].pPix))
|
||||||
{
|
{
|
||||||
can_accel = FALSE;
|
for (i = 0; i < npixmaps; i++) {
|
||||||
|
if (!exaPixmapIsDirty (pixmaps[i].pPix))
|
||||||
|
exaMoveOutPixmap (pixmaps[i].pPix);
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue