The natural heir apparent to the open industry standard OpenGL computer graphics API (application programming interface) is the newer open, industry-standard Vulkan API. Both standards have been spearheaded by The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards.
Vulkan has continued to gain momentum of the past few years of its young life and now The Khronos Group has announced this week the release of Vulkan 1.2
Vulkan 1.2 Released
The Vulkan 1.2 specification for GPU (graphics processing unit) acceleration integrates 23 proven extensions into the core Vulkan API, bringing very important developer-requested access to the new hardware functionality, improved application performance, and enhanced API usability.
At this present time, there are several GPU vendors with certified conformant implementations, meaning the Vulkan 1.2 API technology is fully working at the software-to-hardware level. This month, significant open source tooling is expected and developers can go here for Vulkan resources.
Vulkan is really advancing now with the input from developers, taking in their development needs first as extensions and then those extensions rolling into the unified core API specification. Many Vulkan 1.2 features were requested by developers, meeting critical needs in their engines and applications. These include items like:
- timeline semaphores — for easily managing synchronization: a formal memory model to precisely define the semantics of synchronization and memory operations in different threads
- descriptor indexing — to enable reuse of descriptor layouts by multiple shaders. Deeper support for shaders written in HLSL, and more.
“Vulkan 1.2 brings together nearly two dozen high-priority features developed over the past two years into one, unified core Vulkan standard, setting a cutting-edge bar for functionality in the industry’s only open GPU API for cross-platform 3D and compute acceleration,” said Tom Olson, distinguished engineer at Arm, and Vulkan working group chair. “Khronos will continue delivering regular Vulkan ecosystem updates with this proven, developer-focused methodology to both meet the needs and expand the horizons of real-world applications.”
Khronos and the Vulkan community will support Vulkan 1.2 in a wide range of open-source compilers, tools, and debuggers by the end of January 2020. This includes the RenderDoc frame capture and debugging tool, the Vulkan conformance test suite, and the Vulkan SDK with support for both the ‘GPU Assisted’ and ‘Best Practices’ validation layers.
All GPUs that support previous versions of Vulkan are capable of supporting Vulkan 1.2, ensuring its widespread availability. As of today, five GPU vendors have Vulkan 1.2 implementations passing the Khronos conformance tests: AMD, Arm, Imagination Technologies, Intel, NVIDIA, plus the open-source Mesa RADV driver for AMD. Driver release updates will be posted on the Vulkan Public Release Tracker along with the status of other Vulkan ecosystem components.
Vulkan support continues to build and today includes all the major players. There is also growing support for Apple’s platforms via MoltenVK, open-source tools to help developers target support for macOS and iOS. (we will publish more on this very soon).
Key hardware vendor support has largely been present from the beginning. Here are some recent comments of support and direct connections to some present hardware in the market.
“AMD is excited to provide support for the Vulkan 1.2 specification in our upcoming Vulkan 1.2 supported driver for a broad range of AMD graphics hardware, including the AMD Radeon™ RX 5700 Series and AMD Radeon™ RX 5500 Series. Vulkan 1.2 brings many new features, including Dynamic Descriptor Indexing and finer type support for 16-bit and 8-bit types – and are designed to enable developers to better take advantage of modern GPU features and deliver richer graphics experiences to end-users. We look forward to continued adoption of the Vulkan API and the new graphics experiences possible with the latest Vulkan 1.2 feature set,” said Andrej Zdravkovic, corporate vice president, software development, AMD.
“NVIDIA’s Vulkan 1.2 drivers are available today with full functionality for both Windows and Linux,” said Dwight Diercks, senior vice president of software engineering, NVIDIA. “With Vulkan enabling mission-critical applications on NVIDIA GPUs across desktop, embedded and cloud platforms, we’re driving innovative functionality to fuel the growing momentum of this key open standard.”
“Imagination welcomes the launch of Vulkan 1.2. It’s a great update and will really benefit developers. Our latest GPU architecture – IMG A-Series – will fully support Vulkan 1.2 and will help developers achieve the best performance and power savings. Our best-in-class tools, such as PVRTune and PVRCarbon, are designed with Vulkan in mind, giving developers detailed information of profiling and debugging,” said Mark Butler, vice president of software engineering, Imagination Technologies.
Architosh Commentary and Analysis
During a call with Neil Trevett, President of The Khronos Group and Vice President of Developer Ecosystems at NVIDIA, several aspects of the Vulkan initiative came to light. The bottom line is the Vulkan API is shaping up to be the heir apparent to broadly supported OpenGL graphics API. For us CAD/3D based professionals, what readers may want to know is what is happening with professional apps based on OpenGL today?
The short answer is these apps have many pathways to take an that Vulkan adoption will in most cases be staged. Some companies will tap Vulkan directly for highly multi-threaded rendering sections of their applications. Some may use Vulkan for compute. Some companies like Dassault Systèmes are achieving interactive object AO in CATIA, an OpenGL application, using NVIDIA’s Vulkan VKRay vendor extension for ray tracing. So there is positive movement there and Architosh will publish a feature report from our talk with Trevett.
For Apple’s users, MoltenVK is enabling Vulkan implementation for both macOS and iOS apps. The Khronos Group’s SPIR-V-Cross shader technology converts SPIR-V shaders to Apple Metal shaders. Some of the technologies in Vulkan 1.2 have some bearing on Apple’s new Mac Pro with its unique dual, dual potential GPU arrangement. There is much to discuss, so again look forward to an upcoming feature soon!
Vulkan is an open, royalty-free API for high-efficiency, cross-platform access to modern GPUs, with widespread adoption in leading engines, cutting-edge games, and demanding applications. Vulkan is supported in a diverse range of devices from Windows and Linux PCs, consoles, and the cloud, to mobile phones and embedded platforms, including the addition of Google’s Stadia in 2019.
More information on Vulkan is available at https://www.khronos.org/
All Khronos open source projects are available here: https://github.com/
A tutorial on Vulkan Timeline Semaphore is available here: https://khr.io/t5
To get an update on HLSL support in Vulkan please visit: https://khr.io/t7
About The Khronos Group
The Khronos Group is an open, non-profit, member-driven consortium of over 150 industry-leading companies creating advanced, royalty-free, interoperability standards for 3D graphics, augmented and virtual reality, parallel programming, vision acceleration and machine learning. Khronos activities include Vulkan®, OpenGL®, OpenGL® ES, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, OpenXR™, 3D Commerce™ and glTF™. Khronos members drive the development and evolution of Khronos specifications and are able to accelerate the delivery of cutting-edge platforms and applications through early access to specification drafts and conformance tests.