Vulkan® is a modern, cross-platform, graphics and compute API from the Khronos® Group, which gives low-level access to the GPU. This allows Vulkan to fulfil the needs of developers across multiple industries. By developing with Vulkan, you can benefit from greater control with higher performance from your applications, thanks to its design focusing on the multi-core performance of modern day hardware.
Imagination is a promoter member of the Khronos Group and has been since its creation. We are delighted to contribute to the Vulkan community with our PowerVR SDK and Tools. We not only fully support the Vulkan API, but we also provide many useful ways for you to take better advantage of the power of Vulkan.
All Imagination drivers support Vulkan 1.2 on all platforms, and we are constantly looking for ways not only to improve the Khronos ecosystem, but to also support developers in this field as much as possible. All of our Khronos and Vulkan-specific offerings are highlighted below.
PowerVR Vulkan SDK
The PowerVR SDK has a wide range of Vulkan code examples with varying levels of abstraction. The well-documented examples include something for everyone, from those completely new to Vulkan who want to find out how to render a triangle, right up to cutting-edge graphics techniques such as physically-based rendering (PBR) for more experienced graphics developers. Use them as a basis for your own application, or just borrow the parts you need.
Another highlight is the PowerVR Framework. We provide a Vulkan wrapper which helps to reduce the amount of boilerplate code needed, while also giving developers more fine-tuned control over the hardware, all at a minimal overhead cost. We also provide a small handful of utility libraries to help streamline tasks such as managing queues and surfaces, meaning you can start working with Vulkan straight away easily and effectively.
PowerVR Vulkan DevTools
All of our developer tools are built with the focus of improving the experience of producing applications for PowerVR hardware, and Vulkan naturally falls into that umbrella. Our tools respect the fact that Vulkan is one of the most popular APIs currently in use today and contain quite a few features specifically for Vulkan.
PVRCarbon is our API tracing and debugging tool, built specifically to support Vulkan. PVRCarbon allows you to record, playback, and even analyse your application’s Vulkan API usage to see exactly what your application is doing and where any bugs may occur.
PVRTexTool is the one-stop tool for any and all texture processing tasks. Compression, manipulation, and even generation of maps are all default features, and PVRTexTool natively outputs to all Vulkan-supported texture formats, including Khronos’s own KTX and KTX2. PVRTexTool also comes in a library format for integration directly into your workflow.
PVRTune is a hardware profiling tool that allows developers to visualise their application performance in real-time, right down to the hardware level. By providing timing data, developers are able to pinpoint bottlenecks in their application and optimise accordingly. PVRTune can show the entire Vulkan client stream, from API timings to shaders, making it a valuable tool alongside PVRCarbon.