On Wed, Apr 29, 2009 at 06:02:59PM -0700, Jesse Barnes wrote:
> On Wed, 29 Apr 2009 15:09:33 -0700
> Jesse Barnes <jbar...@virtuousgeek.org> wrote:
> > I'm still working through mutlihead issues on the kernel side; the
> > flip waits should wait for *both* vblank events before completing the
> > flip.  But other than that, I'm pretty happy with things.
> 
> This incremental set fixes up the multihead handling and adds swap
> interval support as a bonus.  It's nice to see flipping & no tearing on
> two heads at once!

Your interval handling seems to be too harsh. In case you wanted
something that can implement GLX_SGI_swap_control then AFAICS the
interval should only specify the minimum number of frames that must
pass between two swaps. Your code appears to always delay the flip by
exactly interval frames.

Also it seems that the cases where you have more than one back buffer
were not yet fully considered. I can see two use cases for this:

1) Triple buffering with the purpose of going faster than the monitor
refresh rate w/o tearing. Here you would never wait for any flips and
if a new flip is scheduled before the previous was completed then the
previous flip should be considered immediately complete so the buffer
can be reused.

2) Scheduling multiple flips in advance while maintaining the swap
interval. This way the application could render several frames in
advance and just queue the flips in the driver to gain a little more
breathing room for the rendering.

And as a final missing piece I would mention interlaced output with
proper field parity, but I'm not sure if you're interested in such
things for this API.

-- 
Ville Syrjälä
syrj...@sci.fi
http://www.sci.fi/~syrjala/

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to