All Projects → google → Gapid

google / Gapid

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

Programming Languages

go
31211 projects - #10 most used programming language
java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
objective c
16641 projects - #2 most used programming language
Starlark
911 projects
HTML
75241 projects

Projects that are alternatives of or similar to Gapid

Agi
Android GPU Inspector
Stars: ✭ 327 (-83.44%)
Mutual labels:  vulkan, gpu, trace, debugger, replay
Glad
Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
Stars: ✭ 2,296 (+16.25%)
Mutual labels:  vulkan, gles, gles2
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (-88.1%)
Mutual labels:  vulkan, opengles, opengl-es
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+419.09%)
Mutual labels:  vulkan, vulkan-api, gles
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (-93.01%)
Mutual labels:  vulkan, opengl-es, vulkan-api
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (-86.68%)
Mutual labels:  vulkan, opengl-es, vulkan-api
lvg
Lion Vector Graphics
Stars: ✭ 106 (-94.63%)
Mutual labels:  gles, opengl-es, gles2
Glove
GLOVE (GL Over Vulkan) is a cross-platform software library that acts as an intermediate layer between an OpenGL application and Vulkan
Stars: ✭ 394 (-80.05%)
Mutual labels:  vulkan, opengl-es, opengles
Vkquake2
id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, MacOS, FreeBSD, Raspberry Pi 4)
Stars: ✭ 543 (-72.51%)
Mutual labels:  vulkan, vulkan-api, gpu
Renderdoc
RenderDoc is a stand-alone graphics debugging tool.
Stars: ✭ 5,969 (+202.23%)
Mutual labels:  vulkan, vulkan-api, debugger
Ncnn Android Styletransfer
The style transfer android example
Stars: ✭ 54 (-97.27%)
Mutual labels:  vulkan, gpu
Glfw
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 8,416 (+326.13%)
Mutual labels:  vulkan, opengl-es
Introductiontovulkan
Source code examples for "API without Secrets: Introduction to Vulkan" tutorial
Stars: ✭ 972 (-50.78%)
Mutual labels:  vulkan, vulkan-api
Vktk
Vulkan Toolkit
Stars: ✭ 32 (-98.38%)
Mutual labels:  vulkan, vulkan-api
Shaderconductor
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Stars: ✭ 1,146 (-41.97%)
Mutual labels:  vulkan, opengl-es
Dain Vulkan Gui
AI-Powered video interpolater (eg. 30fps -> 60fps) for Vulkan devices. Based on dain-ncnn-vulkan and ffmpeg
Stars: ✭ 58 (-97.06%)
Mutual labels:  vulkan, gpu
Waifu2x Ncnn Vulkan
waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan
Stars: ✭ 1,258 (-36.3%)
Mutual labels:  vulkan, gpu
Vkquake
Vulkan Quake port based on QuakeSpasm
Stars: ✭ 955 (-51.65%)
Mutual labels:  vulkan, gpu
Practicalvulkan
Repository with code samples for "API without Secrets: The Practical Approach to Vulkan" series of articles.
Stars: ✭ 100 (-94.94%)
Mutual labels:  vulkan, vulkan-api
Demos
Vulkan API crossplatform demos in Go
Stars: ✭ 103 (-94.78%)
Mutual labels:  vulkan, vulkan-api

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].