NVIDIA Display Drivers 190.89 Exposes 199 OpenGL Extensions

NVIDIA Display Drivers

OpenGL 3



A new set of display drivers for GeForce based graphics cards is available. You can download them from HERE.

Compared to release 190.56, release 190.89 adds 9 new OpenGL extensions:

  • GL_ARB_draw_elements_base_vertex (OpenGL 3.1): cool extension that allows to use a
    large vertex array to store the vertices of several geometries (meshes for example) and render each geometry by adding a vertex offset in the DrawElements() function. Actually there is a new function called
    DrawElementsBaseVertex() to use.
  • GL_ARB_framebuffer_sRGB: ARB version of GL_EXT_framebuffer_sRGB. This extension adds a color space with a gamma correction (with gamma = 2.2). Just use glEnable(GL_FRAMEBUFFER_SRGB) to enable a FBO with gamma correction.
  • GL_ARB_seamless_cube_map: This extension allows implementations to take samples from adjacent
    cube map faces, providing the ability to create seamless cube maps. Just use glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS) to enable this feature.
  • GL_ARB_sync (OpenGL 3.1): this extension allows for synchronization between
    the host CPU and the GPU as well as between multiple GL contexts bound to multiple threads in the host CPU.
  • GL_ARB_texture_compression_rgtc: ARB version of GL_EXT_texture_compression_rgtc. This extension introduces four
    new block-based texture compression formats suited for unsigned and signed red and red-green textures. The compressed signed red-green format is reasonably suited for
    storing compressed normal maps.
  • GL_ARB_texture_env_crossbar: This extension adds the ability to use the color from any texture unit as a source.
  • GL_ARB_texture_multisample (OpenGL 3.1). This extension adds a new texture target (GL_TEXTURE_2D_MULTISAMPLE) and new sampler types
    in the GLSL: sampler2DMS, usampler2DMS, isampler2DMS. From the spec, multisampled textures are designed to be used as render targets.
  • GL_ARB_uniform_buffer_object: this extension allows to pass many uniform variables in one OpenGL call to shaders.
  • GL_NV_texture_barrier (OpenGL 3.0): This extension relaxes the restrictions on rendering to a currently
    bound texture and provides a mechanism to avoid read-after-write hazards.

Here is more information extracted from GPU Caps Viewer:
– Drivers Version: Forceware 6.14.11.9089 (8-27-2009)
– OpenGL Renderer: GeForce GTX 295/PCI/SSE2
– OpenGL Version: 3.2.0
– GLSL (OpenGL Shading Language) Version: 1.50 NVIDIA via Cg compiler
– Vertex Shader Texture Units: 32
– Pixel Shader Texture Units: 32
– Geometry Shader Texture Units: 32
– Max Texture Size: 8192×8192
– Max Anisotropic Filtering Value: X16.0
– Max Point Sprite Size: 63.4
– Max Dynamic Lights: 8
– Max Viewport Size: 8192×8192
– Max Vertex Uniform Components: 4096
– Max Fragment Uniform Components: 2048
– Max Geometry Uniform Components: 2048
– Max Varying Float: 60
– Max Vertex Bindable Uniforms: 12
– Max Fragment Bindable Uniforms: 12
– Max Geometry Bindable Uniforms: 12
– MSAA: 2X
– MSAA: 4X
– MSAA: 8X
– MSAA: 16X

Here is the list of the 199 extensions exposed by R190.89:

  • GL_ARB_color_buffer_float
  • GL_ARB_compatibility
  • GL_ARB_copy_buffer
  • GL_ARB_depth_buffer_float
  • GL_ARB_depth_clamp
  • GL_ARB_depth_texture
  • GL_ARB_draw_buffers
  • GL_ARB_draw_elements_base_vertex
  • GL_ARB_draw_instanced
  • GL_ARB_fragment_coord_conventions
  • GL_ARB_fragment_program
  • GL_ARB_fragment_program_shadow
  • GL_ARB_fragment_shader
  • GL_ARB_framebuffer_object
  • GL_ARB_framebuffer_sRGB
  • GL_ARB_geometry_shader4
  • GL_ARB_half_float_pixel
  • GL_ARB_half_float_vertex
  • GL_ARB_imaging
  • GL_ARB_map_buffer_range
  • GL_ARB_multisample
  • GL_ARB_multitexture
  • GL_ARB_occlusion_query
  • GL_ARB_pixel_buffer_object
  • GL_ARB_point_parameters
  • GL_ARB_point_sprite
  • GL_ARB_provoking_vertex
  • GL_ARB_seamless_cube_map
  • GL_ARB_shader_objects
  • GL_ARB_shading_language_100
  • GL_ARB_shadow
  • GL_ARB_sync
  • GL_ARB_texture_border_clamp
  • GL_ARB_texture_buffer_object
  • GL_ARB_texture_compression
  • GL_ARB_texture_compression_rgtc
  • GL_ARB_texture_cube_map
  • GL_ARB_texture_env_add
  • GL_ARB_texture_env_combine
  • GL_ARB_texture_env_crossbar
  • GL_ARB_texture_env_dot3
  • GL_ARB_texture_float
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_texture_multisample
  • GL_ARB_texture_non_power_of_two
  • GL_ARB_texture_rectangle
  • GL_ARB_texture_rg
  • GL_ARB_transpose_matrix
  • GL_ARB_uniform_buffer_object
  • GL_ARB_vertex_array_bgra
  • GL_ARB_vertex_array_object
  • GL_ARB_vertex_buffer_object
  • GL_ARB_vertex_program
  • GL_ARB_vertex_shader
  • GL_ARB_window_pos
  • GL_ATI_draw_buffers
  • GL_ATI_texture_float
  • GL_ATI_texture_mirror_once
  • GL_S3_s3tc
  • GL_EXT_texture_env_add
  • GL_EXT_abgr
  • GL_EXT_bgra
  • GL_EXT_bindable_uniform
  • GL_EXT_blend_color
  • GL_EXT_blend_equation_separate
  • GL_EXT_blend_func_separate
  • GL_EXT_blend_minmax
  • GL_EXT_blend_subtract
  • GL_EXT_compiled_vertex_array
  • GL_EXT_Cg_shader
  • GL_EXT_depth_bounds_test
  • GL_EXT_direct_state_access
  • GL_EXT_draw_buffers2
  • GL_EXT_draw_instanced
  • GL_EXT_draw_range_elements
  • GL_EXT_fog_coord
  • GL_EXT_framebuffer_blit
  • GL_EXT_framebuffer_multisample
  • GL_EXTX_framebuffer_mixed_formats
  • GL_EXT_framebuffer_object
  • GL_EXT_framebuffer_sRGB
  • GL_EXT_geometry_shader4
  • GL_EXT_gpu_program_parameters
  • GL_EXT_gpu_shader4
  • GL_EXT_multi_draw_arrays
  • GL_EXT_packed_depth_stencil
  • GL_EXT_packed_float
  • GL_EXT_packed_pixels
  • GL_EXT_pixel_buffer_object
  • GL_EXT_point_parameters
  • GL_EXT_provoking_vertex
  • GL_EXT_rescale_normal
  • GL_EXT_secondary_color
  • GL_EXT_separate_shader_objects
  • GL_EXT_separate_specular_color
  • GL_EXT_shadow_funcs
  • GL_EXT_stencil_two_side
  • GL_EXT_stencil_wrap
  • GL_EXT_texture3D
  • GL_EXT_texture_array
  • GL_EXT_texture_buffer_object
  • GL_EXT_texture_compression_latc
  • GL_EXT_texture_compression_rgtc
  • GL_EXT_texture_compression_s3tc
  • GL_EXT_texture_cube_map
  • GL_EXT_texture_edge_clamp
  • GL_EXT_texture_env_combine
  • GL_EXT_texture_env_dot3
  • GL_EXT_texture_filter_anisotropic
  • GL_EXT_texture_integer
  • GL_EXT_texture_lod
  • GL_EXT_texture_lod_bias
  • GL_EXT_texture_mirror_clamp
  • GL_EXT_texture_object
  • GL_EXT_texture_shared_exponent
  • GL_EXT_texture_sRGB
  • GL_EXT_texture_swizzle
  • GL_EXT_timer_query
  • GL_EXT_vertex_array
  • GL_EXT_vertex_array_bgra
  • GL_IBM_rasterpos_clip
  • GL_IBM_texture_mirrored_repeat
  • GL_KTX_buffer_region
  • GL_NV_blend_square
  • GL_NV_conditional_render
  • GL_NV_copy_depth_to_color
  • GL_NV_copy_image
  • GL_NV_depth_buffer_float
  • GL_NV_depth_clamp
  • GL_NV_explicit_multisample
  • GL_NV_fence
  • GL_NV_float_buffer
  • GL_NV_fog_distance
  • GL_NV_fragment_program
  • GL_NV_fragment_program_option
  • GL_NV_fragment_program2
  • GL_NV_framebuffer_multisample_coverage
  • GL_NV_geometry_shader4
  • GL_NV_gpu_program4
  • GL_NV_half_float
  • GL_NV_light_max_exponent
  • GL_NV_multisample_coverage
  • GL_NV_multisample_filter_hint
  • GL_NV_occlusion_query
  • GL_NV_packed_depth_stencil
  • GL_NV_parameter_buffer_object
  • GL_NV_parameter_buffer_object2
  • GL_NV_pixel_data_range
  • GL_NV_point_sprite
  • GL_NV_primitive_restart
  • GL_NV_register_combiners
  • GL_NV_register_combiners2
  • GL_NV_shader_buffer_load
  • GL_NV_texgen_reflection
  • GL_NV_texture_barrier
  • GL_NV_texture_compression_vtc
  • GL_NV_texture_env_combine4
  • GL_NV_texture_expand_normal
  • GL_NV_texture_rectangle
  • GL_NV_texture_shader
  • GL_NV_texture_shader2
  • GL_NV_texture_shader3
  • GL_NV_transform_feedback
  • GL_NV_transform_feedback2
  • GL_NV_vertex_array_range
  • GL_NV_vertex_array_range2
  • GL_NV_vertex_buffer_unified_memory
  • GL_NV_vertex_program
  • GL_NV_vertex_program1_1
  • GL_NV_vertex_program2
  • GL_NV_vertex_program2_option
  • GL_NV_vertex_program3
  • GL_NVX_conditional_render
  • GL_SGIS_generate_mipmap
  • GL_SGIS_texture_lod
  • GL_SGIX_depth_texture
  • GL_SGIX_shadow
  • GL_SUN_slice_accum
  • GL_WIN_swap_hint
  • WGL_EXT_swap_control
  • WGL_ARB_buffer_region
  • WGL_ARB_create_context
  • WGL_ARB_create_context_profile
  • WGL_ARB_extensions_string
  • WGL_ARB_make_current_read
  • WGL_ARB_multisample
  • WGL_ARB_pbuffer
  • WGL_ARB_pixel_format
  • WGL_ARB_pixel_format_float
  • WGL_ARB_render_texture
  • WGL_ATI_pixel_format_float
  • WGL_EXT_extensions_string
  • WGL_EXT_framebuffer_sRGB
  • WGL_EXT_pixel_format_packed_float
  • WGL_NV_float_buffer
  • WGL_NV_multisample_coverage
  • WGL_NV_render_depth_texture
  • WGL_NV_render_texture_rectangle
  • WGL_NVX_DX_interop

A more detailed description of each extension can be found at the following address:

The extensions exposed by the old Catalyst drivers are HERE.
You can use GPU Caps Viewer to retrieve the list of extensions of your graphics card.