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).

Signed-off-by: Chris Wilson <[email protected]>
Cc: Jesse Barnes <[email protected]>
Cc: Kristian Høgsberg <[email protected]>
---
 src/intel_display.c |    2 +-
 src/intel_dri.c     |    2 +-
 src/intel_driver.c  |    2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

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");
-- 
1.7.4.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to