AGIS - Android GPU Inspector 服務
專家
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 |
|
VTCS_EXCEEDED |
3 |
|
INTERNAL_ERROR |
4 |
資料表
VPN 資源
定義於 fuchsia.gpu.agis/agis.fidl
AGIS 提供 FIDL 服務,支援 Vulkan 指令追蹤。它可做為 gapii、Android GPU Inspector 結合共用程式庫和 Vulkan 層,以及主機 Android GPU 檢查器 (AGI) 應用程式之間的中介。
Vulkan 可追蹤元件 (vtc)
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
global_id |
GlobalId
|
|
2 |
process_koid |
zx/Koid
|
|
3 |
process_name |
string[32]
|
聯合國
ComponentRegistry_GetVulkanSocket_Result 嚴格 資源
定義於 fuchsia.gpu.agis/agis.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ComponentRegistry_GetVulkanSocket_Response
|
|
2 |
err |
Error
|
ComponentRegistry_Register_Result strict
定義於 fuchsia.gpu.agis/agis.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ComponentRegistry_Register_Response
|
|
2 |
err |
Error
|
ComponentRegistry_Unregister_Result strict
定義於 fuchsia.gpu.agis/agis.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ComponentRegistry_Unregister_Response
|
|
2 |
err |
Error
|
Connector_GetSocket_Result 嚴格 資源
定義於 fuchsia.gpu.agis/agis.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Connector_GetSocket_Response
|
|
2 |
err |
Error
|
Observer_Vtcs_Result 嚴格 資源
定義於 fuchsia.gpu.agis/agis.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Observer_Vtcs_Response
|
|
2 |
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。 |