No video overlay on Intel X4500HD

David Amiel david at lesamiel.fr
Thu Jan 15 01:34:48 PST 2009


Le Jeu 15 janvier 2009 01:32, Keith Packard a écrit :
> On Wed, 2009-01-14 at 19:35 +0000, Daniel Gultsch wrote:
>> Hi Guys,
>>
>> My major problem is that i dont have the "Intel(R) Video Overlay" but
>> only the "Intel(R) Textured Video" - as reported by xvinfo | grep -i
>> adaptor. This causes tearing and i really need to watch movies :-)
>
> The textured adapter causes tearing because it doesn't synchronize the
> screen update to the vblank. Synchronizing this operation involves
> either:
>      A. queuing a command to stop the graphics engine until the vblank
>         interval and then queuing the rendering commands right after
>         that.
>      B. waiting for the vblank interval to occur and then quickly
>         queueing suitable rendering commands to the graphics engine
>
> Of the two, A. is trivial where it works (it does work on the X4500),
> but it means that all rendering on the screen stops once the command to
> display the video is queued to the card. That seems fairly harsh. I
> believe there is a patch around that will do this though; it might be
> reasonable if the video was filling the screen.


Avoiding tearing in a particular case, even with side effects, would be a
lot better than to be stuck with it in all cases.

Could you point us to this patch ? or maybe you can make it available in
the driver through an xorg option ?



> So, we'd like to do B., but that requires the ability to stop the
> graphics engine in the middle of some drawing operation and switch it
> over to the 'update the video' command sequence at vblank time. We've
> explored several options here, but haven't gotten anything working. This
> is also tied in with the DRI2 work, which needs exactly the same
> operation.
>
> And that doesn't consider multi-head environments where you have to know
> which monitor you want to sync with so that you can wait for the right
> time.
>
> The overlay can easily synchronize because the overlay isn't connected
> to the graphics pipeline, and the overlay registers are all nicely
> double-buffered. So, you just poke a pointer to the new image into the
> overlay registers and they get swapped automatically at vblank time,
> making the transition entirely tearless.
>
> We're about to go try to make this work for DRI2, and so Xv should come
> along more-or-less for free. We sketched out some ideas on how this
> might work at XDS last fall, but then got distracted getting DRI2
> support into the kernel in time for 2.6.28 -- we dropped the vblank
> stuff as that doesn't have a huge impact on the kernel, or application
> interfaces.
>
> --
> keith.packard at intel.com
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg

regards,

David





More information about the xorg mailing list