Following over a year of intense work by leading hardware, game engine, and platform vendors brought together by the Khronos™ Group, v1.0 of the Vulkan™ graphics and compute API is now available. This new API has been designed for portability across multiple platforms, including desktop and mobile GPU architectures. With an unprecedented number of related materials being open source (including the full Vulkan conformance tests), Khronos is encouraging strong community participation in order to drive API consistency and ecosystem evolution; all of these materials can be found on GitHub.
So why should you care about Vulkan? What makes it so special?
First of all, Vulkan minimizes driver overhead to produce optimal graphics and compute performance, whilst providing the direct GPU control advanced graphics applications require. It also enables GPU commands to be prepared in parallel using numerous CPU cores, giving it a distinct advantage over OpenGL where threading has existed, but been difficult to leverage effectively.
The layered design of this new API enables a common, extensible architecture to install tool layers for code validation, debugging and profiling, without impacting production performance. Khronos’ open source materials enable SDKs and tools to be built for any platform.
PowerVR Graphics SDK v4.1 and the PowerVR Vulkan Framework
In order to let you take advantage of all the benefits of Vulkan from the get go, the PowerVR team have developed a cross-platform and cross-API framework with a full Vulkan back-end.
This PowerVR Framework for Vulkan is included in v4.1 of the PowerVR Graphics SDK released today and illustrates how to use a variety of advanced graphics techniques in addition to acting as a scaffold around which you can develop your own render engine. It’s also designed in such a way that developers can easily extend the asset classes to support their own formats.
The PowerVR Framework facilitates common tasks such as object creation and asset uploading, simplified object lifetime management, and multi-threaded command buffer management for Vulkan. The Framework consists of several modules compiled as static libraries and divided by functionality, and provides built-in support for handling all PowerVR deployment formats (PVR textures, POD models and PFX effects). Additionally it offers a full module for optimized UI/2D rendering and an interface for device cameras.
Ultimately, due to low-level explicit APIs becoming more common, intermediate layers – such as our Framework – have become important to assist with the development of common tasks. This is why the PowerVR Framework was designed with the intention of making the developer’s job simpler, offering better support for explicit APIs through a facilitation layer which reduces development time.
The Framework comes with the MIT industry-standard open source license which allows no-frills integration with commercial and non-commercial projects. Additionally, we offer other resources like our Nexus Player image with a Vulkan driver for Android.
Vulkan is a cutting edge graphics API, with a lot of potential. Potential you can now take advantage of using our new PowerVR Framework! Make sure you check out our dedicated Vulkan page and also follow us on Twitter (@ImaginationTech, @GPUCompute and @PowerVRInsider) for more news and announcements from Imagination.