https://bugs.freedesktop.org/show_bug.cgi?id=52930

             Bug #: 52930
           Summary: glXWaitX is often ineffective
    Classification: Unclassified
           Product: Mesa
           Version: 8.0
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: GLX
        AssignedTo: mesa-dev@lists.freedesktop.org
        ReportedBy: bugs.freedesk...@karlt.net


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.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to