On Fri, Sep 01, 2006 at 01:57:24PM +0200, Roderick Colenbrander wrote:
The way WGL extensions are loaded is different. The old code correctly advertised the names of available WGL extensions but the wglGetProcAddress code didn't work correctly. Even if an extension wasn't advertised you could get a function pointer to the functions. On Windows wglGetProcAddress would return NULL.
Note that (as far as I know), 'wglGetProcAddress' returns NULL on non-existant extensions for all extensions, whether they are GL or WGL ones.
This means that our implementation of it is broken (at least on DRI / Mesa) as 'glXGetProcAddress' may return a non-NULL value when querying a non-supported extension.
So if we really want to be windows-like, we would need to add a 'function name / extension name' database and check if the extension corresponding to the function is present before actually calling 'glXGetProcAddress'.
But as I ever only once got a bug report linked to that, I never took the pain to fix it :-)
Lionel (catching up his old mails)
PS: I guess that this 'database' may be automatically build by the 'make_opengl' script though so it should not be that hard to do :-)