https://github.com/google/gapid
  
  
    Graphics API Debugger 
    https://github.com/google/gapid
  
android debugger gles gles2 golang gpu graphics-api linux macos opengl-es opengles replay trace vulkan vulkan-api windows
        Last synced: 6 months ago 
        JSON representation
    
Graphics API Debugger
- Host: GitHub
 - URL: https://github.com/google/gapid
 - Owner: google
 - License: apache-2.0
 - Created: 2017-02-14T11:18:43.000Z (over 8 years ago)
 - Default Branch: master
 - Last Pushed: 2024-05-08T03:22:01.000Z (over 1 year ago)
 - Last Synced: 2025-04-13T18:44:37.822Z (7 months ago)
 - Topics: android, debugger, gles, gles2, golang, gpu, graphics-api, linux, macos, opengl-es, opengles, replay, trace, vulkan, vulkan-api, windows
 - Language: Go
 - Homepage: https://gapid.dev
 - Size: 91.7 MB
 - Stars: 2,223
 - Watchers: 94
 - Forks: 326
 - Open Issues: 335
 - 
            Metadata Files:
            
- Readme: README.md
 - Contributing: CONTRIBUTING.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- jimsghstars - google/gapid - Graphics API Debugger (Go)
 - AwesomeCppGameDev - gapid
 
README
          # GAPID: Graphics API Debugger
[](https://godoc.org/github.com/google/gapid)
[](https://gapid-build.storage.googleapis.com/badges/build_result_linux.html)
[](https://gapid-build.storage.googleapis.com/badges/build_result_macos.html)
[](https://gapid-build.storage.googleapis.com/badges/build_result_windows.html)
## Maintenance Mode
GAPID is not currently under active development. Issues filed against this repo might not be answered.
For Android GPU debugging and profiling, please use [AGI](https://github.com/google/agi) which is based on GAPID.
## Downloads
**[Download the latest version of GAPID here.](https://github.com/google/gapid/releases)**
*Unstable* developer releases are [here](https://github.com/google/gapid-dev-releases/releases).
## Documentation
**[User documentation can be found at gapid.dev](https://gapid.dev)**
The [developer documentation](DEVDOC.md) contains some hints for GAPID
developers. See also the README files under some source directories.
## About
GAPID is a collection of tools that allows you to inspect, tweak and replay calls from an application to a graphics driver.
GAPID can trace any Android [debuggable application](https://developer.android.com/guide/topics/manifest/application-element.html#debug), or if you have root access to the device any application can be traced.
GAPID can also trace any desktop Vulkan application.
## Building
**See [Building GAPID](BUILDING.md).**
## Running the client
After building GAPID, you can run the client from `/bazel-bin/pkg/gapid`.
## Command-Line Interface
GAPID exposes most of its functionality via a CLI *gapit*. You can find auto-generated documentation [here](https://gapid.dev/cli/).
## Project Structure
GAPID consists of the following sub-components:
### [`gapii`](gapii): Graphics API Interceptor
A layer that sits between the application / game and the GPU driver, recording all the calls and memory accesses.
### [`gapis`](gapis): Graphics API Server
A process that analyses capture streams reporting incorrect API usage, processes the data for replay on various target devices, and provides an RPC interface to the client.
### [`gapir`](gapir): Graphics API Replay daemon
A stack-based VM used to playback capture files, imitating the original application’s / game's calls to the GPU driver. Supports read-back of any buffer / framebuffer, and provides profiling functionality.
### [`gapic`](gapic): Graphics API Client
The frontend user interface application. Provides visual inspection of the capture data, memory, resources, and frame-buffer content.
### [`gapil`](gapil): Graphics API Language
A new domain specific language to describe a graphics API in its entirety. Combined with our template system to generate huge parts of the interceptor, server and replay systems.