No video overlay on Intel X4500HD
Keith Packard
keithp at keithp.com
Wed Jan 14 16:32:26 PST 2009
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.
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20090114/e0fc89fe/attachment.pgp>
More information about the xorg
mailing list