summaryrefslogtreecommitdiff
path: root/hw/xfree86/exa
diff options
context:
space:
mode:
authorEamon Walsh <ewalsh@tycho.nsa.gov>2007-11-14 13:35:50 -0500
committerEamon Walsh <ewalsh@moss-charon.epoch.ncsc.mil>2007-11-14 13:35:50 -0500
commit1603130236c55ddabc3854d4ba62d544debcf1f5 (patch)
tree02b1cffad943cb69c2b79118b0ab9a758b9e0f1a /hw/xfree86/exa
parentf207e69d62bc04c7f254347b03e6d8fa8b569d66 (diff)
parentf7dd0c72b8f861f4d5443a43d1013e3fe3db43ca (diff)
Merge branch 'master' into XACE-SELINUX
Conflicts: Xext/xace.c Xext/xace.h
Diffstat (limited to 'hw/xfree86/exa')
-rw-r--r--hw/xfree86/exa/exa.man.pre6
-rw-r--r--hw/xfree86/exa/examodule.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/hw/xfree86/exa/exa.man.pre b/hw/xfree86/exa/exa.man.pre
index 31e1cfe34..14859bc8f 100644
--- a/hw/xfree86/exa/exa.man.pre
+++ b/hw/xfree86/exa/exa.man.pre
@@ -31,6 +31,12 @@ Disables acceleration of downloading of pixmap data from the framebuffer.
Not usable with drivers which rely on DownloadFromScreen succeeding.
Default: No.
.TP
+.BI "Option \*qEXAOptimizeMigration\*q \*q" boolean \*q
+Enables an additional optimization for migration of destination pixmaps. This
+may improve performance in some cases (e.g. when switching virtual desktops with
+no compositing manager) but causes corruption in others (e.g. when starting
+compiz). Default: No.
+.TP
.BI "Option \*qMigrationHeuristic\*q \*q" anystr \*q
Chooses an alternate pixmap migration heuristic, for debugging purposes. The
default is intended to be the best performing one for general use, though others
diff --git a/hw/xfree86/exa/examodule.c b/hw/xfree86/exa/examodule.c
index aac32949c..b8d306eb4 100644
--- a/hw/xfree86/exa/examodule.c
+++ b/hw/xfree86/exa/examodule.c
@@ -49,6 +49,7 @@ typedef enum {
EXAOPT_NO_COMPOSITE,
EXAOPT_NO_UTS,
EXAOPT_NO_DFS,
+ EXAOPT_OPTIMIZE_MIGRATION
} EXAOpts;
static const OptionInfoRec EXAOptions[] = {
@@ -60,6 +61,8 @@ static const OptionInfoRec EXAOptions[] = {
OPTV_BOOLEAN, {0}, FALSE },
{ EXAOPT_NO_DFS, "EXANoDownloadFromScreen",
OPTV_BOOLEAN, {0}, FALSE },
+ { EXAOPT_OPTIMIZE_MIGRATION, "EXAOptimizeMigration",
+ OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL,
OPTV_NONE, {0}, FALSE }
};
@@ -138,6 +141,11 @@ exaDDXDriverInit(ScreenPtr pScreen)
heuristicName);
}
}
+
+ pExaScr->optimize_migration =
+ xf86ReturnOptValBool(pScreenPriv->options,
+ EXAOPT_OPTIMIZE_MIGRATION,
+ FALSE);
}
if (xf86IsOptionSet(pScreenPriv->options, EXAOPT_NO_COMPOSITE)) {