Fuchsia.gpu.agis

AGIS - Android GPU Inspector 服務

已新增:9

專家

ComponentRegistry

定義於 fuchsia.gpu.agis/agis.fidl

AGIS ComponentRegistry 通訊協定可讓可追蹤的 Fuchsia 元件註冊為 Vulkan 可追蹤元件。

取得 VulkanSocket

停滯以擷取 ffx/vulkan Zircon 通訊端組合的 Vulkan 端點。當用戶端 (AGI 應用程式) 在 |global_id| 上呼叫與用戶端 ID |id| 相符的 FfxBridge::GetSocket() 時,使用者會先滿足這項指令。

要求

名稱類型
id ClientId

回應

名稱類型
payload ComponentRegistry_GetVulkanSocket_Result

註冊

將程序註冊為可追蹤的程序。

要求

名稱類型
id ClientId
process_koid zx/Koid
process_name string[32]

回應

名稱類型
payload ComponentRegistry_Register_Result

取消註冊

要求

名稱類型
id ClientId

回應

名稱類型
payload ComponentRegistry_Unregister_Result

連接線

定義於 fuchsia.gpu.agis/agis.fidl

AGIS Connector 通訊協定提供可用於擷取 ffx 通訊端端點的介面。

GetSocket

擷取 ffx/vulkan 通訊端組合的 ffx 通訊端端點。

要求

名稱類型
global_id GlobalId

回應

名稱類型
payload Connector_GetSocket_Result

觀眾

定義於 fuchsia.gpu.agis/agis.fidl

AGIS Observer 通訊協定提供的介面可擷取已註冊的 Vulkan 追蹤元件 (vtcs) 完整清單。

VC

擷取已註冊的元件。如為 AGI,這個 Vtcs 介面只會有 gapis 用戶端。

要求

<空白>

回應

名稱類型
payload Observer_Vtcs_Result

結構

ComponentRegistry_GetVulkanSocket_Response 資源

定義於 fuchsia.gpu.agis/agis.fidl

欄位類型說明預設
socket handle<socket>? 無預設

ComponentRegistry_Register_Response

定義於 fuchsia.gpu.agis/agis.fidl

<空白>

ComponentRegistry_Unregister_Response

定義於 fuchsia.gpu.agis/agis.fidl

<空白>

Connector_GetSocket_Response 資源

定義於 fuchsia.gpu.agis/agis.fidl

欄位類型說明預設
socket handle<socket> 無預設

Observer_Vtcs_Response 資源

定義於 fuchsia.gpu.agis/agis.fidl

欄位類型說明預設
vtcs vector<Vtc>[128] 無預設

表情符號

錯誤彈性

類型:uint32

定義於 fuchsia.gpu.agis/agis.fidl

名稱說明
1
2
3
4

資料表

VPN 資源

定義於 fuchsia.gpu.agis/agis.fidl

AGIS 提供 FIDL 服務,支援 Vulkan 指令追蹤。它可做為 gapii、Android GPU Inspector 結合共用程式庫和 Vulkan 層,以及主機 Android GPU 檢查器 (AGI) 應用程式之間的中介。

Vulkan 可追蹤元件 (vtc)

序數欄位類型說明
global_id GlobalId
process_koid zx/Koid
process_name string[32]

聯合國

ComponentRegistry_GetVulkanSocket_Result 嚴格 資源

定義於 fuchsia.gpu.agis/agis.fidl

序數Variant類型說明
response ComponentRegistry_GetVulkanSocket_Response
err Error

ComponentRegistry_Register_Result strict

定義於 fuchsia.gpu.agis/agis.fidl

序數Variant類型說明
response ComponentRegistry_Register_Response
err Error

ComponentRegistry_Unregister_Result strict

定義於 fuchsia.gpu.agis/agis.fidl

序數Variant類型說明
response ComponentRegistry_Unregister_Response
err Error

Connector_GetSocket_Result 嚴格 資源

定義於 fuchsia.gpu.agis/agis.fidl

序數Variant類型說明
response Connector_GetSocket_Response
err Error

Observer_Vtcs_Result 嚴格 資源

定義於 fuchsia.gpu.agis/agis.fidl

序數Variant類型說明
response Observer_Vtcs_Response
err Error

場景

名稱類型說明
MAX_VTCS 128 uint32

可能註冊的 vtcs 上限。 ZX_CHANNEL_MAX_MESSAGE_BYTES = 64KiB。訊息大小約為 50B (四捨五入至 64B) 時,我們很容易將 128 vtcs 放入訊息中,並具有充足的訊息大小成長空間。

vtcs 數量是由開發人員 (而非使用者) 決定。一般預期 Vtc 數量是 1,假設開發人員一次在 1 個元件上執行 Vulkan 追蹤。

別名

名稱說明
ClientId uint64

用戶端提供的 ID。

GlobalId uint32

Agis 內部產生的 ID。