Today is an exciting day for PC gaming enthusiasts: the Khronos Group has announced immediate public release of the open standard Vulkan™ 1.0 graphics API! To mark the occasion, we’ve posted a Radeon Software beta for Vulkan. This graphics driver is primarily intended to enable a wider audience of game developers to work with Vulkan on Radeon™ graphics.
What is Vulkan?
From the consortium that brought you OpenGL, Vulkan is a new graphics API for developers who want or need deeper hardware control. Designed with “low-overhead” capabilities, Vulkan gives devs total control over the performance, efficiency, and capabilities of Radeon™ GPUs and multi-core CPUs.
Compared to OpenGL, Vulkan substantially reduces “API overhead,” which is background work a CPU must do to interpret what a game is asking of the hardware. Reducing this overhead gives hardware much more time to spend on delivering meaningful features, performance and image quality. Vulkan also exposes GPU hardware features not ordinarily accessible through OpenGL.
Vulkan inherits these capabilities from AMD’s Mantle graphics API. Mantle was the first of its kind: the first low-overhead PC graphics API, the first to grant unprecedented access to PC GPU resources, and the first to offer absolute control of those resources. Most importantly for gamers, Mantle got the industry thinking about how much additional GPU performance could be unlocked with a low-overhead graphics API.
Though the Mantle API was tailored for AMD hardware, Mantle was also designed with just enough hardware abstraction to accommodate almost any modern graphics architecture. That architecture proved useful when we contributed the source code and API specification of Mantle to serve as the foundation of Vulkan in May of 2015.
Since that time, Vulkan has been forged under the stewardship of a comprehensive industry alliance that spans the hardware development, game development and content creation industries. Many new and significant capabilities have been added, such as support and performance optimizations for Android® smartphones and tablets, or cross-OS support for Windows® 7, Windows® 8.1, Windows® 10, and Linux®.
What our driver supports
AMD has been participating in Vulkan’s development since its inception and providing builds of our Vulkan-enabled driver to game developers for many months. As we transition into the public phase, our initial driver release enables Vulkan support for select Radeon™ GPUs on Windows® 7, Windows® 8.1, and Windows® 10. An upcoming release of the amdgpu Linux driver will also feature Vulkan support.
Please note that this initial Windows driver is not packaged with DirectX® driver components, so it is not a suitable replacement for your everyday graphics driver.
Our Vulkan driver supports the following AMD APUs and Radeon™ GPUs1 based on the Graphics Core Next architecture:
- AMD Radeon™ R9 Series graphics
- AMD Radeon™ R7 Series graphics
- AMD Radeon™ R5 240 graphics
- AMD Radeon™ HD 8000 Series graphics for OEM systems (HD 8570 and up)
- AMD Radeon™ HD 8000M Series graphics for notebooks
- AMD Radeon™ HD 7000 Series graphics (HD 7730 and up)
- AMD Radeon™ HD 7000M Series graphics for notebooks (HD 7730M and up)
- AMD A4/A6/A8/A10-7000 Series APUs (codenamed “Kaveri”)
- AMD A6/A8/A10 PRO-7000 Series APUs (codenamed “Kaveri”)
- AMD A6/A8/A10/FX™ 8000 Series APUs (codenamed “Carrizo”)
- AMD E1/A4/A10 Micro-6000 Series APUs (codenamed “Mullins”)
- AMD E1/E2/A4/A6/A8-6000 Series APUs (codenamed “Beema”)
- AMD A4-1200, A4-1300 and A6-1400 Series APUs (codenamed “Temash”)
- AMD E1-2000, E2-3000, A4-5000, A6-5000, and A4 Pro-3000 Series APUs (codenamed “Kabini”)
What are some of the Radeon™ graphics features Vulkan exposes?
Only Radeon™ GPUs built on the GCN Architecture currently have access to a powerful capability known as asynchronous compute, which allows the graphics card to process 3D geometry and compute workloads in parallel. As an example, this would be useful when a game needs to calculate complex lighting and render characters at the same time. As these tasks do not have to run serially on a Radeon™ GPU, this can save time and improve overall framerates. Game developers designing Vulkan applications can now leverage this unique hardware feature across all recent versions of Windows and Linux.
Another new feature that Radeon™ GPUs support with Vulkan is multi-threaded command buffers. Games with multi-threaded command buffers can dispatch chunks of work to the GPU from all available CPU cores. This can keep the GPU occupied with meaningful work more frequently, leading to improved framerates and image quality. Vulkan brings this performance advantage to recent versions of Windows and Linux.
Finally, Vulkan has formal support for API extensions. API extensions allow AMD to design new hardware capabilities into future Radeon™ GPUs, then immediately expose those capabilities with a software plugin that interfaces with Vulkan in a compliant way.
The road ahead
As we move deeper into 2016, stay tuned to the GPUOpen website, the AMD Developer portal, and our activities at Game Developer Conference 2016. We promise to bring you a whole lot more on the exciting power and potential of the Vulkan API on Radeon™ graphics!
Robert Hallock is the Head of Global Technical Marketing at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied.
1. These products are based on a published Khronos specification but has not yet passed the Khronos Conformance Test Process. A fully conformant implementation of the Vulkan API will be included in a forthcoming Radeon Software release.