At last, the PowerVR Graphics SDK v4.0 is live! Featuring an all-new Framework and a host of improvements to our existing utilities, v4.0 is one of our biggest releases to date.
With the arrival of the new Framework, this release aims to help developers transition from OpenGL ES to the new generation of graphics APIs, such as Vulkan. The Framework is a completely re-written cross-platform and cross-API framework that functions as scaffolding around which to build your own rendering or game engine. It implements modern techniques, optimizes them for the PowerVR architecture, and takes advantage of extensions where available. It is a breeze to use with our open standard POD, PVR and PFX asset container formats, with loading code and asset classes that map closely to these formats.
Our most popular SDK examples have been ported to the new framework to demonstrate how to use it effectively. We have also gone for a fully revamped look for our SDK demos, making use of new assets, scenes and so on.
Furthermore, our suite of PowerVR Tools has witnessed a number of significant back-end and user interface improvements. Several new features have been implemented across our utilities, detailed below.
PowerVR Graphics SDK v4.0
The new, explicit graphics APIs require developers to have a much more intimate appreciation of underlying GPU architectures than traditional APIs, such as OpenGL ES. For example, the onus of state validation and buffer access synchronization is moved from the driver to the application. As such, the learning curve is much steeper. Our PowerVR SDK Framework has been redesigned to provide a number of helper libraries at varying levels of abstraction to make the transition to Vulkan as smooth as possible. The Framework consists of seven components:
These components are detailed further in the PowerVR SDK Browser once you install the PowerVR SDK. You can also find relevant information in the PowerVR Framework slides, presented during our idc15 London event.
PVRTrace is the utility that witnesses the most changes in this release. In addition to a large number of bug fixes and back-end enhancements, the application features a redesigned Scrubber for much improved Image Analysis. For example, the shader analysis results now closely estimate Rogue GPU behaviour, enabling you to perform in-depth performance analysis off-line.
Additionally the draw call widget now includes columns for the vertex and fragment processing cost of each draw. This makes it significantly easier to identify draws that aren’t contributing to the rendered image and to understand the processing cost of draws that are rendered. Android Extension Pack support has also been added to PVRTrace.
PVRTune adds support for a range of different hardware families, such as Series6XE and Series5XE.
PVRHub now supports Android 6.x Marshmallow, and can function on Android TV.
PVRShaderEditor now features support for tessellation and geometry shaders. We have also added a new “Defines Override” dialog that allows you to enable, disable, insert, and modify pre-processor macros in your shader source on-the-fly, recompiling as you go. The dialog enables you to specify custom Defines as well as modify those already present in the code you are editing.
Hardware profile management tools have been added to PVRVFrame for creating and managing user-defined device profiles.
A number of community members asked if we could use an industry standard licence to remove the legal headaches that can come with integrating 3rd party source code.
We are happy to announce that the PowerVR Graphics SDK v4.0 framework, examples, documentation and associated files are now distributed under the MIT licence.
As part of our legal review, we have also simplified our PowerVR Tools licence.
What are you waiting for?
The latest PowerVR Tools and SDK installers (Windows, OS X and Linux) can be downloaded from here. For a full list of the latest features and fixes, please check out our comprehensive release notes page.