Nouveau NVC0 Appears Ready With OpenGL 4.2 Support For Select NVIDIA GPUs

Thanks to the work done by Samuel Pitoiset, Ilia Mirkin, and others, the ARB_shader_image_load_store extension is wired up for the Nouveau NVC0 Gallium3D driver. However, the ARB_shader_image_load_store support for now is only enabled in Mesa Git for the GK104/NVE4 GPUs like the GeForce GTX 660/680/760 hardware (along with select mobile GPUs) and the NVF0/GK110 GPUs of the GeForce GTX 780 and GTX TITAN. The other Fermi, Kepler, and Maxwell GPUs supported by the NVC0 Gallium3D driver aren't yet wired up for this extension.
With ARB_shader_image_load_store landed for these GPUs, GL Shading Language 4.20 (GLSL 420) is in turn set for the GK104 and GK110 hardware.
ARB_shader_image_load_store was the last yet-to-be-implemented extension in Nouveau NVC0 for the OpenGL 4.2 support level. As of writing the Mesa Git documentation hasn't been updated to reflect this extension being implemented or formally at GL 4.2, but it would appears that's imminent unless they are waiting to support for GPU families before marking this extension as officially done.
This milestone for Nouveau comes just two weeks after AMD's RadeonSI hit OpenGL 4.2 support in Mesa and since then OpenGL 4.3. The NVC0 driver still has ARB_compute_shader, ARB_robust_buffer_access_behavior, and ARB_shader_image_size before it will be through with the OpenGL 4.3 changes.
Those excited by Nouveau's progress today can fetch Mesa Git rather than having to wait for the next stable release to happen (Mesa 11.3~12.0) in about another two months.
10 Comments