GAPID - 图形 API 调试工具


Apache
跨平台
Google Go

软件简介

GAPID 是一个工具合集,允许检查、调整和重复从应用程序到 Graphics 驱动之间的调用。

GAPID 采用 Go 语言编写,目前仍在开发中,但已经可以用于调试许多 Android OpenGL ES 和 Vulkan 应用。

GAPID 由以下子工具/组件构成:

  • gapiiGraphics API 拦截器* —— * 位于应用程序/游戏和 GPU 驱动程序之间的一层,记录所有调用和内存访问。

  • gapisGraphics API 服务器* —— * 分析报告不正确的捕获流 API 使用情况,处理在各种目标设备上重复过程的数据,并向客户端提供 RPC 接口。

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

  • gapicGraphics API 客户端* —— * 前端用户界面应用。提供捕获数据、内存、资源和帧缓冲区内容的可视化检查。

  • gapilGraphics API 语言 —— 一种新的特定领域语言,用于全面描述图形 API。拦截器、服务器和重复系统的绝大部分都是依赖它结合模板生成的。

GAPID 支持在 Windows、Linux 和 MacOS 上运行,Google 还计划在支持这些 API 的主机上跟踪 OpenGLES 和
Vulkan 应用。