Google GAPID: Capture Vulkan and OpenGL ES Calls on Android, Windows, macOS and Linux


Google GAPID

GAPID is a developer tool for recording and inspecting calls made by an application to the graphics driver. GAPID is developed by Google and supports OpenGL ES + Vulkan APIs on Android, Windows, Linux and macOS.


Google GAPID - OpenGL ES and Vulkan support

Once a capture of a target application has been made, GAPID lets you disconnect from the target and inspect all the graphics commands made by the application.

GAPID is able to replay the command stream, letting you visualize the frame composition by stepping through each command and inspecting the driver state at any point in the stream. Replay also supports modifications, allowing you to adjust command parameters and shader source to instantly see what effect this would have on the frame.

GAPID can also visualize the textures, shaders and draw call geometry used by the application.

Links:

 
I did a quick test with GeeXLab and a Vulkan demo (tessellation) and GAPID seems to work fine. I did the test on Windows 10 64-bit + GeForce GTX 1060 + GeForce 388.59.

The GeeXLab demo loaded by GAPID:


GeeXLab Vulkan tessellation demo

 
I captured some frames, stopped GeeXLab and here is the result in GAPID:


GeeXLab Vulkan tessellation demo captured by Google GAPID

 
GAPID allows to inspect many details of a frame and for example, it shows the list of Vulkan draw calls executed during a particular frame.


GeeXLab Vulkan tessellation demo - GAPID - list of draw calls for a frame