pau-baiget / agi

Android GPU Inspector

Home Page:https://gpuinspector.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android GPU Inspector

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

Downloads

Download the latest version of AGI here.

Unstable developer releases are here.

Documentation

User documentation can be found at gpuinspector.dev

The developer documentation contains some hints for AGI developers. See also the README files under some source directories.

About

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

Android GPU Inspector can trace any Android debuggable application, or if you have root access to the device any application can be traced. AGI can also trace any desktop Vulkan application.

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4

Building

See Building Android GPU Inspector.

Running the client

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

Command-Line Interface

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

Project Structure

Android GPU Inspector 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.

About

Android GPU Inspector

https://gpuinspector.dev

License:Apache License 2.0


Languages

Language:Go 54.4%Language:Java 15.9%Language:C++ 13.1%Language:Objective-C 9.4%Language:Starlark 4.2%Language:HTML 1.0%Language:C 0.6%Language:NASL 0.4%Language:GLSL 0.2%Language:JavaScript 0.2%Language:Shell 0.2%Language:Objective-C++ 0.1%Language:Batchfile 0.1%Language:Smarty 0.0%Language:CSS 0.0%Language:Python 0.0%