Ilia Mirkin, an increasingly prolific contributor to Nouveau, committed support on Tuesday for allowing the NV50 Gallium3D driver to support the GL_ARB_texture_cube_map_array and GL_ARB_texture_gather. These two extensions are mandated by the OpenGL 4.0 core specification. The ARB_texture_cube_map_array extension was already supported by the "NVC0" driver for Fermi/Kepler GPUs while the newer Gallium3D driver has yet to see proper ARB_texture_gather support. The Nouveau NV50 Gallium3D driver is what supports from NVIDIA's GeForce 8 series through the GeForce 300 series.
These two OpenGL 4.0 extensions for Nouveau NV50 Gallium3D landed via a set of commits that will be found in the Mesa 10.2 release in a few months time.
Among other work, the Nouveau code still needs to work on its support for GLSL 4.0, GL_ARB_texture_query_lod, GL_ARB_draw_indirect, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_sample_shading, GL_ARB_shader_subroutine, GL_ARB_tessellation_shader, and other work before the NV50/NVC0 drivers can officially advertise OpenGL 4.0 compliance. It will come as a big surprise if this open-source NVIDIA Linux graphics driver can officially support OpenGL 4.0 in 2014 with only OpenGL 3.3 support officially being reached with the Mesa 10.1 version that is being released as stable on Friday.