summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2014-08-28 03:49:55 +0200
committerBen Skeggs <bskeggs@redhat.com>2014-09-01 08:50:41 +1000
commit6d49f3f7aaaec872b6f9841f744a0bf09cc98492 (patch)
tree585de10f9783a2c1315cbaca2f672c52957d4312 /src
parent10729a442be3cf018c5806c95ec4218977917ef3 (diff)
dri2: Set default SwapLimit to 1 for double-buffering.
This used to be 2 for pseudo-triplebuffering on XOrg 1.12+. However, it caused problems like unthrottled swapping at up to twice the video refresh rate for redirected windows under desktop composition, which can't be easily fixed under dri2. Default to double-buffering. Users can override this, but dri3 provides better solutions for this. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/nv_driver.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 6045095..4bad985 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -1138,10 +1138,10 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
reason = ": Caution: Use of this swap limit > 1 violates OML_sync_control spec on this X-Server!\n";
}
} else {
- /* Driver default: Double buffering on old servers, triple-buffering
- * on Xorg 1.12+.
+ /* Always default to double-buffering, because it avoids artifacts like
+ * unthrottled rendering of non-fullscreen clients under desktop composition.
*/
- pNv->swap_limit = (DRI2INFOREC_VERSION < 6) ? 1 : 2;
+ pNv->swap_limit = 1;
reason = "";
from = X_DEFAULT;
}