PowerVR Tools and SDK v3.3 Release 2


  • New: OpenGL ES 3.0 SDKs for iOS and Android.
  • New: OpenGL ES 3.1 SDK for Windows and Linux emulation.
  • New: TextureStreaming demo for iOS and Android. Demonstrates how live camera data can be efficiently uploaded to OpenGL ES.
  • New: PVRShaderEditor now supports syntax highlighting for GLSL ES 3.10 shaders.


  • Added OpenGL ES 3.1 PC Emulation SDK for Windows and Linux.
  • Added OpenGL ES 3.0 SDK for iOS and Android.


  • IntroducingPOD: Always write an alpha value of 1.0 in the fragment shader to avoid potential OS compositor artefacts.
  • Skybox2: Tweaked the precision modifiers.
  • Android, OGLES2TextureStreaming: Added Android demo which makes use of the Camera Interface.
  • iOS, OGLES2TextureStreaming: Added missing CameraInterface dependencies.
  • iOS, OGLES2TextureStreaming: Changed mapping iOS camera texture to the recommended GL_LUMINANCE and GL_LUMINANCE_ALPHA (which works in OGLES2/3).
  • iOS, OGLES2MultiThreading: Changed main application file from .cpp to .mm to enable correctly including relevant objective-c style header files.
  • iOS, OGLES2Glass: Fixed run time error on iOS when binding the default FBO object.


  • Context creation failures updated to contain requested API version.


  • Added Android Camera Interface.

PVRShaman v2.2.1

  • Added missing types, qualifiers & built-ins for GLSL ES 3.00 syntax highlighting.
  • Added GLSL ES 3.10 syntax highlighting.

PVRTexTool v4.1.3


  • Fixed crash when trying to compare images of different sizes. Error message is now correctly displayed.
  • Fixed floating point texture loads so that they don’t get converted to 8-bit unorm on load.

PVRTexTool Plugins

  • Maya: Fixed channel order when loading PVR files in Maya.

PVRVFrame v9.9

  • Fixed a bug where glGet(GL_NUM_EXTENSIONS) would return the wrong value.
  • Fixed a bug in GLSL translation where #define may be stripped incorrectly.
  • No longer erroneously exposes glShaderStorageBlockBinding.
  • Added support for proper creation of ES 3.1 contexts.
  • Fixed memory leaks.
  • Fixed symbols not being exported correctly:
    • glBindVertexBuffer.
    • glVertexAttribBinding.
    • glVertexAttribFormat.
    • glVertexAttribIFormat.
    • glVertexBindingDivisor.
    • glCreateShaderProgramv.
    • glGetBooleani_v.
    • glGetTexLevelParameterfv.
    • glGetTexLevelParameteriv.
    • glMemoryBarrierByRegion.
  • Fixed glPointSizePointerOES not being exported on Linux.

PVRTune v14.15.2

  • Counter renaming: US, USC and USSE to Shader.
  • Added Rogue counters: Shader load: Compute and Shader ALU efficiency.
  • Restored some missing counters when running with Series6 HW.


  • Fixed a crash at start-up when the “hide unnecessary tabs” option is disabled.
  • Counter results in a Search window are now interactive. Hover to highlight; click to select; drag and drop onto graph views, underscore if highlighted elsewhere.
  • Added counters per PID, per GPU core task time counters, alongside existing task load counters. (BRN47467).
  • Search and Monitor no longer consume CPU time when their dock window is not topmost.
  • Counter table: restore old behaviour: Inactive counters now fade before disappearing (if ‘hide inactive’ is enabled).
  • “Search” widget dropdown box items should be listed chronologically (BRN45741).
  • Counter Table and Search windows no longer force themselves to be top-most at app start-up.
  • Fix for per-core CPU usage on Linux/Android when cores are being enabled/disabled on the fly (BRN47850).


  • When the ‘-pid’ option is used, now also send the executable name for all PIDs seen using the GPU.
  • Fixed a crash when using the ‘sendto’ option along with applications that use PVRScope (BRN47848).

PVRScope Library

  • Fix for per-render counters only (per-frame were ok) that caused the data to be out by a factor of two.
  • Fix a regression in the first SDK 3.3 release that could cause noisy data.

PVRShaderEditor v2.4

  • Added missing types, qualifiers & built-ins for GLSL ES 3.00 syntax highlighting.
  • Shader type is detected by file extension first. If the extension is unknown, fuzzy logic is used to guess the shader type.
  • Added GLSL ES syntax highlighting for the following extensions:
    • EXT_shader_framebuffer_fetch.
    • EXT_shader_pixel_local_storage.
    • OES_shader_multisample_interpolation.
    • GL_KHR_blend_equation_advanced.
    • EXT_shader_pixel_local_storage.
    • OES_sample_variables.
    • OES_shader_image_atomic.
    • OES_texture_storage_multisample_2d_array.
  • Added GLSL ES 3.10 syntax highlighting.
  • Updated the New File wizard to support GLSL ES 3.10 vertex, fragment and compute shaders.
  • Added background compilation for GLSL ES 3.10 vertex, fragment and compute shaders when a GLSL ES 3.10 capable compiler is active (a pre-release version of our GLSL ES 3.10 compiler can be downloaded from our support portal: https://pvrsupport.imgtec.com/downloads).

PVRGeoPOD v2.16.2

  • Added support for IGame version and
  • Added support for 3DSMax 2015 (IGame 17.0.630.0) and Maya 2015.
  • The exporter now exports mesh nodes as dummy nodes when the “export geometry” option is unticked. This fixes a crash that can occur if the mesh is the parent of another type of node, e.g., light.

PVRTrace v3.3.1

  • The image analysis image now uses bilinear filtering when scaling the image below 100%.
  • These enums are now represented by strings in the GUI:
  • Added missing types, qualifiers & built-ins for GLSL ES 3.00 syntax highlighting.
  • Added GLSL ES 3.10 syntax highlighting.

PVRTrace Recorder

  • The recording of clientbuffers now supports sampling the data once at time of egl image creation using config value 3.


  • Fixed playback of glVertexAttribDivisor.
  • Fixed the playback for some traces which would fail to create a window surface if they weren’t the first trace file open.

PVRHub v2.0


  • Added a dialog to help the user kill an already running app.
  • Changed the PVRHubDaemon backend implementation.
  • Improved stability and speed.
  • The backups are now made (and restored) every time the Android build ID changes (i.e. system upgrade).


  • Scripts now generate a pvrtraceconfig.json file.
  • Added OpenGL ES 3.0 support.

PVRMonitor v1.01

  • Added a new CPU widget that displays multiple cores as vertical bars on the same lines as PVRTune.
  • Now the GPU values can be smoothed over 0.5seconds, similar to the CPU values.
  • Few minor UI tweaks.


  • Extensions: Updated GL_OES_EGL_image/GL_OES_EGL_image_external descriptions to match their actual behaviour.
  • PVRTrace user manual: Updated the document with revised manual Android installation instructions (rooted).
  • PVRGeoPOD user manual: Updated compatibility table to show support for new 3dsMax 2014/2015 and Maya 2015 versions.


  • Updated InstallBuilder to v9 to solve the problem with cached files after an installation failure.
  • Removed MSVC2010 redistributable installer as it was causing SDK installations to fail.
  • Fixed missing PVRTune documentation shortcut.