A few days back Google released GAPID, Graphics API Debugger, which is open source and available on Github. GAPID is described as:

GAPID is a collection of tools that allows you to inspect, tweak and replay calls from an application to a graphics driver.

GAPID is composed of several different components, including:

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.

GameDev News