NVIDIA releases OpenGL 4.1 drivers

NVIDIA is proud to announce the immediate availability of OpenGL 4.1 drivers for Linux as well as OpenGL 4.1 WHQL-certified drivers for Windows.

You will need any one of the following Fermi based GPU to get access to the OpenGL 4.1 and GLSL 4.10 functionality:

[ul][li]Quadro Plex 7000, Quadro 6000, Quadro 5000, Quadro 5000M, Quadro 4000[*]GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460[/ul][/li]For OpenGL 2 capable hardware, these new extensions are provided:

[ul][li]ARB_debug_output[]ARB_ES2_compatibility (also in core OpenGL 4.1)[]ARB_separate_shader_objects (also in core OpenGL 4.1)[/ul][/li]For OpenGL 3 capable hardware, these new extensions are provided:

[ul][li]ARB_get_program_binary (also in core OpenGL 4.1)[]ARB_robustness[]ARB_viewport_array (also in core OpenGL 4.1)[]GLX_EXT_create_context_ES2_profile[]WGL_EXT_create_context_ES2_profile[]GLX_ARB_create_context_robust_access[]WGL_ARB_create_context_robust_access[/ul][/li]For OpenGL 4 capable hardware, these new extensions are provided:

[ul][li]ARB_shader_precision (also in core OpenGL 4.1)[*]ARB_vertex_attrib_64bit (also in core OpenGL 4.1)[/ul][/li]The drivers and extension documentation can be downloaded from http://developer.nvidia.com/object/opengl_driver.html


… What is this? This doesn’t appear to be in the registry.

nor is GL_NVX_gpu_memory_info in the registry, I for one use


This might not be the official channel, but an incomplete/untrustworthy registry is pointless in my opinion.

WGL_EXT_create_context_es2_profile enables creating an OpenGL ES 2.0 context using a desktop OpenGL implementation. The current state of the spec can be found here:

By the way, these drivers (259.09) support 8 (out of 11) extensions introduced into core GL 4.1 specification. Currently only the following is not supported:

  • GL_ARB_cl_event
  • GL_ARB_debug_output
  • GL_ARB_shader_stencil_export

I haven’t tried all the extensions, but it looks nice so far…
Great job!
Thanks NVIDIA! :wink:

Great work

These are extensions introduced with OpenGL 4.1 not into.

There is still one extension missing especially, introduced with OpenGL 4.0:

  • GL_ARB_shading_language_include

Totally agree! Sorry, it was a semantic error made in the rush.

GL_ARB_debug_output is supported by the 259.09 drivers, but you must request a debug context for it to be available.

Thank you very much, Ian!

I’ll fix out my extension viewer. Well, it becomes more complicated to write good extension viewer. Now we should iterate through differently created contexts to find out what is supported in each one.

Not only the list of supported extensions differs, but also a pointer to functions cannot be retrieved if the proper GL context is not created.

So, yes, GL_ARB_debug_output extension is supported!
Ian, thanks again.


Now that’s a nice extension! Will there be a GLX version of it?

There is a GLX version of it (in the NVIDIA OpenGL 4.1 driver):



I got GL_ARB_debug_output to work. It triggers when I provoke a glGetError and when I am calling glDebugMessageInsertARB. :slight_smile:


Also, when I create a debug context, I get the GL_ARB_debug_output extensions and the GL_ARB_robustness extension. Creating a context with both the debug and the robustness WGL flags set, gives me only the GL_ARB_robustness extensions. Is that expected?

System is Win7x64, GPUs are 2x8800 GTX with the 259.09 driver.

hey that sounds awesome, could you provide me the source code for this ? ;D

I now get both a robust, and a debug context, reason was that WGL_CONTEXT_FLAGS_ARB was twice in the attribute list,thus only the last one was taken. Binaryly “oring” the flags and having it only once in the attribute list did the trick :slight_smile:

glGetIntegerv with GL_MAX_DEBUG_MESSAGE_LENGTH_ARB and GL_MAX_DEBUG_LOGGED_MESSAGES_ARB still triggers the callback though.

Thanks for reporting this, Scott! We’ve found the problem and it will be fixed in a future release.

Glad to be of service. :slight_smile:

So I was wondering what type of debug messages I am going to get?

I only got API/SEVERE calls so far, but what about feedback similar to the GLEXPERT driver?

The drivers have been updated to version 259.31, which includes a fix for the glGetIntegerv(GL_MAX_DEBUG_MESSAGE_LENGTH, etc) issue.

I can confirm that it works :slight_smile: