[PATCH 1/2] foo

Ville Syrjala syrjala at sci.fi
Mon May 2 14:55:29 PDT 2011


---
 src/radeon_dri2.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index e618cc5..ddb2721 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -719,18 +719,18 @@ void radeon_dri2_frame_event_handler(unsigned int frame, unsigned int tv_sec,
 
     switch (event->type) {
     case DRI2_FLIP:
-	if (info->allowPageFlip &&
+	if (/*info->allowPageFlip &&
 	    DRI2CanFlip(drawable) &&
-	    can_exchange(scrn, event->front, event->back) &&
+	    can_exchange(scrn, event->front, event->back) &&*/
 	    radeon_dri2_schedule_flip(scrn,
 				      event->client,
 				      drawable,
-				      event->front,
 				      event->back,
+				      event->front,
 				      event->event_complete,
 				      event->event_data,
 				      event->frame)) {
-	    radeon_dri2_exchange_buffers(drawable, event->front, event->back);
+             /*radeon_dri2_exchange_buffers(drawable, event->front, event->back);*/
 	    break;
 	}
 	/* else fall through to exchange/blit */
@@ -1147,6 +1147,9 @@ static int radeon_dri2_schedule_swap(ClientPtr client, DrawablePtr draw,
         *target_msc = vbl.reply.sequence + flip;
         swap_info->frame = *target_msc;
 
+	if (swap_type == DRI2_FLIP)
+	     radeon_dri2_exchange_buffers(draw, front, back);
+
         return TRUE;
     }
 
@@ -1193,6 +1196,9 @@ static int radeon_dri2_schedule_swap(ClientPtr client, DrawablePtr draw,
     *target_msc = vbl.reply.sequence + flip;
     swap_info->frame = *target_msc;
 
+    if (swap_type == DRI2_FLIP)
+	radeon_dri2_exchange_buffers(draw, front, back);
+
     return TRUE;
 
 blit_fallback:
-- 
1.7.3.4



More information about the xorg-devel mailing list