Missed in previous commit: Add a new migration scheme, called "Smart" for
lack of a better name. This one behaves somewhat between Greedy and Always. It moves in if we can accelerate, unless the destination is clean and shouldn't be kept in framebuffer according to the score, in which case we migrate out (and force-migrate anything where migration is free). This should help fix lack of acceleration for drivers without UTS since removing exaAsyncPixmapGCOps, and has removed one performance trap with Radeon I'd noticed. It is the new default.
This commit is contained in:
parent
b17a4de83e
commit
c947d796aa
|
@ -513,6 +513,6 @@ exaDDXDriverInit(ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
ExaScreenPriv(pScreen);
|
ExaScreenPriv(pScreen);
|
||||||
|
|
||||||
pExaScr->migration = ExaMigrationAlways;
|
pExaScr->migration = ExaMigrationSmart;
|
||||||
pExaScr->hideOffscreenPixmapData = TRUE;
|
pExaScr->hideOffscreenPixmapData = TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,6 +125,8 @@ exaDDXDriverInit(ScreenPtr pScreen)
|
||||||
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)
|
||||||
|
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",
|
||||||
|
|
Loading…
Reference in New Issue