On Thu, 02 Jul 2009 12:07:20 +0200 Michel Dänzer <mic...@daenzer.net> wrote:
> On Wed, 2009-07-01 at 10:35 -0700, Jesse Barnes wrote: > > On Wed, 01 Jul 2009 11:53:14 -0400 > > Owen Taylor <otay...@redhat.com> wrote: > > > > > There's a more subtle reason why you want to actually glFinish() > > > rather than glFlush() - if your rendering takes long enough so > > > that you can't keep up with the refresh rate: > > > > > > - Do a bunch of rendering > > > - glFlush > > > - Wait for vblank > > > - glXSwapBuffers > > > > > > Will cause the glXSwapBuffers to happen in the middle of a frame, > > > while > > > > > > - Do a bunch of rendering > > > - glFinish > > > - Wait for vblank > > > - glXSwapBuffers > > > > > > Will cause it to properly happen at the *second* vblank. > > > > Of course glXSwapBuffers *should* just do the right thing and not > > tear by default (this happens with current radeon & intel drivers > > afaik). So I'd discourage people from using SGI_video_sync for > > tear-avoidance in general. If you get tearing with glXSwapBuffers, > > file a bug. > > Note that eliminating tearing only goes half the way to smooth > animation. Apps also need to be able to synchronize to the refresh, or > at least to the rendering frame rate. It seems like with DRI2 right > now we've mostly traded in the latter for the former. This may be > exacerbated with the intel driver because it doesn't seem to have any > explicit frame throttling any more, which can cause quite horrible > judder / stuttering (especially since the recent change to the > DRM_I915_GEM_THROTTLE ioctl behaviour). Yeah, DRI2 still needs support for the various sync extensions... I think Eric is still working on making the throttle ioctl reasonable. -- Jesse Barnes, Intel Open Source Technology Center ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev