This site has been permanently archived. The content on this site was last updated in 2019.
GAPID
Stay organized with collections
Save and categorize content based on your preferences.

GAPID is a Graphics API Debugger.
Use GAPID to diagnose GPU issues when developing graphical applications.
GAPID lets you capture, inspect, and adjust traces of your app's graphics
driver calls. This helps you to:
- Identify rendering issues, such as missing objects or object size and texture problems.
- Inspect the resources loaded by the graphics API.
- Make adjustments to resources like shaders or commands and observe the results live.
|
Android |
Windows |
macOS |
Linux |
OpenGL ES Trace
|
✔
|
|
|
|
OpenGL ES Replay
|
|
✔
|
✔
|
✔
|
Vulkan Trace
|
✔
|
✔
|
|
✔
|
Vulkan Replay
(Must be performed on the same device used to trace)
|
✔
|
✔
|
|
✔
|
The GAPID interface

The GAPID interface lets you analyze resources and commands when investigating
issues.
Rendering context and frames
Select a rendering context to see frames in a film-strip view.
Commands
Review graphics API calls made by the application, grouped by frame and draw
call or by user markers.
Framebuffer
Pinpoint the source of rendering errors by viewing the contents of the
currently bound framebuffer.
Geometry
View the pre-transformed mesh of a selected draw call.
Rotate or zoom in on the model. Change the rendering mode to investigate issues
or export a model as an .obj
file.
Textures
See all of the texture resources created up to and including
a selected command.
Shaders
View and iterate on shaders in your application. See all:
- Shaders created by the program
- Linked Vertex/Fragment programs
- Bound uniform values
Edit your shaders and see the results directly within GAPID.
Report
Review a log of issues, including incorrect API usage or problems that GAPID
encounters while replaying your graphics trace.
State
See the driver state immediately after executing a selected command.
Download and start using GAPID
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-09 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-09 UTC."],[[["\u003cp\u003eGAPID is a Graphics API Debugger used to diagnose GPU issues in graphical applications by capturing, inspecting, and adjusting traces of graphics driver calls.\u003c/p\u003e\n"],["\u003cp\u003eGAPID supports tracing and replaying OpenGL ES and Vulkan on Android, Windows, macOS, and Linux platforms.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use GAPID to identify rendering issues, inspect resources, adjust shaders and commands, and analyze the rendering process in detail with features like framebuffer, geometry, and texture viewers.\u003c/p\u003e\n"],["\u003cp\u003eGAPID offers a comprehensive interface with views for commands, framebuffer, geometry, textures, shaders, reports, and state analysis, aiding in identifying and resolving graphics-related problems.\u003c/p\u003e\n"],["\u003cp\u003eUsers can download GAPID from the GitHub releases page, learn more about its usage from the documentation, and access the source code for cloning and building.\u003c/p\u003e\n"]]],["GAPID is used to debug GPU issues by capturing, inspecting, and adjusting graphics driver call traces. It allows identification of rendering problems, inspection of resources, and live shader/command adjustments. Key features include analyzing rendering context and frames, reviewing API calls, viewing framebuffer contents, examining geometry, inspecting textures and shaders, reviewing issue logs, and observing driver states. GAPID supports OpenGL ES and Vulkan across Android, Windows, macOS, and Linux, with specific support detailed.\n"],null,["GAPID is a Graphics API Debugger.\n\nUse GAPID to diagnose GPU issues when developing graphical applications.\n\nGAPID lets you capture, inspect, and adjust traces of your app's graphics\ndriver calls. This helps you to:\n\n- Identify rendering issues, such as missing objects or object size and texture problems.\n- Inspect the resources loaded by the graphics API.\n- Make adjustments to resources like shaders or commands and observe the results live.\n\nSupported platforms and APIs\n\n| | Android | Windows | macOS | Linux |\n|------------------------------------------------------------------------|---------|---------|-------|-------|\n| **OpenGL ES Trace** | ✔ | | | |\n| **OpenGL ES Replay** | | ✔ | ✔ | ✔ |\n| **Vulkan Trace** | ✔ | ✔ | | ✔ |\n| **Vulkan Replay** (Must be performed on the same device used to trace) | ✔ | ✔ | | ✔ |\n\nThe GAPID interface\n\nThe GAPID interface lets you analyze resources and commands when investigating\nissues.\n\n**Rendering context and frames** \n\nSelect a rendering context to see frames in a film-strip view.\n\n**Commands** \n\nReview graphics API calls made by the application, grouped by frame and draw\ncall or by user markers.\n\n**Framebuffer** \n\nPinpoint the source of rendering errors by viewing the contents of the\ncurrently bound framebuffer.\n\n**Geometry** \n\nView the pre-transformed mesh of a selected draw call.\nRotate or zoom in on the model. Change the rendering mode to investigate issues\nor export a model as an `.obj` file.\n\n**Textures** \n\nSee all of the texture resources created up to and including\na selected command.\n\n**Shaders** \n\nView and iterate on shaders in your application. See all:\n\n- Shaders created by the program\n- Linked Vertex/Fragment programs\n- Bound uniform values\n\nEdit your shaders and see the results directly within GAPID.\n\n**Report** \n\nReview a log of issues, including incorrect API usage or problems that GAPID\nencounters while replaying your graphics trace.\n\n**State** \n\nSee the driver state immediately after executing a selected command.\n\nDownload and start using GAPID\n\n- Download GAPID from the [GAPID releases page on GitHub](//github.com/google/gapid/releases/).\n- Learn more [about using GAPID](//google.github.io/gapid/about/).\n- See [GAPID on GitHub](//github.com/google/gapid) for details on cloning and building GAPID."]]