As we prepare for the onslaught of new mobile devices and technologies being announced at Mobile World Congress in Barcelona, the low-level Vulkan API begins its campaign to take hold in the PC and mobile spaces, superceding the OpenGL standard that exists today in hopes of providing a more efficient use of compute resources across the industry.
Qualcomm announced official support for the Vulkan API on its Adreno 530 GPU and the Snapdragon 820 processor. Vulkan API support will be coming for upcoming other unannounced Adreno 5xx series GPUs and currently shipping Adreno 4xx GPUs, allowing us to wonder if Vulkan support will find its way into currently shipping handsets.
As Qualcomm points out in its press release on the news, the Vulkan API will bring some important and groundbreaking changes to the mobile space.
- Explicit control over GPU operation, with minimized driver overhead for improved performance;
- Multi-threading-friendly architecture to increase overall system performance;
- Optimal API design that can be used in a wide variety of devices including mobile, desktop, consoles, and embedded platforms;
- Use of Khronos’ new SPIR-V intermediate representation for shading language flexibility and more predictable implementation behavior;
- Extensible layered architecture that enables innovative tools without impacting production performance while validating, debugging, and profiling;
- Simple drivers for low-overhead efficiency and cross vendor portability.
Vulkan API support is being added to Qualcomm's development tools suite this week as well.
“We are pleased to have contributed to the definition of Khronos’ new Vulkan API. Qualcomm Technologies will be among the first to ship conformant Vulkan drivers, starting with Snapdragon 820’s embedded Adreno 530 GPU, and subsequently with our Adreno 4xx series GPUs. Vulkan enables the next generation of graphics performance by adding multi-threaded command buffer generation and explicit control of advanced graphics capabilities within Adreno GPUs,” said Micah Knapp, director of product management, Qualcomm Technologies, Inc. “In the coming days, we anticipate supporting Vulkan in the Snapdragon developer tools including Snapdragon Profiler and the Adreno SDK, to help application developers take advantage of this outstanding new API when creating graphics and compute applications for smartphones, tablets, VR HMDs and a variety of other types of devices that use Snapdragon processors.”
A quick look at the Khronos page listing companies with Vulkan conformant drivers shows Qualcomm on the short list, meaning it has provided the standards body with a driver that has passed its first level of certification. With its emphasis on efficiency, the Vulkan API and Qualcomm's early integration could be the most important place that the API ends up. In a technology field where battery life and performance must balance unlike anywhere else, getting this new implementation of graphics and compute could push mobile devices forward quickly.
The Vulkan on the mobile
The Vulkan on the mobile devices will be the same as the Vulkan on the PC/laptop devices. So the Mobile Market will bring in the developers in much larger numbers than just the PC/Laptop market alone, with most of the mobile devices market behind the Vulkan graphics/GPGPU API. There will be many SDKs designed for the mobile and PC/Laptop market to take advantage of Vulkan’s cross platform use. Both Linux and Windows(7,8, and 10) platforms will have Vulkan Support, with third parties working for OSX/Vulkan support, even with Apple not supporting Vulkan on its systems. So in the mobile market with Android/other mobile OS support and the entire GPU hardware makers behind Vulkan, both mobile and PC/Laptop, there will be plenty of Vulkan improvments to come, just go watch the Vulkan Webinar linked to under Scott’s Vulkan article(user Post). The amount of Vulkan graphics API based devices will quickly outstrip any DX12 installed base of devices!
OpenGL programmers will be able to quickly get their feet wet with the Vulkan API, as there will be OpenGL to Vulkan automated code designers in the Vulkan SDKs to assist porting OpenGL based code over to Vulkan based code while the OpenGL programmers begin to learn to code for the Vulkan API. So there will be software Tools to help the OpenGL coders to convert over to using the Vulkan API and making use of Vulkan’s more advanced feature sets.