Skip to content

google/gapid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bdf7f6d · May 17, 2019
Nov 26, 2018
May 17, 2019
May 14, 2019
May 2, 2019
Apr 3, 2019
Apr 9, 2019
Mar 4, 2019
May 17, 2019
May 17, 2019
Apr 11, 2019
Mar 19, 2019
May 9, 2019
Dec 12, 2018
Oct 16, 2018
May 17, 2019
Apr 4, 2019
Apr 18, 2019
May 9, 2019
Dec 5, 2018
Feb 21, 2017
Feb 21, 2017
Apr 18, 2019
Dec 12, 2018
Mar 7, 2019

Repository files navigation

GAPID: Graphics API Debugger

GoDoc Gitter Linux Linux Build Status MacOS MacOS Build Status Windows Windows Build Status

Downloads

Download the latest version of GAPID here.

Documentation

User documentation can be found at gapid.dev

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, or if you have root access to the device any application can be traced. GAPID can also trace any desktop Vulkan application.

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4

Building

See Building GAPID.

Running the client

After building GAPID, you can run the client from <gapid-root>/bazel-bin/pkg/gapid.

Project Structure

GAPID consists of the following sub-components:

gapii: Graphics API Interceptor

A layer that sits between the application / game and the GPU driver, recording all the calls and memory accesses.

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: 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: Graphics API Client

The frontend user interface application. Provides visual inspection of the capture data, memory, resources, and frame-buffer content.

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.