PowerVR SDK 2019 Release 1 now available for download

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

It may only seem like five minutes since our last release at Christmas, but here we are again with the latest updates to our PowerVR SDK and Tools.

Our first release of 2019 has plenty of improvements as usual, but the highlights we’re going to talk about today are:

  • The PowerVR SDK
  • PVRTune – our hardware profiler
  • PVRCarbon – our graphics API debugger and tracer.

We’ll also give a brief mention to our growing developer community.

So, without further ado, here’s what you need to know:

PowerVR SDK

Our SDK makes developing for PowerVR much easier, with our Framework providing helper functions, wrappers, and boilerplate code to simplify application development with OpenGL ES and Vulkan.

Our graphics techniques are one of the most popular parts of our SDK, which we share in some of our examples. This time, we are releasing the code used to generate Irradiance and Prefiltered maps for ImageBasedLighting. This is a command-line example called VulkanImageBasedLightingMapsGenerator which uses Vulkan® without a surface (headless).

We’ve also been applying some polish to our existing examples, including:

  • Various fixes for both the Vulkan and OpenGL ES™ ImageBasedLighting examples, giving much better visuals.
  • ImageBasedLighting and PostProcessing examples now use unclipped environment maps captured from real scenes.
  • The PostProcessing example now uses runtime-generated templated shaders for Gaussian blurs. These modes have been massively optimised by avoiding the overhead of sampling from buffers within shaders. The flexibility of modifying kernel sizes has been retained without needing to modify shaders.

We’ve also made the following more general improvements to our SDK to make your life easier:

  • Rewritten the cmake build system to use a target-centric system and embrace various cmake best practices.
  • Integrated glslang into our SDK as a cmake external project, so you can use runtime generation of SPIR-V modules. Our Vulkan PostProcessing example now takes advantage of this to runtime-generate shaders.
  • glslangValidator is now built and installed to SDK/bin/<platform_name>/Release. When cross-compiling, it will be built using the host configuration.
  • Now you can use std smart pointers such as std::shared_ptr and std::weak_ptr, replacing the use of the hand-rolled RefCounted.h.

To find out more about these changes, and the other numerous under-the-hood updates, take a look at our Release Notes.

PVRTune

PVRTune has always been our must-have tool for hardware profiling on PowerVR devices. With access to both GPU and CPU hardware counters, and a GUI which clearly presents the data you need, it makes identifying bottlenecks and optimising your application much easier.

In this release, the updates for the Complete version of PVRTune include:

  • A new “Source View” window (accessed via the Properties tree) which gives full syntax highlighting of captured GLSL shader source code.
  • GLSL compiler performance statistics, such as USC utilisation and cycle count, which will be displayed in the Properties view if Profiling Compilers are available.
  • Tracking of new OpenGL ES events “glDispatchCompute” and “glDispatchComputeIndirect” which allows correlation of the currently-bound OpenGL ES compute shaders with their corresponding compute HW tasks. Also, compute workgroup dimensions are now available.

The Developer version of PVRTune is available for everyone, but with reduced functionality compared to the Complete version. PVRTune Complete is only available under NDA, due to the low-level nature of what it can access. We’re more than happy to receive NDA requests through our support portal.

PVRMonitor

PVRMonitor can be thought of as a quick and dirty version of PVRTune which gets stats directly on your device. It is fantastic when you need to check something quickly without the overhead of PVRTune.

If you haven’t already heard about the release of the souped-up version of our PVRMonitor app overlay in the Play Store, we recently wrote a blog post about it. The app now gives you all the hardware counters available from PVRTune and also has improved customisation.

The source is available on GitHub too, if you want to get more involved.

PVRCarbon

PVRCarbon is our eventual replacement for our OpenGL ES API tracing tool, PVRTrace, and is currently in beta. Unlike PVRTrace, PVRCarbon supports Vulkan alongside OpenGL ES. It has been written from the ground up for much better performance.

Did you know? One of the outstanding features of both PVRTrace and PVRCarbon is the ability to capture API calls not just from single or multiple frames, but also from the whole application.

We’re working hard to bring you all the functionality you’re used to with PVRTrace to PVRCarbon, plus lots more besides. We’d love to have your feedback on this exciting new tool through our support portal.

One highlight of this release is that PVRCarbon’s C++ exporter now supports OpenGL ES as well as Vulkan.

PowerVR Developer Community

We’re excited to announce our new Meetup group. We’ll shortly be arranging meetups where you can join us and fellow graphics developers, for informal talks and discussions on a range of topics. You’ll hear more about it soon, but in the meantime we’d love for you to join now, even if you aren’t sure if you can come along to the meetups in person.

Speaking of community, we often have input from various GitHub users and we’d like to take this opportunity to thank you for helping us make our SDK even better! As previously mentioned, we also have the PVRMonitor source available on GitHub, so if you want to get involved or know more about either, have a wander over to our GitHub area.

We also welcome discussion and questions about anything PowerVR-related on our active developer forum, so why not take a look if you haven’t visited before? Or if you want to contact us directly, use our support portal.

And finally…

There are many more bug fixes and improvements under the hood for our tools and SDK – far too many to list here, but if you’re interested, take a look at the Release Notes.

PowerVR Tools and SDK 2019 Release 1 is available to download now – why wait?

For more news and announcements related to PowerVR, keep coming back to our blog and follow us on Twitter @ImaginationTech@PowerVRInsiderFacebook, and LinkedIn.

Rosanna Ashworth-Jones

Rosanna Ashworth-Jones

Rosanna Ashworth-Jones is a leading developer technology engineer for PowerVR at Imagination. She is responsible for documentation and deployment for PowerVR tools and SDK. Her career covers software development and technical authoring work throughout the mobile and games sectors. Rosanna also has an unhealthy interest in IoT and smart homes, and terrifies unsuspecting Luddite visitors to her home. Follow Rosanna on Twitter @rajones_devtech

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom

benny.har-even@imgtec.com
Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

Imagination marks 20 years of the Wi-Fi Alliance

One of the key reasons for Wi-Fi’s ubiquity in devices is down to the Wi-Fi Alliance, which on 4 June 2019 is celebrating 20 years of existence. But what exactly is the Wi-Fi Alliance?

Visit Imagination at the TSMC 2019 Technology Symposium

Imagination is attending the TSMC 2019 Technology Symposium in Santa Clara, which runs today and tomorrow, the 23rd and 24th of April. The semiconductor-focused event takes place ten times a year around the world, with three locations in the US,

Stay up-to-date with Imagination

Sign up to receive the latest news and product updates from Imagination straight to your inbox.

  • This field is for validation purposes and should be left unchanged.