[Intel-gfx] Tearing In Composite XVideo

Garry Bodsworth garry at camvine.com
Thu Jun 4 14:59:33 CEST 2009


On 4 Jun 2009, at 12:25, Jesse Barnes wrote:

> 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
>>>
>> Hi,
>>
>> 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.
>
> commit ec2fde7c8250fdc30984f16c8a1d3587d70b0144
> Author: Jesse Barnes <jbarnes at virtuousgeek.org>
> Date:   Tue Jun 2 16:42:56 2009 +0100
>
>    Sync DRI2 CopyRegion to vertical retrace
>

I tried that this morning and it worked great.  I did spend a day and  
half trying dri2-swapbuffers branches of the various projects -  
getting them all to compile and work except for xserver.

The video is looking really good now on the 945GM.

Many thanks,
Garry Bodsworth


More information about the Intel-gfx mailing list