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

Chris Wilson ickle at kemper.freedesktop.org
Fri Jun 29 01:45:26 PDT 2012


 src/sna/sna_display.c |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 87c8f5a47e3abb7ff887aab45b6389cf9b8d8008
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jun 29 09:33:09 2012 +0100

    sna: Make the post-flip delay explictit
    
    As the kernel is inconsistent in enforcing this across generations,
    handle the synchronisation of the pageflip explicity. Ultimately this
    should be replaced with a tripple buffer mechanism.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 565e98c..f1e0bed 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2825,11 +2825,14 @@ disable:
 		/* XXX only works if the kernel stalls fwrites to the current
 		 * scanout whilst the flip is pending
 		 */
+		while (sna->mode.shadow_flip)
+			sna_mode_wakeup(sna);
 		(void)sna->render.copy_boxes(sna, GXcopy,
 					     sna->front, new, 0, 0,
 					     sna->front, old, 0, 0,
 					     REGION_RECTS(region),
 					     REGION_NUM_RECTS(region));
+		kgem_submit(&sna->kgem);
 
 		sna_pixmap(sna->front)->gpu_bo = old;
 		sna->mode.shadow = new;


More information about the xorg-commit mailing list