Shader Invocation Count

PVRTune GUI can display the Shader Invocation Counts that are optionally produced by the GLES and Vulkan client drivers in the DDK. The data collected is displayed in PVRTune GUI’s Properties docking window when selecting certain tasks that have shaders associated with them such as Geometry or 3D HW tasks.

Enable Shader Invocation Count

DDK

The DDK does not produce Shader Invocation Count data by default, in order to get this you must build the drivers with certain flags:

  • Vulkan driver: ZEUS_COUNT_PIPELINE_INSTANCES=1 must be set when compiling the driver.

  • GLES driver: GLES_SUPPORT_SHADER_INVOCATION_COUNT=1 must be set when compiling the driver.

DDK support:

  • GLES: MAIN@5911495 / REL1.15

  • Vulkan: MAIN@5972077 / REL1.15

PVRPerfServer option

PVRPerfServer will need the relevant Client stream data to be enabled, via its command-line or PVRTune’s GUI:

  • ./PVRPerfServerComplete --ClientShaderInvocCount=1

GLES Example

When the GLES client stream is enabled, and a Renderer, Tiler or Client driver draw call (e.g. Draw Arrays) task is selected, then in the Properties docking window the Shader source can be seen, as well as a “Shader Invocation Stats” section in the tree containing statistics about the shader invocations.

Properties

Pie chart

Table

../../../_images/ShaderInvocationsProperties.png ../../../_images/ShaderInvocationsPie.png ../../../_images/ShaderInvocationsTable.png