On Mon, Aug 17, 2015 at 03:17:30PM -0700, Eric Anholt wrote: > Chris Wilson <ch...@chris-wilson.co.uk> writes: > > > "X rendering calls made prior to glXWaitX are guaranteed to be > > executed before GL rendering calls made after glXWaitX." > > > > The goal is to implement that without adding a round-trip to the > > Xserver. Adding one using XSync() is easy, but we can piggy-back > > another, the DRI2GetBuffers request made to update the render buffers > > before the next rendering (thus satisfying the condition of flushing all > > X operations before the next GL rendering). To this end we can just flag > > the DRI2 buffers as invalid, and the driver will refresh them in due > > course. If the DRI2 buffers are, or will be, invalid due to damage from > > X or through a SwapBuffers call, we will not have to add another > > roundtrip as the single DRI2GetBuffers will refresh over multiple > > invalidates. > > > > This should fix the historic issue that glXWaitX() has been unreliable, > > but has recently found itself a new trigger will the removal of > > unnecessary glViewport calls: > > I think XSync makes more sense. It's cheaper, and it does exactly what > you're supposed to do at this point -- make sure that all your X > requests have been processed, so that any GL batchbuffer flushes happen > after that.
Considering the issue that Michel raise, XSync is not cheaper than a known flush point. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev