AMD’s Radeon Technologies Group will soon release a beta version of its GPU drivers that will have the Khronos Group’s Vulkan API enabled. This will help spearhead the deployment and begin broad testing of the much lauded new graphics API. With the release of the 1.0 Vulkan Specification, now is a good time to get stuck into testing.
Vulkan owes a good deal of its development to the preliminary works of AMD when it was creating its-then proprietary low-level graphics API, Mantle. While many speculated that the API was a waste of time due to the impending release of similarly featured DirectX 12, AMD’s Mantle laid the groundwork for many of the features that were to make their way into the latest generation of low-level graphics APIs, including that of DirectX 12 and the OpenGL derivative, Vulkan.
Rather than simply cease development of Mantle, AMD submitted its ideas and work to Khronos Group, the maintainers of the venerable OpenGL API. Much of this work helped with the development of the new API that later became known as Vulkan.
Vulkan is not a continuation or renaming of OpenGL, but a new and separate API. One of the long standing issues with OpenGL over the years is its requirement for backwards compatibility for specific hardware and software. Over the years, a lot of ‘cruft’ has found its way into the code, leading to poorer performance on modern hardware. Removal of this code has been brought up many times over the years, for each progressive release of OpenGL.
A new API releases OpenGL from these archaic shackles, as well as introduce almost direct access to the hardware on modern graphics processors, sometimes referred to as bare-metal programming. Oddly, this doesn’t necessarily increase the overall performance of the GPU directly (however, Vulkan does include a number of improvements in that regard), the biggest advantage comes in the form of low overhead.
When Mantle was demoed in 2014, the improvements found on low-end CPUs were quite shocking; freeing up the CPU to do other things, or indeed, pipe more instructions to the GPU if it could cope. For CPU bound systems, this led to improvements ranging from 40-300%, and GPU bound systems had more modest improvements of around 10%. Image quality and comparative graphical effects were not shown at the time, but it’s hard to knock such drastic improvements.
Not to let AMD take all the credit, NVIDIA also announces its support for the new Vulkan API that’s now beginning to get every company crawling out of the woodwork, declaring its support. So, to help clear up the wave of support announcements, we’ll be consolidating information, as well as providing links to drivers and developer information too.
AMD caught the early bird, and now that’s left the impression of several companies now looking for some attention too, and rightly so. AMD did not develop the whole of the Vulkan API, but it did provide a good chunk in the form of Mantle. NVIDIA and Intel are Khronos Group members as well, and provided input.
It’s not just the big GPU guys interested here either, we have to look further into other sectors, all supporting and providing input into Vulkan. It’s not just about Windows support, we also have Linux support coming from Intel and Imagination Technologies (PowerVR on Android has a demo), Android getting support from Qualcomm; we have all the software houses to consider, the ones that have to implement the API into middleware and applications.
For those interested, NVIDIA has released its first beta driver, which is so far, fully compliant with all of the sampled Vulkan tests. The driver only supports as far back as 600 series GPUs, and K series Quadros. It’s not just limited to Windows 10 either, but 7, 8.1, and Linux.
Similarly, AMD has released it’s own driver now, again its beta, but unlike NVIDIA, isn’t quite fully compliant with all of the tests submitted by Khronos Group. This covers GPUs as far back as the HD 7000 series. Currently, AMD does not have a working Linux driver just yet.
Khronos Group has a GitHub setup with tests and sample code available for those interested, which also encourages developers to submit tests that might highlight issues between the platforms and their corresponding support for the API.
If you are looking for something a little more real-world based that you can test out the API, Croteam’s The Talos Principle (an excellent puzzle game I might add) will soon be getting an update that will include support for the new Vulkan API. unity, Epic, Valve and Dice have all mentioned their support as well in upcoming titles. Valve in particularly has shown a great interest in the API, effectively telling other developers to focus their resources on it instead of DirectX; mayhap to do with its little project called SteamOS.