EXA: Allow optimized migration to be enabled with mixed pixmaps.

This was always the intention, I only recently realized it wasn't the case
yet...

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
Acked-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Michel Dänzer 2009-12-28 16:48:18 +01:00 committed by Keith Packard
parent 661630f909
commit d42f396051

View File

@ -122,24 +122,25 @@ exaDDXDriverInit(ScreenPtr pScreen)
memcpy(pScreenPriv->options, EXAOptions, sizeof(EXAOptions));
xf86ProcessOptions (pScrn->scrnIndex, pScrn->options, pScreenPriv->options);
if ((pExaScr->info->flags & EXA_OFFSCREEN_PIXMAPS) &&
pExaScr->info->offScreenBase < pExaScr->info->memorySize)
{
char *heuristicName;
if (pExaScr->info->flags & EXA_OFFSCREEN_PIXMAPS) {
if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) &&
pExaScr->info->offScreenBase < pExaScr->info->memorySize) {
char *heuristicName;
heuristicName = xf86GetOptValString (pScreenPriv->options,
EXAOPT_MIGRATION_HEURISTIC);
if (heuristicName != NULL) {
if (strcmp(heuristicName, "greedy") == 0)
pExaScr->migration = ExaMigrationGreedy;
else if (strcmp(heuristicName, "always") == 0)
pExaScr->migration = ExaMigrationAlways;
else if (strcmp(heuristicName, "smart") == 0)
pExaScr->migration = ExaMigrationSmart;
else {
xf86DrvMsg (pScreen->myNum, X_WARNING,
"EXA: unknown migration heuristic %s\n",
heuristicName);
heuristicName = xf86GetOptValString (pScreenPriv->options,
EXAOPT_MIGRATION_HEURISTIC);
if (heuristicName != NULL) {
if (strcmp(heuristicName, "greedy") == 0)
pExaScr->migration = ExaMigrationGreedy;
else if (strcmp(heuristicName, "always") == 0)
pExaScr->migration = ExaMigrationAlways;
else if (strcmp(heuristicName, "smart") == 0)
pExaScr->migration = ExaMigrationSmart;
else {
xf86DrvMsg (pScreen->myNum, X_WARNING,
"EXA: unknown migration heuristic %s\n",
heuristicName);
}
}
}