The Mali Graphics Debugger (MGD) allows developers to trace OpenGL ES, Vulkan and OpenCL API calls in their application and understand complex frame effects to help identify and resolve issues. Android and Linux Arm-based targets are supported with everything needed to get up and running in minutes.
For draw calls (selected in outline view), all associated data is available, so you can see which draw calls have higher geometric impact. For uniforms, Mali Graphics Debugger shows uniform values, including samplers, matrices, and arrays. For vertex attributes, MGD shows all the vertex attributes along with their name and their position. For buffers, client and server-side; buffers are captured every time they change (showing how each API call affects them).
All the shaders used by the application are reported, providing detailed insight into how the shaders impact performance. Each shader is compiled with the Mali Offline Complier and is statically analyzed to display both the number of instructions for each GPU pipeline and the number of work registers and uniform registers. In addition, for each draw call MGD reports on how many times that shader has been executed (i.e., the number of vertices) and calculates overall statistics.
Some performance problems can only be fully investigated when frames are rendered by the target. That is why MGD provides the capability to fully capture a native resolution snapshot of each frame buffer on the target after each draw call, allowing developers to see what the application’s users would see. Because the capture happens on the target, target-dependent bugs or precision issues can be investigated. In addition, all the images can be exported and analyzed separately.
MGD supports multiple drawing modes — native, overdraw, shader map, and fragment count — which can be forced and used both for live rendering and frame captures. In native mode, frames are rendered with the original shaders. In overdraw mode, the areas where objects are drawn on top of each other are highlighted. In shader map mode, native shaders are replaced with different solid colors. And in Fragment count mode, all the fragments are processed by each frame are counted.
Graphics Debug and Optimization For Mobile
Use Mali Graphics Debugger to debug and optimize the graphics part of your applications running on Android and Linux based mobile devices.
Use Mali Graphics Debugger to help you optimize your graphics application faster.
Mali Offline Compiler
The Mali Offline Compiler is a command line tool that supports compiling all shaders and kernels from OpenGL ES, OpenCL and Vulkan. Being purpose built for Mali, the compiler generates performance statistics for each shader or kernel compiled.
Arm OpenGL ES Emulator
The OpenGL ES Emulator is a library that maps OpenGL ES API calls to the OpenGL API. Running on a standard PC, the emulator helps development and testing of next generation OpenGL ES applications without requiring a connection to an embedded target.
Mali Texture Compression Tool
The Mali Texture compression tool enables developers to compress textures in order to reduce bandwidth used in the system. This can result in reduced power consumption and superior performance of applications.