Skip to content

ben-clayton/gapid

This branch is 1 commit ahead of, 3595 commits behind google/gapid:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

90c1e9b · Jun 8, 2017
Jun 7, 2017
Jun 8, 2017
Jun 8, 2017
Jun 8, 2017
Apr 26, 2017
Jun 7, 2017
Jun 7, 2017
Jun 8, 2017
Jun 8, 2017
May 30, 2017
Jun 6, 2017
May 16, 2017
May 16, 2017
May 16, 2017
Jun 7, 2017
May 16, 2017
Jun 2, 2017
Feb 21, 2017
Feb 21, 2017
May 30, 2017
Mar 14, 2017
Jun 2, 2017

Repository files navigation

GAPID: Graphics API Debugger

GoDoc Gitter LinuxLinux Build Status MacOSMacOS Build Status WindowsWindows Build Status

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.

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4

Status

GAPID is still in development but already can be used to debug many Android OpenGL ES and Vulkan applications.

The UI runs on Windows, Linux and MacOS and can currently be used to trace on Android. We also plan to be able to trace OpenGL ES and Vulkan applications on hosts that support those APIs.

Downloadable prebuilts will be available once the project reaches the beta milestone.

Detailed current status for Vulkan can be found here.

Building

See Building GAPID.

Running the client

Windows MacOS / Linux
cd %GOPATH%\src\github.com\google\gapid
do run gapic
cd $GOPATH/src/github.com/google/gapid
./do run gapic

Overview

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.

components

The GAPII, GAPIS, GAPIR and GAPIC components can all run on different (or the same) device, allowing for distrubuted workflows.

About

Graphics API Debugger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 60.0%
  • C++ 15.2%
  • Java 12.3%
  • CMake 5.4%
  • C 3.1%
  • Protocol Buffer 1.6%
  • Other 2.4%