Tearing problem at bigger overlay sizes
Christiaan van Dijk
dvbmail at xs4all.nl
Tue Jan 20 10:49:27 PST 2009
Roland Scheidegger wrote:
>> 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
>
>
>
Thanks for the very helpful hint!
Just adapted the code to wait for WAIT_CRTC_VLINE, display is split in
two halves for rendering with two quads. The top part uses lines
540..840 as start/stop, no inversion. Bottom part uses lines 0..300, no
inversion. This guarantees 240 lines for rendering of each screen half.
This gives full-screen playback with NO-TEARING!!!!!
I will clean up and improve the code (right now very raw) with this
solution, will post the diffs when done.
Thanks,
Christiaan.
More information about the xorg-driver-ati
mailing list