GAPID

图形 API 调试器。(Graphics API Debugger)

Github星跟蹤圖

GAPID:图形API调试器

下载

在这里下载最新版本的 GAPID。

文档

用户文档可以在 gapid.dev 找到

开发人员文档 为 GAPID 开发人员提供了一些提示。另请参阅某些源目录下的 README 文件。

关于

GAPID是一组工具,允许您检查、调整和回放从应用程序到图形驱动程序的调用。

GAPID可以跟踪任何 Android 可调试应用程序,或者如果您拥有对设备的根访问权,则可以跟踪任何应用程序。GAPID 还可以跟踪任何桌面 Vulkan 应用程序。

构建

请参阅 构建 GAPID

运行客户端

构建 GAPID 后,您可以从 /bazel-bin/pkg/gapid 运行客户端。

命令行界面

GAPID 通过 CLI gapit 公开其大部分功能。您可以在此处找到自动生成的文档。

项目结构

GAPID 由以下子组件组成:

gapii:图形 API 拦截器

位于应用程序/游戏和GPU驱动程序之间的层,记录所有调用和内存访问。

gapis:图形 API 服务器

分析报告错误 API 使用的捕获流的过程,处理数据以在各种目标设备上重放,并为客户端提供RPC接口。

gapir:Graphics API 重播守护进程

基于堆栈的 VM,用于回放捕获文件,模仿原始应用程序/游戏对 GPU 驱动程序的调用。支持任何缓冲区/帧缓冲区的回读,并提供分析功能。

gapic:图形 API 客户端

前端用户界面应用程序。提供对捕获数据,内存,资源和帧缓冲区内容的可视检查。

gapil:图形 API 语言

一种新的特定于域的语言,用于完整地描述图形API。结合我们的模板系统,生成拦截器,服务器和重放系统的巨大部分。

(First edition: vz edited at 2019.08.24)

主要指標

概覽
名稱與所有者google/gapid
主編程語言Go
編程語言Go (語言數: 15)
平台Linux, Mac, Windows
許可證Apache License 2.0
所有者活动
創建於2017-02-14 11:18:43
推送於2024-05-08 03:22:01
最后一次提交2022-06-06 09:49:01
發布數28
最新版本名稱v1.7.0-dev-20191021 (發布於 )
第一版名稱v0.4.0 (發布於 2017-07-14 13:37:06)
用户参与
星數2.2k
關注者數94
派生數326
提交數4.2k
已啟用問題?
問題數1268
打開的問題數332
拉請求數2445
打開的拉請求數3
關閉的拉請求數223
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

GAPID: Graphics API Debugger

GoDoc
Gitter

Linux Build Status

MacOS Build Status

Windows Build Status

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.

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.