(Tested) NVIDIA Display Drivers 190.56 with OpenGL 3.2 Support And New OpenGL Extensions

NVIDIA Display Driver

OpenGL 3.2



Today is an important day for all OpenGL developers. After the announce of the OpenGL 3.2 release, it’s the turn to NVIDIA to publish an OpenGL 3.2-ready piece of software: a new set of beta drivers.

This new set supports Quadro FX 370, 570, 1700, 3700, 4600, 4700×2, 4800, 5600, 5800, Quadro VX200, Quadro CX, GeForce 8000 series or higher, Geforce G100, GT120, 130, 220, GTS 150, Geforce GTS 250, GeForce GTX 260, 280, 285 and 295, and any ION based products.

This driver supports all of OpenGL 3.2 and GLSL 1.50, except for the following:

  • Geometry shaders as part of the core. You can use the ARB_geometry_shader extension instead
  • glXCreateContextAttribsARB() does not yet support the GLX_CONTEXT_PROFILE_MASK_ARB attribute value. In order to create a Core profile context, call glXCreateContextAttribsARB(), request OpenGL 3.2 as the version, and leave the GLX_CONTEXT_PROFILE_MASK_ARB attribute out. In order to create an OpenGL 3.2 Compatibility profile context, call the “old” glXCreateContext() entrypoint. Note: wglCreateContextAttribsARB() does support WGL_CONTEXT_PROFILE_MASK_ARB.

You can download this new set of graphics drivers here:

Compared to release 190.15, the display driver 190.56 brings 6 new OpenGL extensions:

  • GL_ARB_depth_clamp: ARB version (OpenGL 3.1) of the old GL_NV_depth_clamp. Useful with stencil shadow volume.
  • GL_ARB_fragment_coord_conventions: this extension provides a means for fragment shaders written in GLSL
    to specify alternative conventions for determining the fragment coordinate value accessed during pixel shader execution. By default, the fragment processing
    pixel-center convention is half-integer and the fragment processing origin convention is lower-left.
  • GL_ARB_provoking_vertex: This extension is used when flat shading is
    enabled (GL_FLAT). The provoking vertex of a primitive is the vertex that determines the constant primary and secondary colors when flat shading is enabled.
  • GL_ARB_vertex_array_bgra: this extension allows to fetch a vertex component (mainly color componant) from a Direct3D color array where color is stored as BGRA. This extension avoids to perform the swizzling in the vertex shader.
  • WGL_ARB_create_context_profile: not yet documented but I guess this extension allows to create a OpenGL 3.2 rendering context with a specific profile (Core Profile or Compatibility Profile).
  • WGL_NVX_DX_interop: not yet documented. Seems to provide some Direct3D to OpenGL or OpenGL to Direct3D interactions.

Core Profile and Compatibility Profile
For OpenGL 3.2, the OpenGL ARB has introduced two profiles. The Core Profile and the Compatibility Profile. A profile is a well defined subset of the OpenGL specification. The Core Profile is built on top of OpenGL 3.1 (without ARB_compatibility). The Core profile does not support any deprecated features. The Compatibility Profile is built on top of OpenGL 3.1 including ARB_compatibility and thus provides full support for all features, including the deprecated ones.

Here are the three first tabs of GPU Caps Viewer:

GPU Caps Viewer and ForceWare 190.56

GPU Caps Viewer and ForceWare 190.56 - OpenGL features

GPU Caps Viewer and ForceWare 190.56 - CUDA features

– OpenGL Version: 3.2.0
– GLSL (OpenGL Shading Language) Version: 1.50 NVIDIA via Cg compiler
– ARB Texture Units: 4
– 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
– Multiple Render Targets / Max draw buffers: 8
– MSAA: 2X
– MSAA: 4X
– MSAA: 8X
– MSAA: 16X

Display drivers 190.56 exposes 190 extensions (for a GeForce GTX 295). The extensions exposed by old ForceWare drivers are available HERE. You can use GPU Caps Viewer to retrieve the list of extensions of your graphics card.

  • 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_instanced
  • GL_ARB_fragment_program
  • GL_ARB_fragment_program_shadow
  • GL_ARB_fragment_coord_conventions
  • GL_ARB_fragment_shader
  • GL_ARB_half_float_pixel
  • GL_ARB_half_float_vertex
  • GL_ARB_framebuffer_object
  • GL_ARB_geometry_shader4
  • 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_shader_objects
  • GL_ARB_shading_language_100
  • GL_ARB_shadow
  • GL_ARB_texture_border_clamp
  • GL_ARB_texture_buffer_object
  • GL_ARB_texture_compression
  • GL_ARB_texture_cube_map
  • GL_ARB_texture_env_add
  • GL_ARB_texture_env_combine
  • GL_ARB_texture_env_dot3
  • GL_ARB_texture_float
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_texture_non_power_of_two
  • GL_ARB_texture_rectangle
  • GL_ARB_texture_rg
  • GL_ARB_transpose_matrix
  • 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_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_bindable_uniform
  • 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_EXT_framebuffer_object
  • GL_EXTX_framebuffer_mixed_formats
  • 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_sRGB
  • GL_EXT_texture_swizzle
  • GL_EXT_texture_shared_exponent
  • 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_copy_depth_to_color
  • GL_NV_copy_image
  • GL_NV_depth_buffer_float
  • GL_NV_conditional_render
  • 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_texgen_reflection
  • 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_program
  • GL_NV_vertex_program1_1
  • GL_NV_vertex_program2
  • GL_NV_vertex_program2_option
  • GL_NV_vertex_program3
  • GL_NVX_conditional_render
  • GL_NV_vertex_buffer_unified_memory
  • GL_NV_shader_buffer_load
  • 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_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_ARB_create_context
  • 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 addresses:

7 thoughts on “(Tested) NVIDIA Display Drivers 190.56 with OpenGL 3.2 Support And New OpenGL Extensions”

  1. Pingback: OpenGL 3.2 Officially Released! | The Geeks Of 3D - 3D Tech News

  2. Stefan

    FYI:

    WGL_NVX_DX_interop and GL_NV_transform_feedback2 not available with 8800GTX

  3. Stefan

    Just updated my XP partition, there it supports WGL_NVX_DX_interop
    Seems to be an OS limitation?

  4. Saaumitra

    i have window vista ultimate x64 installed
    i am not been able to install drivers
    when i start installing it only installs/Updates physX as i install/update with latest version of nvidia drivers
    i lanched complain with nvidia customer care by mail but no response since then
    if any one know’s the solution pls help me out

  5. Pingback: GLView 3.14 with OpenGL 3.2 Support | The Geeks Of 3D - 3D Tech News

Comments are closed.