Render State Override Window in PVRTune¶
Note
Currently, this functionality relies on PVRTrace libraries. The final release of PVRTrace was in the 2019 2nd Release, and so the required libraries must be installed from the Previous Releases page.
The Render State Override window in PVRTune permits remote control of some of the render state of a target device. This provides a useful means of prototyping render changes as well as enabling the quick identification of certain bottlenecks.
To use render state override functionality, PVRTrace libraries must be installed on the target device and profiling mode should be enabled.
Note
The Render State Override functionality is a specialisation of the PVRScope Remote Editor functionality. The PVRTrace library is using the PVRScope library.
The table below provides a list of the various render state override options as well as their descriptions.
Option |
Description |
|---|---|
Force zero viewport |
Modified the viewport to have zero-sided dimensions. |
Disable blending |
Disables alpha blending. |
Force 2x2 textures |
Forces textures to be 2 pixels by 2 pixels in size. |
Force flat colour frag shader |
Forces the fragment shader to output a single colour. |
Disable stencil test |
Disables the stencil test. |
Disable depth test |
Disables the depth test. |
Disable scissor test |
Disables the scissor test. |
Disable draw calls |
Disables all |
Disable flush and finish |
Disables all |
Disable texture modifications |
Disables |
Disable texture filtering |
Disables texture filters. All texture filters are set to the nearest point. |
Disable discard / alpha test |
Disables the alpha test. |
Disable frame buffer accesses |
Disables |
Culling mode: App defined |
Forces the culling mode to perform culling as defined in the user application. |
Culling mode: None |
Disables culling. |
Culling mode: Back |
Forces the culling mode to perform back-face culling. |
Culling mode: Front |
Forces the culling mode to perform front-face culling. |
OpenGL ES Timing Data¶
In some situations, in addition to the Tiler and Renderer processing times, it is also useful to know more about how the graphics API calls are processed by the driver. This mode of operation shows timing data being sent from the PVRTrace recording libraries, visualised as a graph displaying the draw calls as well as EGL swap buffer operations.
It is possible to configure this to view either all or specific EGL calls. By being able to record OpenGL ES timing data this way, further insight can be gained into how, for example, work is cascading up through the graphics pipeline, from the driver to the CPU. This can consequently help isolate any bottlenecks.