xf86-video-intel: src/intel_display.c src/intel_dri.c src/intel_driver.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Apr 20 00:54:44 PDT 2011


 src/intel_display.c |    2 +-
 src/intel_dri.c     |    2 +-
 src/intel_driver.c  |    2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

New commits:
commit 1d102cc6ed21d1c4afa47800eecd24b9d663f689
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Apr 12 13:48:38 2011 +0100

    Use SwapbuffersWait config option to control waiting on fullscreen swaps
    
    As fullscreen swaps were going via a different path to the swapping of
    ordinary windows, we were no longer honouring the xorg.conf option to
    disable swapbuffer waiting.
    
    This changes the code to only use pageflipping if the Option
    "SwapbuffersWait" is set to "TRUE" (default).
    
    Jesse's comment was that this should be superseded by actually
    supporting asynchronous page flips. As we are missing kernel and dix level
    support for that, in the meantime honour the config option.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
    Cc: Kristian Høgsberg <krh at bitplanet.net>

diff --git a/src/intel_display.c b/src/intel_display.c
index b6592c4..b55b110 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -1607,7 +1607,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) {
+	if (has_flipping && intel->swapbuffers_wait) {
 		xf86DrvMsg(scrn->scrnIndex, X_INFO,
 			   "Kernel page flipping support detected, enabling\n");
 		intel->use_pageflipping = TRUE;
diff --git a/src/intel_dri.c b/src/intel_dri.c
index a39b512..cd72f45 100644
--- a/src/intel_dri.c
+++ b/src/intel_dri.c
@@ -425,7 +425,7 @@ I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion,
 
 	/* Wait for the scanline to be outside the region to be copied */
 	if (pixmap_is_scanout(get_drawable_pixmap(dst)) &&
-	    intel->swapbuffers_wait) {
+	    intel->swapbuffers_wait && INTEL_INFO(intel)->gen < 60) {
 		BoxPtr box;
 		BoxRec crtcbox;
 		int y1, y2;
diff --git a/src/intel_driver.c b/src/intel_driver.c
index e867351..7014198 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -658,8 +658,6 @@ static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
 	intel->swapbuffers_wait = xf86ReturnOptValBool(intel->Options,
 						       OPTION_SWAPBUFFERS_WAIT,
 						       TRUE);
-	if (IS_GEN6(intel))
-		intel->swapbuffers_wait = FALSE;
 
 	xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Framebuffer %s\n",
 		   intel->tiling & INTEL_TILING_FB ? "tiled" : "linear");


More information about the xorg-commit mailing list