PVRShaderEditor#

PVRShaderEditor helps developers understand what is happening when optimising shaders. This GUI-based tool provides a wide range of off-line performance analysis data as shaders are being written.

image1

Shader disassembly for PowerVR Rogue graphics cores is provided within the tool. It is possible to see the exact instructions that will be executed on the Unified Shading Cluster (USC) that have been generated by the compiler for the shader in question.

Key features include:

  • Syntax highlighting for GLSL ES, GLSL, PFX, HLSL, and OpenCL Kernels.

  • Support for PowerVR SGX and Rogue offline GLSL ES compilers.

  • Per-line cycle count estimates.

  • Simulated performance estimates (PowerVR Series5 and Series5XT graphics cores only).

  • Full dissembled USC code, including FP16 disassembly.

  • Support for Khronos reference GLSL compiler (optionally compiled to SPIR-V).

GLSL Optimiser#

GLSL Optimiser is a standalone C++ library based on the Mesa GLSL compiler used in many game engines to optimise GLSL shaders for mobile platforms.

GLSL optimiser can automatically perform some graphics-core-independent GLSL shader optimisations. The tool will not perform any hardware-specific optimisations, but rather generic optimisations which will likely (but not always) improve performance on most platforms. To verify any shader optimisations performed by the tool, use PVRShaderEditor.