PDA

View Full Version : ClanLib Compile bug with Nvidia GLX Legacy drivers.



Xander.C
04-18-2007, 10:56 PM
Hmm, I feel rather pretentious posting a "bug" before I've even started really using the lib, however.. :)

I don't know if you're aware of this issue, but essentially clanlib fails to compile with the nvidia-legacy drivers (The ones for TNT's, Geforce 1/2 and old Quadro cards) due to lacking glxGetProcAddress().

That function is part of GLX 1.4, which was properly implemented and finalised in the current drivers. However, since the legeacy drivers are (afaik) just a frozen copy of the mainstream drivers as of version 74.7x and lack the standard glxGetProcAddress().

For legacy drivers predating GLX 1.4 standardisation, glXGetProcAddressARB() is the correct (and only) function available.

Though I wonder if this will mean I have to compile two sets of binarys. One for my own machine to test, and one for release. :/

Its probably a "minor" issue in that not many people use the legacy cards anymore.

Afterthought: Halfway through posting this, I noticed this is already mentioned on the 0.8 FAQ page in the first item. (D'oh, oddly the FAQ didn't come up in google via "clanlib glxGetProcAddress()") So treat this as extra information about the issue in regards to exceptional situations, or ignore it, up to you. :)

Edit: After poking around in the files (Sources/GL/opengl.h) I see this is already accounted for, I suppose I should have done that first, heh. :P

Magnus Norddahl
05-11-2007, 04:05 AM
The only right way to fix this problem is to change ClanLib to dynamically load all OpenGL libraries (GLX and GL). In principle it shouldn't be that much work to do it (clanlib already internally use wrappers for all OpenGL calls to export the 2.0 API), but so far no one has found the time to implement this.

Personally I will not fix this bug until the 0.9 version is ready for general use.