From c947d796aad0b81d661a10b787deed967376da79 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 18 Apr 2006 19:18:43 +0000 Subject: [PATCH] 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. --- hw/kdrive/ephyr/ephyr_draw.c | 2 +- hw/xfree86/exa/examodule.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/kdrive/ephyr/ephyr_draw.c b/hw/kdrive/ephyr/ephyr_draw.c index 68ffa9ef3..0d095352f 100644 --- a/hw/kdrive/ephyr/ephyr_draw.c +++ b/hw/kdrive/ephyr/ephyr_draw.c @@ -513,6 +513,6 @@ exaDDXDriverInit(ScreenPtr pScreen) { ExaScreenPriv(pScreen); - pExaScr->migration = ExaMigrationAlways; + pExaScr->migration = ExaMigrationSmart; pExaScr->hideOffscreenPixmapData = TRUE; } diff --git a/hw/xfree86/exa/examodule.c b/hw/xfree86/exa/examodule.c index 627bfd567..cc3a9d4f2 100644 --- a/hw/xfree86/exa/examodule.c +++ b/hw/xfree86/exa/examodule.c @@ -125,6 +125,8 @@ exaDDXDriverInit(ScreenPtr pScreen) 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",