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@lists.freedesktop.org
          Reporter: tom.hudson....@gmail.com
        QA Contact: mesa-dev@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.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to