xf86-video-intel: src/sna/sna_dri.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Sep 30 05:09:40 PDT 2012


 src/sna/sna_dri.c |   12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

New commits:
commit 1756cf4d8e80cea47a28786c51cac4a760d6d0cf
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Sep 30 12:26:23 2012 +0100

    sna/dri: Only chain to a triple buffer pageflip sequence
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index 3d14284..4dc9647 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -1585,7 +1585,7 @@ sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 		     __FUNCTION__, pipe, sna->dri.flip_pending != NULL));
 
 		info = sna->dri.flip_pending;
-		if (info && info->draw == draw) {
+		if (info && info->draw == draw && info->type == DRI2_FLIP_THROTTLE) {
 			DBG(("%s: chaining flip\n", __FUNCTION__));
 			info->next_front.name = 1;
 			return true;
@@ -1872,12 +1872,10 @@ sna_dri_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 
 	if (can_flip(sna, draw, front, back)) {
 		DBG(("%s: try flip\n", __FUNCTION__));
-		if (!sna_dri_schedule_flip(client, draw, front, back,
-					   target_msc, divisor, remainder,
-					   func, data))
-			goto blit_fallback;
-
-		return TRUE;
+		if (sna_dri_schedule_flip(client, draw, front, back,
+					  target_msc, divisor, remainder,
+					  func, data))
+			return TRUE;
 	}
 
 	/* Drawable not displayed... just complete the swap */


More information about the xorg-commit mailing list