[Intel-gfx] [PATCH 3/3] ddx/dri2: Prevent option 'SwapBuffersWait' from disabling pageflip.
Mario Kleiner
mario.kleiner at tuebingen.mpg.de
Sun Oct 7 08:38:10 CEST 2012
Commit 1d102cc6ed21d1c4afa47800eecd24b9d663f689 introduced a
change, where setting option 'SwapBuffersWait' to 'off' disables
kms pageflipping of fullscreen windows.
Afaics this change had no benefit, but only downsides:
1. Apps which don't want to throttle their swaps to video refresh
rate and therefore set swap_limit to zero, will run through
the non-vsynced, tearing copyswap path, as before the change.
2. Apps which set their swap_limit > 0, because they want throttled
and vsynced swaps, will still get throttled to video refresh rate,
regardless of the 'SwapBuffersWait' 'off', because their swaps
are still scheduled via the normal kernel vblank events
path, as before the change. The only differences are that
more inefficient copyswaps instead of kms pageflips are used
for fullscreen drawables, timestamping gets unreliable and
tearing is present at the top of the screen due to lack of vsync.
Therefore no longer disable pageflipping if SwapBuffersWait is off.
Signed-off-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
---
src/intel_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/intel_display.c b/src/intel_display.c
index b2a5904..ac3dd8f 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -1731,7 +1731,7 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
gp.value = &has_flipping;
(void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp,
sizeof(gp));
- if (has_flipping && intel->swapbuffers_wait) {
+ if (has_flipping) {
xf86DrvMsg(scrn->scrnIndex, X_INFO,
"Kernel page flipping support detected, enabling\n");
intel->use_pageflipping = TRUE;
--
1.7.10.4
More information about the Intel-gfx
mailing list