The description of glXWaitX says "X rendering calls made prior to glXWaitX are guaranteed to be executed before GL rendering calls made after glXWaitX", but glXWaitX is currently a no-op when direct rendering unless the current drawable is a window and single buffered. In situations where dri2_copy_drawable is used it performs the required X server round trip. At one point in history glXWaitX called XSync with direct rendering: http://cgit.freedesktop.org/mesa/mesa/commit/src/glx/x11?id=63b51b5cf17ddde09b72a2811296f37b9a4c5ad2 It seems XSync should be used when dri2_copy_drawable is not necessary. There is some discussion in this thread: http://lists.freedesktop.org/archives/mesa-dev/2011-June/008124.html Perhaps LastKnownRequestProcessed NextRequest can be used to determine whether the XSync is necessary. They could also detect that the XSync is not necessary after dri2_copy_drawable. glxWaitGL looks like a no-op in similar situations. I wonder whether at least a glFlush is required here. applegl and indirect contexts appear to support glXWaitX/GL.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/85.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.