NVIDIA 378.09 Driver Adds Multi-Threaded GLSL Shader Compilation, Vulkan Extensions
First up, the NVIDIA 378.09 Linux driver adds ARB_parallel_shader_compile support, which allows for multi-threaded compilation of OpenGL GLSL shaders. ARB_parallel_shader_compile was firmed up in 2015 and this extension lets games/applications hint at the number of threads that it can use for shader compilation. There is also an interface for querying the compilation state. This is a post OpenGL 4.5 extension.
This driver also now enables OpenGL threaded optimizations by default while will automatically self-disable when they are degrading performance. Previously this was only opt-in via an environment variable.
On the Vulkan front, VK_KHR_display and VK_KHR_display_swapchain were added to this driver release. VK_KHR_display provides the API to enumerate displays and modes for a given device. VK_KHR_display_swapchain allows creating a swap-chain directly on a device's display without any underlying windowing system.
The NVIDIA 378 Linux driver also adds Quadro M1000/M2000 support, the X driver now ignores VR HMDs, support in NVIDIA Settings to view configured PRIME displays, and other updates.
This driver also supports the work covered this morning of NVIDIA Publishes EGL External Platform Interface & Wayland Library.
This new NVIDIA Linux driver beta can be downloaded from NVIDIA.com.