(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. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/905456 Title: needs to be built with --disable-asm for super meat boy to work To manage notifications about this bug go to: https://bugs.launchpad.net/mesa/+bug/905456/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs