Giter Site home page Giter Site logo

breathxhe / gapid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google/gapid

0.0 1.0 0.0 89.03 MB

Graphics API Debugger

Home Page: https://gapid.dev

License: Apache License 2.0

Go 54.06% C++ 13.37% C 0.63% JavaScript 0.26% Objective-C++ 0.10% Shell 0.24% GLSL 0.25% HTML 1.00% Java 16.03% Batchfile 0.07% Python 0.01% Objective-C 9.33% Smarty 0.02% CSS 0.01% Starlark 4.21% NASL 0.41%

gapid's Introduction

GAPID: Graphics API Debugger

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

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 which is based on GAPID.

Downloads

Download the latest version of GAPID here.

Unstable developer releases are here.

Documentation

User documentation can be found at gapid.dev

The developer documentation 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, 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.

Command-Line Interface

GAPID exposes most of its functionality via a CLI gapit. You can find auto-generated documentation here.

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.

gapid's People

Contributors

apazylbe avatar apbodnar avatar awoloszyn avatar baldwinn860 avatar ben-clayton avatar bjoeris avatar chrisforbes avatar dpallotti avatar dsrbecky avatar ek9852 avatar elviscapiaq avatar hevrard avatar hliatis avatar hysw avatar ianthehat avatar johnplate avatar lpy avatar mikaelpessa avatar pau-baiget avatar paulthomson avatar pmuetschard avatar purvisa-at-google-com avatar qining avatar renfengliu avatar rschiu avatar sean-purcell avatar silence-do-good avatar stellama0208 avatar yalcinmelihyasin avatar zakerinasab avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.