On 28.07.2008 15:12, Corbin Simpson wrote: > Michel Dänzer wrote: >> On Mon, 2008-07-28 at 13:06 +0200, Thomas Hilber wrote: >>>> I assume this is due to scheduling latency between the vblank interrupt >>>> and the textured video rendering getting emitted from userspace. It may >>>> be possible to avoid this by synchronizing the textured video rendering >>>> to vertical blank, see >>>> >>>> http://cgit.freedesktop.org/~agd5f/xf86-video-ati/log/?h=vsync_accel >>> yeah! I already tried this. Syncronization with VBLANK itself is not a >>> problem but the sheer vertical size of tearing area in texture mode. >> If there is diagonal tearing, this indicates the 3D primitive used for >> textured video rendering is rendered as two consecutive triangles >> instead of as a single rectangle. It should be possible to fix this. > > Indeed, Dave and Alex suggested to me that I do this, when I was bored a > week ago. (I ended up working on bicubic filtering for textured Xv instead.) > > Delicious ASCII: > > |\ > | \ > | \ > | \ > |____\ > | |\ > | Xv | \ > |----|__\ > > If somebody actually wants it, then perhaps I can take another look in a > bit. >
Yes, that's something which is definitely needed (I actually wanted to look into this myself but didn't have time yet) - at least for slower devices any vsync method is not going to work otherwise. The nouveau driver already does it exactly like that (one big tri + scissors instead of rendering a quad which gets decomposed into two tris). Roland _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
