Tearing problem at bigger overlay sizes

Roland Scheidegger sroland at tungstengraphics.com
Tue Jan 20 09:44:00 PST 2009


On 19.01.2009 20:21, Christiaan van Dijk wrote:
>  Hi all,
> 
> here's a summary of the experiments I have been doing.
> 
> * A RS690 can not render a full-HD image in the vertical blanking time
> (@50Hz) but the engine should easily be able to render a full screen
> when split in two halves. This is the assumption I'm now working with
> and I feel confident about this.
> 

> * The AVIVO_D1MODE_VLINE_START_END is doing something but it's not clear
> what is happening. The register size also puzzles me, there seem to be
> 14 bits reserved for start and stop position (IRC blog) while the
> vertical counter register only has 13 bits.
> 
> I'm really starting to run out of idea's here, any input would be very
> appreciated. The system is intended as a HTPC connected to a full-HD LCD
> but is pretty useless with the current performance. Fglrx drivers are
> incredible unstable with full-HD and 64-bit platform and also do not
> seem to resolve the tearing issue.
> 

Not sure but I think using the fe/re_crtc wait isn't really that robust
as you risk missing entire frames - I'd think only using the vline wait
would be more robust.
I think best easy solution would just be to render the video as a couple
 (like 4 or so) of quads (that is, full width but 1/4th the height (
thought someone suggested that already somewhere?), with the expectation
that the first one is finished rendering after vblank. This ways you'd
only need 1 wait per frame and could just draw those couple of quads
afterwards.

Roland


More information about the xorg-driver-ati mailing list