xf86-video-intel: 2 commits - src/intel_dri.c src/intel_video.c

Chris Wilson ickle at kemper.freedesktop.org
Tue May 10 12:40:56 PDT 2011


 src/intel_dri.c   |    2 ++
 src/intel_video.c |    1 +
 2 files changed, 3 insertions(+)

New commits:
commit 895a46e8ff70195c1a4bdccbeb652e330376f64a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue May 10 20:38:25 2011 +0100

    dri: Flush the batch after a DRI swap/copy event
    
    To minimise lag in those every so critical games, we want to ensure that
    the copy happens as soon as it is received, so we need to flush the
    batch after processing a swap event and before we go to sleep.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=37068
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/intel_dri.c b/src/intel_dri.c
index cd72f45..48d0f56 100644
--- a/src/intel_dri.c
+++ b/src/intel_dri.c
@@ -182,6 +182,8 @@ static PixmapPtr fixup_shadow(DrawablePtr drawable, PixmapPtr pixmap)
 	/* And redirect the pixmap to the new bo (for 3D). */
 	intel_set_pixmap_private(old, priv);
 	old->refcnt++;
+
+	intel_get_screen_private(xf86Screens[screen->myNum])->needs_flush = TRUE;
 	return old;
 }
 
commit 0b4ca9313cc7eb4845cf7f4e87c869c0c6d6ff0d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue May 10 20:36:10 2011 +0100

    video: Flush the batch on the next blockhandler after queuing
    
    In order to avoid video lag and jerky playback we need to ensure that
    any queued video is flushed before we go to sleep.
    
    Fixes regression from 6f104189bb.
    
    Reported-and-tested-by: Edward Sheldrake <ejsheldrake at gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37068
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/intel_video.c b/src/intel_video.c
index 499614f..021ca5f 100644
--- a/src/intel_video.c
+++ b/src/intel_video.c
@@ -1599,6 +1599,7 @@ I830PutImageTextured(ScrnInfoPtr scrn,
 					 pixmap);
 	}
 
+	intel_get_screen_private(scrn)->needs_flush = TRUE;
 	DamageDamageRegion(drawable, clipBoxes);
 
 	return Success;


More information about the xorg-commit mailing list