[Mesa-dev] [Bug 43896] Mesa assembly breaks Super Meat Boy, Shank
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Dec 19 07:00:39 PST 2011
https://bugs.freedesktop.org/show_bug.cgi?id=43896
Brian Paul <brianp at vmware.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |NOTOURBUG
--- Comment #5 from Brian Paul <brianp at vmware.com> 2011-12-19 07:00:39 PST ---
(In reply to comment #3)
> (In reply to comment #2)
> > Sounds like a bug in the application to me. From the GLX 1.4 spec (though
> > that's certainly not new in 1.4):
> >
> > "A non-NULL return value for glXGetProcAddress does not guarantee that an
> > extension function is actually supported at runtime. The client must also query
> > glGetString() or glXQueryExtensionsString to determine if an extension is
> > supported by a particular context."
>
> I'm not sure what behaviour is correct. I relied on the the description of
> glXGetProcAddress:
> http://www.opengl.org/sdk/docs/man/xhtml/glXGetProcAddress.xml
>
> "A NULL pointer is returned if function requested is not suported in the
> implementation being queried."
There's no conflict between the quotes above. Getting a non-NULL pointer is no
indication whatsoever about whether the extension is supported or not
supported.
The reason is this: suppose the very first call in main() is
glXGetProcAddress("glGenTransformFeedbacks"). At this point, the GL library
can't determine whether the extension is supported because it hasn't even
opened an X display connection. Depending on which display/GPU is used, the
extension may or may not be supported. So if libGL implements the function (or
can generate a dispatch stub for it) it must return the pointer for it right
away.
Later on, the app has to check GL_EXTENSIONS to see if
GL_ARB_transform_feedback2 is really supported. If the extension is not
supported and the function is called anyway, things might blow up.
This is an application bug.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the mesa-dev
mailing list