Extension loading

Hi

when an extension is not supported (eg. glsl on gf4 like hardware), is it executed on software by the driver, or not executed at all (ie function pointers are NULL) ?

wizzo

If a driver don’t support a extension, you cannot use it. Its the whole meaning of “don’t support”.

If a driver executes a extension usig a software implementation, this drivers says that you suport the extension. Like the NVIDIA emulation tool. If it is disabled there are extensions unsupported, but if you enabled it, there are extensions supported, with a software implementation.

API

so does that mean that i can run glsl shader on old hardware with Mesa ?

wizzo

I don’t know if Mesa makes software emulation of all OpenGL funcionalities. But, you are are using a hardware acelerated OpenGL implementation? Are you instaled a specific OpenGL drivers for Linux?

I dont know what happens with ATI, but NVIDIA has hardware acelerated drivers for Linux.

API

aw no, i’m not under linux, its just that I am making a school project with a couple people that dont have the necessary hardware, but that are supposed to run the app for testing their own coding. As it was just for testing, performances wouldn’t have mattered for them.
But we’ll have to figure out some way, apparently mesa has no glsl software implementation.

thanks for your help,
wizzo

You should be able to link to software Mesa instead of the system OpenGL libs on any platform and run ARB vertex and ARB fragment shader programs but not GLSL shaders.

You might be able to run something like renderMonkey on Mesa and compile GLSL to this but I haven’t tried it, it may not be feasible.

There’s also this:

http://developer.nvidia.com/object/nvemulate.html

I don’t know if it’s restricted to NVIDIA cards.

You should be able to link to software Mesa instead of the system OpenGL libs on any platform and run ARB vertex and ARB fragment shader programs but not GLSL shaders.
yeah thats what i thought so.

Thanks for the info about renderMonkey on Mesa, I thought about NVemulate and i will lok into that.

thanks for the help,
wizzo