[Intel-gfx] Tearing In Composite XVideo
jbarnes at virtuousgeek.org
Thu Jun 4 13:25:55 CEST 2009
On Tue, 2 Jun 2009 11:16:08 +0100
Garry Bodsworth <garry at camvine.com> wrote:
> On 1 Jun 2009, at 21:36, Carl Worth wrote:
> > On Sat, 2009-05-30 at 08:17 +0100, Garry Bodsworth wrote:
> >> On 28 May 2009, at 20:36, Garry Bodsworth wrote:
> >>> With the 2.7.1 driver compositing an xv surface using OpenGL works
> >>> flawlessly, but in the latest git version it has started tearing
> >>> again. This is on an Intel 945GM, so I was wondering if the
> >>> commit
> >>> 393abc15b76804580bfee0760ddbd1fb77e66c02 could have made this
> >>> change?
> >>> Thanks,
> >>> Garry Bodsworth
> >> And I also forgot to mention this commit which does not sync xv
> >> surfaces if they are rendered offscreen -
> >> 34660fd2df5d61b77ed7041d32ac29053fc94f5a.
> >> http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=34660fd2df5d61b77ed7041d32ac29053fc94f5a
> >> It sounds a more likely culprit but I am not sure if that code is
> >> actually called on an Intel 945GM.
> > That commit may have cause problems, yes, but only because it
> > reversed the logic of the condition it added. When you tested, did
> > you also have
> > this later commit which fixes it?
> > commit c3bf8b980134a2761701e4bc18235695a1cb07a4
> > Author: Eric Anholt <eric at anholt.net>
> > Date: Thu May 21 11:05:01 2009 -0700
> > Fix backwards logic on whether to sync to vblank or not.
> > Thanks to Michel Dänzer for catching it.
> > If so, the next step would probably be to run a quick "git bisect"
> > to identify the actual commit which introduces the bug. If you can
> > do that,
> > please let us know what you find. Or if you need any help with the
> > git bisect, we'll be happy to do that as well.
> > By the way, is there some easy way to replicate the bug you're
> > having? Running a video player with an OpenGL-based compositing
> > manager or something? Let me know what you're doing.
> > And, hmm... should that have even worked tear-free before? It
> > seems like
> > only recently has Jesse been doing the work that would enable tear-
> > free
> > operation in a mode like that.
> > -Carl
> I think it was sheer dumb luck it wasn't tearing originally. What I
> will try to do is write a minimal GTK+/Clutter/gstreamer app that
> will demonstrate compositing video because it is easier to check
> these things on their own.
> What I am planning on doing now is trying to apply all the swap
> buffer patches from Jesse's blog post. It sounds to me from what I
> read it does exactly what I am looking for.
This commit, in git master, should fix tearing under GL composited
window managers, including for textured video. There are a few patches
that landed after this, including a fix for when your CRTC goes away.
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Tue Jun 2 16:42:56 2009 +0100
Sync DRI2 CopyRegion to vertical retrace
More information about the Intel-gfx