No video overlay on Intel X4500HD

Michel Dänzer michel at daenzer.net
Thu Jan 15 01:21:57 PST 2009


On Wed, 2009-01-14 at 16:32 -0800, Keith Packard wrote:
> 
> 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

     C.	What the radeon driver does: queuing a command to stop the
	graphics engine until scanout is outside of the vertical CRTC
	area to be rendered to and then queuing the rendering commands
	right after that.

> 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.

With C., the percentage of time the pipeline stalls more or less
corresponds to the percentage of the vertical CRTC area covered by the
video, which I suspect is generally more acceptable than video tearing.


> 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.

That's well covered by CRTC coverage analysis or something like the
XV_CRTC attribute in ambiguous cases.


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer



More information about the xorg mailing list