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