[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
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!
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.
I got GL_ARB_debug_output to work. It triggers when I provoke a glGetError and when I am calling glDebugMessageInsertARB.
Calling glGetIntegerv with GL_MAX_DEBUG_MESSAGE_LENGTH_ARB and GL_MAX_DEBUG_LOGGED_MESSAGES_ARB fails however.
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.
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
glGetIntegerv with GL_MAX_DEBUG_MESSAGE_LENGTH_ARB and GL_MAX_DEBUG_LOGGED_MESSAGES_ARB still triggers the callback though.