Developers

PowerVR SDK and Tools 2019 Release 2 now available

Picture of Benjamin Anuworakarn
Dec 10, 2019  |  4 min read

It’s that time again! The PowerVR SDK and Tools have been updated with brand new features and improvements.

This is our second release of 2019, but if you want to look back at the changes made in our last release you can find details in the PowerVR SDK 2019 Release 1 blog post or in our release notes.

We’ll take a quick look at some of the most important and exciting new updates of this release in this post, but for those of you who can’t wait to get your hands on it, we thought we’d make it easy for you:

For everybody else, some of the highlights of this release are:

  • Powerful new features for PVRTune Complete
  • Further progress on PVRCarbon
  • New OpenCL examples in the SDK

Also, stick around for updates on what our fantastic support team are up to as we close out 2019 and enter the brave new world of 2020.

So let’s get on with it…

PVRTune

PVRTune is our powerful profiling and analysis tool for PowerVR devices. It allows you to analyse your application at a low-level to identify potential performance limitations and bottlenecks. Tune comes with an intuitive GUI which presents CPU and GPU data from the hardware in a clear and easy-to-understand way. Even those who are new to Tune can take a quick look at the monitor window to gain an insight into what’s going on under-the-hood of an application.

PVRTune Complete

One of the coolest updates comes to PVRTune Complete. This is our fully-featured version of PVRTune which is available for free. Contact us through our ticketing system.

PVRTune Complete now includes a new Resource Viewer widget which allows framebuffer capture from OpenGL ES 3.x applications. Tune can capture both default framebuffer and offscreen intermediate buffers from a running GLES3 application.

The Resource Viewer widget can be used to select the desired application by PID and context ID.

resource viewer
The Resource Viewer

The Viewer also shows previews of captured framebuffers with some basic properties. Clicking on these previews will bring up the captured framebuffer in a separate window.

image_inspector

PVRTune Developer

If you haven’t got PVRTune Complete yet, there’s no need to worry – we haven’t forgotten about you. PVRTune Developer is constantly updated with new features and fixes. This time we’ve included a lot of improvements related to the Vulkan® client stream, including:

  • The visibility and detail of Vulkan client stream information in the GUI has been enhanced. This includes grouping the Vulkan tasks of a particular frame with their corresponding hardware tasks and displaying Vulkan client stream information associated with particular TA, 3D, compute, or TQ hardware tasks, like the renderpass and compute pipeline, in the properties window.
  • Creation information for many Vulkan objects is now captured and displayed in PVRTune timeline. Some of these Vulkan objects include: VkPipeline, VkRenderpass, VkFramebuffer, VkImageView, and many more.
  • When clicking on the task for many Vulkan commands, including vkBeginCommandBuffer, vkCmdBeginRenderPass, vkCmdDraw, and many more, the properties window will now contain detailed information on the current state of that command.
  • PVRTune now also cross-compiles SPIR-V shaders into human-readable GLSL, making it much easier to know exactly what they are doing.

If you don’t know, PVRTune Developer is our slightly more basic version which has fewer features than Complete but is available to everyone. PowerVR SDK and Tools comes bundled with the Developer version of PVRTune, so when you download this latest release it’ll be there ready for you.

As always this is only a really brief summary of all of the updates for PVRTune. For a full list of all improvements and bug fixes take a look at our release notes.

PVRCarbon

PVRCarbon is our new API tracing tool (currently in beta) which enables the capture and analysis of Vulkan, OpenGL ES, and EGL API calls. At release it will supersede the currently available tool, PVRTrace, by not only capturing both OpenGL® ES and Vulkan API calls, but also providing much better performance and a raft of new features such as the C++ export functionality. C++ export is a really powerful feature which allows the API calls of an application recording to be outputted as a C++ source code, meaning you can debug an application without even having the original source code on hand!

So, what’s new with PVRCarbon?

  • The remote recorder now supports Android 10
  • The C++ exporter now supports Android makefiles and Wayland
  • Additionally, the Player now has EGL support for Wayland

There’s still some work to do on Carbon and plenty of features we want to show you, so keep your eyes open for updates.

PowerVR SDK

If you’re developing a Vulkan, OpenGL ES, or any other application for PowerVR devices, your first port of call should be the PowerVR SDK. The SDK is split into two main parts:

  1. Framework – a collection of modules designed to make development faster and easier. It includes wrapper code and helper functions to eliminate boilerplate code
  2. Examples – an extensive set of OpenGL ES and Vulkan examples ranging from rendering a simple triangle to implementing physically-based rendering

New Examples

Our SDK examples are a great way to see the Framework in action and get some inspiration for your own applications. This update adds a few different example demos as well as plenty of improvements and fixes to make sure your app development experience is as smooth as possible.

Some of the new examples include:

  • A new command-line OpenCL SDK example, OpenCL Matrix Multiplication. This is actually a collection of Single Precision General Matrix Multiplication (SGEMM) algorithms.
  • A new Vulkan Compute example, GameOfLife, based on Conway’s Game of Life. It shows the use of TextureGather to sample multiple single-channel samples, among with using shared memory to optimise performance.

GameOfLifeDemo

As usual the SDK has also had plenty of general updates and improvements, including:

  • The version of Android build tools, Gradle, and Android Gradle plugin have been updated. Take a look at the release notes if you’re interested in specific version numbers.
  • The OpenGL ES and Vulkan versions of our physically-based rendering example, ImageBasedLighting, have been updated so they are in line with each other. The OpenGL ES version now uses a VBO for the sphere instance parameters. Additionally, the shader code bindings and UBO structures were brought inline to each other.
  • A new MoltenVK implementation has been added. MoltenVK maps Vulkan to Metal, allowing Vulkan applications to run on macOS and iOS.
  • Added touch screen support for non-window system (NullWS) Linux platforms.
  • Finally, we’ve greatly enhanced the modularisation of the SDK by improving the use of CMake. Writing examples using the SDK should be even easier and cleaner now, as should adding and removing examples. This is done by using a target-centric CMake approach to asset and resource management. This has resulted in a ~30-50% reduction in the size of the CMakeLists.txt of each example.

Our SDK is also available on GitHub, so if you would like to contribute or just want to have a browse before committing to a download, jump over there and take a look.

PowerVR Support

The PowerVR Support team are always on hand to help you get the best out of your applications. It’s easy to get in contact with them through our ticketing system or on our forum, so if you’re developing for PowerVR or using the PowerVR Tools and SDK, feel free to get in touch.

Our very first Meetup will be on the 16th January at The Parcel Yard near Kings Cross Station, so if you want to be the first to hear about it, why not join our Meetup group? – it’s free! – and also the best way to find out when you can next see our beautiful faces! [we’ll be the judge of that! Ed.] Our first Meetup will include a talk about the Unity High-definition Render Pipeline by our very own, Dihara Wijetunga. We’ve also heard a rumour about FREE FOOD at this event!

So, what are you waiting for?

Download PowerVR SDK 2019 Release 2

For more news and announcements related to PowerVR, keep checking our blog and follow us on Twitter @ImaginationTech

Share this post

About the Author
Picture of Benjamin Anuworakarn

Benjamin was a Documentation Engineer and a part of the Developer Technology team at Imagination. Benjamin left the company in 2022.

More from Benjamin Anuworakarn

Read Next