The problem is that a version check is not reliable. For instance in case of a remote X session the version number for instance in case of the nvidia drivers can be 2.0 while most extensions aren't supported. For reasons like this we can't use version checks and should only detect extensions.
Roderick
On Tuesday 26 September 2006 03:21, Roderick Colenbrander wrote:
Vendors should still advertise GL_ARB_imaging for backwards compatibility if they do support
1.4
or higher but ATI and friends don't :(
Compliant implementations are not required to advertise an extension if they report a version in which the extension is part of the core. In other words, I can have an OpenGL 2.0 driver, not report /any/ extension that's in core 2.0, yet be fully 2.0 compliant with all the required functionality.
It sorta makes sense. After all, if something is part of the core OpenGL version the driver supports, it's not really an extension, is it? Though it is nice for backwards (and forwards, in some cases) compatibility.
A "clean" solution would be to make your own extension list. First filling it in with the advertised extensions, then checking the driver version and filling in all core extensions as appropriate for the version, then check your own extension list later on instead of the driver's.