On 15/01/2009, at 10:32, Keith Packard <[email protected]> wrote: > 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.
The thing is I suspect anyone playing a movie will care less about slow desktop and more about tearing The ideal solution is of course a dbl buffered compmgr with hw pageflip and sync video > > > 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. > > -- > [email protected] > _______________________________________________ > xorg mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/xorg _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
