Enhancements for Render composite request

Matthias Hopf mhopf at suse.de
Fri Sep 4 05:41:17 PDT 2009

On Sep 01, 09 18:08:55 +0100, Barry Scott wrote:
> Keith Packard wrote:
> >  2) No vblank synchronization. Anyone wanting to double buffer 2D apps
> >     has no way of avoiding tearing. I'd like this inside the X server
> >     to make updates under a RandR transform sync to vblank.
> This sounds like you end up in the same problems that the XV tear free 
> support has.
> Namely that because the Intel driver can only have the GPU do one thing 
> at a time
> the frame rate goes to hell if more then one app writes to the screen. 

Some for ATI radeon + radeonhd chips. I've thought back and forth but
haven't come up with a reasonable solution. Page flipping seems like the
only solution, but the logic gets really mad if multiple sync points
(e.g. GL contexts) are involved. Also I think the old way of duplicating
render commands on both surfaces is a bad idea, I guess it's better to
track damage and copy everything in one after the swap (+wait for the
swap to actually be finished).

> The worst case
> would be to split the screen in two with left and right windows. If both 
> the left and
> right apps ask for a tear free render the frame rate will halve.

Good point. Though I guess you *could* optimize for these cases.
It would be one hell of a logic block, though.


Matthias Hopf <mhopf at suse.de>      __        __   __
Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__          mat at mshopf.de
Phone +49-911-74053-715           __)  |_|  __)  |__  R & D   www.mshopf.de

More information about the xorg-devel mailing list