The Vulkan Working Group released a major update to the Vulkan specification version 1.0.54, which includes new cross-vendor functionality in the form of 18 KHR extensions which enable:
- Interoperability for sharing of resources and synchronization primitives across processes and APIs such as Direct3D and OpenGL
- Improved memory allocation strategies
- pointer-like functionality and finer-grained SSBO access in shaders
NVIDIA is happy to announce the immediate availability of Vulkan Developer Beta drivers for Windows (version 382.81) and Linux (version 381.26.08) for interested developers.
This is a good example of how the Khronos process works: functionality required by the ecosystem is tried out in the field first as vendor extensions and then refined by Khronos IHV and ISV members in the Vulkan Working Group to incorporate lessons learned.
For example, the cross-API cross-process interoperability framework started life as a set of vendor extensions (VK_NV_external_*), progressed into the experimental VK_KHX_external_* extension framework and then hardened into the cross-vendor set of KHR extensions (VK_KHR_external_*). Similarly, the improved memory allocation framework (VK_KHR_dedicated_allocation) can be traced back to functionality introduced last year by VK_NV_dedicated_allocation.
New in the Vulkan Developer Beta drivers for Windows (version 382.81) and Linux (version 381.26.08) are the following extensions:
Improved Memory Allocation
Vulkan Cross Process And Cross API Interoperability
OpenGL Cross Process And Cross API Interoperability
These are essentially the OpenGL counterparts to VK_KHR_external_* extensions.
Improved Shader Functionality
Maxwell and Pascal
Additionally, this driver also adds extensions that expose functionality specific to our Maxwell and Pascal GPU architectures for advanced blending, MSAA improvements and various “bits and pieces”.