[Mesa-dev] [Bug 100988] glXGetCurrentDisplay() no longer works for FakeGLX contexts?

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 10 13:24:44 UTC 2017


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

            Bug ID: 100988
           Summary: glXGetCurrentDisplay() no longer works for FakeGLX
                    contexts?
           Product: Mesa
           Version: 17.0
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: GLX
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: tom.hudson.phd at gmail.com
        QA Contact: mesa-dev at lists.freedesktop.org

I'm trying to upgrade a Mesa 10 installation to Mesa 17. There have been plenty
of changes, but only one breakage that's left me perplexed.

https://cgit.freedesktop.org/mesa/mesa/commit/?id=c00b250c8061d042d9905e61b9077462ee91008b

In this CL, Mesa stopped maintaining a __GLXcontext for FakeGLX; there's just
an XMesaContext.

Fake_glXGetCurrentContext() casts the XMesaContext to a __GLXContext and
returns it. Perhaps the reasonable assumption is that a context is an opaque
object.

However, glXGetCurrentDisplay() doesn't respect that assumption; it assumes it
is getting a valid __GLXContext and returns __GLXContext::currentDpy, the first
pointer.

The first pointer in an XMesaContext is *not* a pointer to a Display, and so
any code that relies on this code path seems doomed to disappointment.

This is hitting us in open-source projects based on Ogre, but seems like a
breakage in the public API that other users would have run into in the 3 years
since that commit?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170510/1549e107/attachment.html>


More information about the mesa-dev mailing list