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