The PowerVR Developer Technology team is delighted to announce the latest version of our PowerVR Tools and SDK – 2018 Release 1. Following on from our major SDK Framework overhaul in our release late last year, this is yet another significant iteration.
For starters, we have made further improvements to our SDK Framework, including new examples and documentation. We have also made other enhancements and bug fixes throughout our tools to make your development life easier. You can read all about this further down.
However, the big news for this release is the major upgrade of our PowerVR performance profiler, PVRTune Complete. We’re exposing more data than has been previously possible on mobile/embedded hardware, giving a major boost to your optimisation sessions. PVRTune Complete was announced back in March at GDC 2018 and is now available for you to download.
We’re really proud of our major update to PVRTune Complete. Both versions (including PVRTune Developer) of our PowerVR GPU performance analysis tool have always provided developers with real-time visualisation of various performance metrics being emitted by the GPU. You can experience fast and efficient profiling sessions fully tailored to PowerVR architectures.
With this new release of PVRTune Complete, you are able to get even lower level information than ever before from the underlying hardware and driver. This is achieved through “API Awareness”.
PVRTune Complete is able to retrieve and present events that have been generated by the API client drivers such as OpenGL® ES and EGL™. This lets you view application-level API calls (e.g. glDraw*) in the PVRTune GUI and trace a piece of work from the application level through the PowerVR driver and onto the hardware for execution.
In this way, you can see how work that was submitted at the application level directly affects the behaviour and performance of both the driver and hardware. PVRTune Complete can also provide other information from the client driver such as surface format, size and shader details. It currently supports OpenGL ES / EGL APIs, with Vulkan® support to follow.
This is the first time a mobile GPU vendor is exposing so much low-level driver and hardware information.
And to make all that new low-level information even easier to understand, we’ve given the UI a shiny makeover too. Navigation is now more intuitive than ever, and the clarity of data presentation has been much improved.
PVRTune Developer is still being developed in tandem with PVRTune Complete and is available for download as usual with the rest of the tools and SDK. PVRTune Developer has many of the same features as PVRTune Complete, including the UI upgrade, but with reduced functionality and does not include features such as API Awareness mentioned above. More information about PVRTune Developer can be found here.
PVRTune Complete is available for Linux, Windows, and macOS. You can download it through our Partner Portal Downloads.
The Framework was the major focus of our last release. In going from 4.X to 5.0, we separated out OpenGL ES and Vulkan and made the latter much easier to get to grips with. Now with version 5.1, the work continues.
This time, it is all about streamlining!
On a superficial level, the first thing you may notice is that we’ve restructured the SDK hierarchy so that it is now shallower and easier to follow. However, once you look further, you’ll see there’s a lot more going on too.
We also want to draw your attention to the rewrite of our beginner examples HelloAPI and IntroducingPVRShell for Vulkan. If you’re starting out with Vulkan, these are a fantastic place to start as they offer you a complete walkthrough of the Vulkan API with clear and detailed step by step explanations. Not sure if Vulkan is the right move? We’ve also written a new document about the whys and the hows of migrating from OpenGL ES to Vulkan.
We also have a new example – 3D Navigation for Vulkan and OpenGL ES. This shows techniques helpful for navigation such as frustum culling, geometry techniques for processing maps, and using per-tile command buffers (Vulkan).
If you’re not already using our Framework for your development work, particularly with Vulkan, we strongly suggest you take a look, as it has so many benefits, not least the reduction in tedious boilerplate code and our useful helpers. You can find it on our GitHub page or install it from the link at the bottom of this post.
Love our API-call-capturing tool PVRTrace, but wish it supported Vulkan? You’re in luck! We have a new addition to our tools, currently in beta, called PVRCarbon. Much has changed in the graphics world since PVRTrace was first written, so we have taken the opportunity to write PVRCarbon from scratch. With optimisations for speed and memory amongst others, you will find it a much better experience.
One of the biggest features that developers have been asking for is the ability to export to C++, and PVRCarbon now gives you that. Currently only available for single-threaded applications, the whole PVRCarbon capture can now be exported into C++. Out of the box, PVRCarbon supports Windows and Linux (X11, XCB window systems) but over time we’ll be adding support for other key platforms and window systems. In the meantime you can hand-modify the C++ if required.
PVRCarbon does not yet have the full functionality of PVRTrace, but we’re actively working on it and you can expect to see more features in later releases. Not just the best parts of PVRTrace, but also new features designed and developed specifically for PVRCarbon as well.
As mentioned, PVRCarbon is currently in beta, so if you would like to try it or give feedback/ bug reports, you’ll need to do so via our Support Portal downloads.
We’ve mentioned the big updates, but there are some little updates many of you may find handy as well:
And, as always, the usual optimising and bug fixing behind the scenes. You can see more in our release notes.
See for yourself. You can download and install PowerVR Tools and SDK from our website.
Don’t forget, you can always raise issues or ask questions through our PVRInsider support forums which have recently been upgraded to a better system.
We’re very proud of the free support we give, and we have made a lot of developers very happy!