Fuchsia.gpu.magma

Magma 是 Fuchsia 上 GPU/NPU 的驅動程式庫模型。

Magma 有兩個驅動程式庫元件:載入每個應用程式位址空間的硬體專屬程式庫 (「用戶端驅動程式」,有時稱為「可安裝的用戶端驅動程式庫」或「ICD」),以及與硬體介接的 Magma 系統驅動程式庫。兩個驅動程式庫程式之間的通訊協定定義如下。

部分名稱含有數字後置字元 (例如 BufferRangeOp2);該數字是通訊協定演進的詳細資料,可以忽略。

新增:9

通訊協定

CombinedDevice

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

所有正式版 |Device| 通訊協定的組合。這項通訊協定是在 Magma 服務端實作,用戶端不應使用。

Connect2

建立與裝置的連線,由兩個 IPC 管道組成。主要管道用於主要通訊協定 (請見下方)。通知管道用於供應商專屬訊息,僅以反向 (伺服器到用戶端) 傳送,通常是為了回應完成的用戶端指令。

要求

名稱類型
client_id uint64
primary_channel server_end:Primary
notification_channel server_end:Notification

DumpState

將驅動程式庫和硬體狀態轉儲至記錄。

要求

名稱類型
dump_type uint32

GetIcdList

傳回可與這個 Magma 裝置搭配使用的 ICD 清單。清單會依偏好程度遞減排序。

要求

<EMPTY>

回應

名稱類型
icd_list vector<IcdInfo>:8

查詢

成功時,會傳回緩衝區中的結果或簡單值。

要求

名稱類型
query_id QueryId

回應

名稱類型
payload Device_Query_Result

DebugUtils

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

GPU 驅動程式庫公開的低階通訊協定,主要用於測試及偵錯驅動程式庫。

新增:HEAD

SetPowerState

設定 GPU 電源狀態。轉換完成後傳回。

要求

名稱類型
power_state int64

回應

名稱類型
payload DebugUtils_SetPowerState_Result

DependencyInjection

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

這項通訊協定是由 ZX_PROTOCOL_GPU_DEPENDENCY_INJECTION 裝置實作。用於將其他服務的依附元件插入 MSD。只有具備權限的程序才能使用。

SetMemoryPressureProvider

為 MSD 提供 fuchsia.memorypressure.Provider 實作。

要求

名稱類型
provider client_end:fuchsia.memorypressure/Provider

裝置

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

Magma 裝置通訊協定可讓用戶端透過查詢 (例如裝置和供應商 ID),以及裝置系統驅動程式支援哪些用戶端驅動程式,瞭解硬體。
如要進一步與裝置互動,用戶端可以建立由管道配對組成的連線:主要管道用於提出要求 (請參閱下方的「主要通訊協定」),次要管道用於接收通知訊息 (請參閱下方的「通知通訊協定」)。

Connect2

建立與裝置的連線,由兩個 IPC 管道組成。主要管道用於主要通訊協定 (請見下方)。通知管道用於供應商專屬訊息,僅以反向 (伺服器到用戶端) 傳送,通常是為了回應完成的用戶端指令。

要求

名稱類型
client_id uint64
primary_channel server_end:Primary
notification_channel server_end:Notification

查詢

成功時,會傳回緩衝區中的結果或簡單值。

要求

名稱類型
query_id QueryId

回應

名稱類型
payload Device_Query_Result

DiagnosticDevice

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

用於公開 Magma 裝置診斷資訊的方法。

DumpState

將驅動程式庫和硬體狀態轉儲至記錄。

要求

名稱類型
dump_type uint32

IcdLoaderDevice

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

由 MSD 實作並公開供 ICD 載入器使用的方法。

GetIcdList

傳回可與這個 Magma 裝置搭配使用的 ICD 清單。清單會依偏好程度遞減排序。

要求

<EMPTY>

回應

名稱類型
icd_list vector<IcdInfo>:8

通知

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

由於訊息內容因供應商而異,因此這個通訊協定是空白的。

PerformanceCounterAccess

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

這個通訊協定是由 ZX_PROTOCOL_GPU_PERFORMANCE_COUNTERS 裝置實作。

GetPerformanceCountToken

這個存取權杖不會做為事件使用,而是傳遞至 Primary.EnablePerformanceCounterAccess。

要求

<EMPTY>

回應

名稱類型
access_token handle<event>

PerformanceCounterEvents

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

OnPerformanceCounterReadCompleted

表示效能計數器緩衝區有資料。這些內容會按照讀取完成的順序輸出。

回應

名稱類型
payload PerformanceCounterEventsOnPerformanceCounterReadCompletedRequest

PowerElementProvider

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

這個通訊協定用於擷取這個驅動程式庫提供的功率等級資訊。

新增:HEAD

GetClockSpeedLevel

取得功率等級,代表 GPU 時脈設為至少目標頻率。只要時脈頻率保持不變,電源等級可能會允許 GPU 閒置或關閉。

要求

名稱類型
payload PowerElementProviderGetClockSpeedLevelRequest

回應

名稱類型
payload PowerElementProvider_GetClockSpeedLevel_Result

GetPowerGoals

擷取硬體可嘗試達成的耗電量目標清單。

要求

<EMPTY>

回應

名稱類型
payload PowerElementProvider_GetPowerGoals_Result

SetClockLimit

將時脈限制在特定頻率以下。

要求

名稱類型
payload PowerElementProviderSetClockLimitRequest

回應

名稱類型
payload PowerElementProvider_SetClockLimit_Result

Primary

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

如果發生系統驅動程式庫錯誤,或用戶端傳送了用戶端應知道無效的訊息,連線就會關閉,並透過 epitaph 傳送 zx.Status。

AddPerformanceCounterBufferOffsetsToPool

將一組緩衝區偏移量新增至集區。|offsets[n].buffer_id| 是先前使用 ImportBuffer() 匯入的緩衝區 ID。同一個緩衝區可以新增至多個集區。即使呼叫 ReleaseBuffer,集區仍會保留緩衝區的參照。傾印到這個項目時,計數器會從 |offsets[n].buffer_offset| 位元組開始寫入緩衝區,最多寫入 |offsets[n].buffer_offset| + |offsets[n].buffer_size|。|offsets[n].buffer_size| 必須夠大,才能容納所有啟用的計數器。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
pool_id PerformanceCounterPoolId
offsets vector<BufferRange>:64

BufferRangeOp2

對緩衝區範圍執行作業。

要求

名稱類型
op BufferOp
range BufferRange

ClearPerformanceCounters

將所有列出的效能計數器值設為 0。部分硬體可能不支援。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
counters PerformanceCounterSet

CreateContext

建立用於執行指令的結構定義 context_id。結構定義可能與硬體狀態相關聯。已淘汰:請改用 CreateContext2。TODO(https://fxbug.dev/413030654):完全淘汰這個 API。

要求

名稱類型
context_id ContextId

CreateContext2

建立用於執行指令的結構定義 context_id。結構定義可能與硬體狀態相關聯。

新增:28

要求

名稱類型
context_id ContextId
priority Priority

CreatePerformanceCounterBufferPool

建立緩衝區集區,可將效能計數器轉儲至其中。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
pool_id PerformanceCounterPoolId
event_channel server_end:PerformanceCounterEvents

DestroyContext

刪除結構定義 context_id。

要求

名稱類型
context_id ContextId

DumpPerformanceCounters

觸發將效能計數器傾印至緩衝區集區。如果集區中沒有緩衝區,可能會失敗,但不會顯示任何訊息。|trigger_id| 是用戶端指派的任意 ID,可在 OnPerformanceCounterReadCompleted 中傳回。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
pool_id PerformanceCounterPoolId
trigger_id PerformanceCounterTriggerId

EnableFlowControl

啟用 OnNotifyMessagesConsumed 和 OnNotifyMemoryImported 事件。

要求

<EMPTY>

EnablePerformanceCounterAccess

嘗試啟用效能計數器 FIDL 訊息。如要成功,|access_token| 必須由相符裝置的 PerformanceCounterAccess.GetPerformanceCountToken() 傳回。

要求

名稱類型
access_token handle<event>

EnablePerformanceCounters

啟用一組效能計數器。停用不在新集合中的已啟用效能計數器。連線關閉時,效能計數器也會自動停用。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
counters PerformanceCounterSet

ExecuteCommand

提交指令緩衝區,以便在硬體上執行,並提供相關聯的 resources。resources 必須參照已匯入的緩衝區。wait_semaphores 和 signal_semaphores 必須參照已匯入的事件。 必須先收到所有 wait_semaphores 的信號,才能開始執行,然後重設。 指令緩衝區完成後,系統會發出 signal_semaphores 信號。

要求

名稱類型
context_id ContextId
resources vector<BufferRange>
command_buffers vector<CommandBuffer>
wait_semaphores vector<ObjectId>
signal_semaphores vector<ObjectId>
flags CommandBufferFlags

ExecuteInlineCommands

提交一系列指令,在硬體上執行,不使用指令緩衝區。計算傳送的指令數量時,應確保訊息總大小小於 MAX_INLINE_COMMANDS_DATA_SIZE。

新增:15

要求

名稱類型
context_id ContextId
commands vector<InlineCommand>

清除

會往返系統驅動程式庫程式,確保所有先前的訊息都已觀察到,但不一定完成。

要求

<EMPTY>

回應

<EMPTY>

ImportObject

匯入要在系統驅動程式庫中使用的物件。

新增:13

要求

名稱類型
payload PrimaryImportObjectRequest

IsPerformanceCounterAccessAllowed

如果有任何 EnablePerformanceCounterAccess 訊息成功,則傳回 true。

要求

<EMPTY>

回應

名稱類型
enabled bool

MapBuffer

將頁面範圍對應至連線位址空間中位址 hw_va 的硬體。flags 是 MapFlags 的一組旗標,用於指定硬體如何存取緩衝區。

要求

名稱類型
payload PrimaryMapBufferRequest

OnNotifyMemoryImported

表示伺服器匯入了指定數量的緩衝區記憶體位元組。呼叫端應限制傳輸中 ImportBuffer 訊息的記憶體用量: (傳送的位元組 - 伺服器匯入的位元組) <= MaxBytes (請參閱 QueryId::MAXIMUM_INFLIGHT_PARAMS)。 這項軟性限制旨在防止記憶體用量過高,但如果訊息較大,用戶端可能會超過限制。伺服器會盡快匯入記憶體,但只有在消耗的位元組數達到上限的一半時,才會傳送這個事件;因此,如果用戶端的傳輸中位元組數小於 max/2,用戶端應傳送 ImportBuffer 訊息,無論其大小為何。

回應

名稱類型
bytes uint64

OnNotifyMessagesConsumed

表示伺服器已取用指定數量的訊息。呼叫端應限制傳輸中的訊息數量: (傳送的訊息 - 伺服器消耗的訊息) <= MaxMessages (請參閱 QueryId::MAXIMUM_INFLIGHT_PARAMS)。伺服器實際上會盡快取用訊息,但只有在取用數量達到上限的一半時,伺服器才會傳送這個事件。

回應

名稱類型
count uint64

ReleaseObject

在這個連線中,刪除含有 object_id 的物件。

要求

名稱類型
object_id ObjectId
object_type ObjectType

ReleasePerformanceCounterBufferPool

釋出成效計數器緩衝區集區。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
pool_id PerformanceCounterPoolId

RemovePerformanceCounterBufferFromPool

從集區中移除緩衝區的所有偏移量。伺服器處理完這個方法後,就不會再將轉儲資料處理到這個緩衝區。傳輸中的傾印資料可能會遺失。呼叫這個方法前,必須先使用 EnablePerformanceCounterAccess 啟用效能計數器存取權。

要求

名稱類型
pool_id PerformanceCounterPoolId
buffer_id ObjectId

UnmapBuffer

從硬體釋出指定 buffer_id 的位址 hw_va 對應關係。緩衝區在釋出時也會隱含取消對應。

要求

名稱類型
payload PrimaryUnmapBufferRequest

TestDevice

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

用於測試 MSD 的其他裝置方法,ICD 不應使用。已淘汰:請改用 TestDevice2。

已移除:HEAD

Connect2

建立與裝置的連線,由兩個 IPC 管道組成。主要管道用於主要通訊協定 (請見下方)。通知管道用於供應商專屬訊息,僅以反向 (伺服器到用戶端) 傳送,通常是為了回應完成的用戶端指令。

要求

名稱類型
client_id uint64
primary_channel server_end:Primary
notification_channel server_end:Notification

DumpState

將驅動程式庫和硬體狀態轉儲至記錄。

要求

名稱類型
dump_type uint32

GetIcdList

傳回可與這個 Magma 裝置搭配使用的 ICD 清單。清單會依偏好程度遞減排序。

要求

<EMPTY>

回應

名稱類型
icd_list vector<IcdInfo>:8

GetUnitTestStatus

要求

<EMPTY>

回應

名稱類型
status zx/Result

查詢

成功時,會傳回緩衝區中的結果或簡單值。

要求

名稱類型
query_id QueryId

回應

名稱類型
payload Device_Query_Result

TestDevice2

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

在 MSD 中回報測試執行的其他方法。

新增:HEAD

GetUnitTestStatus

要求

<EMPTY>

回應

名稱類型
status zx/Result

STRUCTS

BufferRange

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

欄位類型說明預設
buffer_id ObjectId 無預設值
offset uint64 無預設值
size uint64 無預設值

CommandBuffer

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

指令緩衝區可用於在共用緩衝區 (VMO) 中傳遞硬體指令。

欄位類型說明預設
resource_index uint32

資源索引,其中包含啟動指令緩衝區的操作說明。

無預設值
start_offset uint64

資源內的起始偏移量。

無預設值

DebugUtils_SetPowerState_Response

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

欄位類型說明預設
time_in_ns uint64

完成電源狀態轉換所需的時間,以奈秒為單位。

無預設值

PowerElementProvider_GetPowerGoals_Response 資源

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

欄位類型說明預設
goals vector<PowerGoal> 無預設值

列舉

BufferOp 彈性

類型:uint32

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

名稱值說明
1

使用這個範圍內對應的頁面填入硬體頁面表格,並視需要提交頁面。如果配置對應為 GROWABLE,則不需要執行這項操作,因為系統會視需要填入分頁表。

2

取消填入這個範圍的頁面表格對應。這可防止硬體存取該範圍內的頁面,但頁面會保留其內容。

ObjectType flexible

類型:uint32

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

名稱值說明
11

由 Zircon VMO 支援的記憶體物件。

12

由 Zircon 事件或計數器支援的同步物件。

新增:13

PowerGoalType flexible

類型:uint64

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

這個列舉的每個元素都代表特定電源狀態的高階目標。

新增:HEAD

名稱值說明
1

硬體已開啟,但處於閒置狀態,可立即處理工作。

2

硬體處於高效能狀態,適合玩遊戲或其他密集活動。

3

硬體處於可長時間提供一致效能的模式。

優先檔案區彈性

類型:uint64

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

指定優先順序。硬體會嘗試分配資源,優先處理優先順序較高的工作。只有信任的用戶端可以要求高於 MEDIUM 的優先順序。MEDIUM 視為預設優先順序。

新增:28

名稱值說明
128
256
512
1024

QueryId 彈性

類型:uint64

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

可從 Magma 系統驅動程式庫查詢的硬體和驅動程式庫資訊類型。您可以使用供應商專屬 ID 編號,但這些 ID 會列在其他地方。

名稱值說明
0

傳回硬體供應商 ID (簡單結果) - 應盡可能為硬體供應商的 PCI ID,否則應為 Khronos 供應商 ID。

1

傳回硬體裝置 ID (簡單結果)

2

傳回系統驅動程式庫支援的供應商介面版本。

新增:12
3

如果支援 MAGMA_QUERY_TOTAL_TIME,則傳回 true (簡單結果)

5

前 32 位元:傳輸中的訊息數量上限;後 32 位元:傳輸中的記憶體上限 (MB) (簡單結果)

500

傳回 struct magma_total_time_query_result (緩衝區結果);請參閱:src/graphics/lib/magma/include/magma/magma_common_defs.h

10000

供應商專屬查詢 ID 從這裡開始

TABLES

IcdInfo

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

可與 Magma 裝置搭配使用的 ICD 實作相關資訊。

序數欄位類型說明
component_url fuchsia.url/Url

提供 ICD 的元件實作網址。

flags IcdFlags

描述 ICD 基本功能的旗標,包括支援的 API。

InlineCommand

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

新增:15

序數欄位類型說明
data vector<uint8>
semaphores vector<ObjectId>

PerformanceCounterEventsOnPerformanceCounterReadCompletedRequest

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

序數欄位類型說明
trigger_id PerformanceCounterTriggerId

必填。

buffer_id ObjectId

必填。

buffer_offset uint32

必填。

timestamp zx/Time

必填。

flags ResultFlags

必填。

PowerElementProviderGetClockSpeedLevelRequest

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

序數欄位類型說明
hz uint64

此為必要項目。目標頻率。

allow_max bool

如果為 true,且 hz 大於最大時脈頻率,則會傳回與最大支援頻率對應的等級。如果不是 true (或未指定),且 hz 大於最大時脈頻率,這項呼叫會傳回 ZX_ERR_OUT_OF_RANGE。

PowerElementProviderSetClockLimitRequest

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

序數欄位類型說明
hz uint64

此為必要項目。目標頻率

資源:PowerElementProvider_GetClockSpeedLevel_Response

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

序數欄位類型說明
token handle<event>

此為必要項目。必須租用的 fuchsia.power.broker.DependencyToken。

level uint8

此為必要項目。租賃 token 的等級。

actual_hz uint64

此為必要項目。該層級代表的目標頻率。如果 allow_max==false' (or allow_max isn't set) then this must be >= hz; otherwise, it can be any value relative to hz`。

PowerElementProvider_SetClockLimit_Response 資源

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

序數欄位類型說明
handle handle<eventpair>

此為必要項目。代表這項要求的控制代碼;只要控制代碼處於開啟狀態,系統就會遵守時鐘限制。

actual_hz uint64

此為必要項目。時脈實際受限的頻率。這個值可能大於或小於 hz。

PowerGoal 資源

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

這個表格代表特定功率目標。用戶端必須取得權杖的租約,才能啟用狀態。

新增:HEAD

序數欄位類型說明
type PowerGoalType

必填。

token handle<event>

此為必要項目。必須在層級 1 租賃 fuchsia.power.broker.DependencyToken,才能達成目標。

資源:PrimaryImportObjectRequest

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

序數欄位類型說明
object Object

必填。

object_type ObjectType

必填。

object_id ObjectId

必填。

flags ImportFlags

選用

PrimaryMapBufferRequest

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

序數欄位類型說明
hw_va uint64

必填。

range BufferRange

必填。

flags MapFlags

PrimaryUnmapBufferRequest

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

序數欄位類型說明
hw_va uint64

必填。

buffer_id ObjectId

必填。

UNIONS

DebugUtils_SetPowerState_Result strict

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

序數Variant類型說明
response DebugUtils_SetPowerState_Response
err zx/Status

Device_Query_Response strict resource

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

序數Variant類型說明
simple_result uint64
buffer_result handle<vmo>

Device_Query_Result strict resource

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

序數Variant類型說明
response Device_Query_Response
err zx/Status

彈性物件資源

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

新增:13
序數Variant類型說明
semaphore handle<event>
buffer handle<vmo>
vmo_semaphore handle<vmo>
已移除:HEAD
counter_semaphore handle<counter>
新增:HEAD

PowerElementProvider_GetClockSpeedLevel_Result strict resource

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

序數Variant類型說明
response PowerElementProvider_GetClockSpeedLevel_Response
err zx/Status
framework_err internal

strict resource PowerElementProvider_GetPowerGoals_Result

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

序數Variant類型說明
response PowerElementProvider_GetPowerGoals_Response
framework_err internal

PowerElementProvider_SetClockLimit_Result strict resource

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

序數Variant類型說明
response PowerElementProvider_SetClockLimit_Response
err zx/Status
framework_err internal

BITS

CommandBufferFlags flexible

類型:uint64

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

名稱值說明
65536

廠商專屬定義從這裡開始

IcdFlags 彈性

類型:uint32

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

名稱值說明
1
2
4

ImportFlags flexible

類型:uint64

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

新增:13

名稱值說明
1

MapFlags 彈性

類型:uint64

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

名稱值說明
1
2
4
8

未提交的頁面可能會在硬體故障時提交。如果未設定這個旗標,存取錯誤應會導致錯誤。

65536

廠商專屬定義從這裡開始

ResultFlags flexible

類型:uint32

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

名稱值說明
1

如果效能計數器遺漏部分樣本 (例如硬體有部分時間處於保護模式),系統會在 result_flags 中設定這個位元。

常數

名稱值類型說明
MAX_ICD_COUNT 8 uint64

Magma 系統驅動程式庫程式支援的 ICD 數量上限。

MAX_INLINE_COMMANDS_DATA_SIZE 2048 uint32

在單一訊息中傳送多個內嵌指令時使用的批次大小。

新增:15

別名

名稱值說明
ContextId uint32
ObjectId uint64
PerformanceCounterPoolId uint64

效能計數器集區包含緩衝區的位元組範圍。每當觸發效能計數器轉儲時,驅動程式庫就會從集區中移除一個範圍,將硬體的效能計數器值寫入其中,然後使用 OnPerformanceCounterReadCompleted 向用戶端發出信號。集區 ID 是由用戶端分配的任意 uint64 值。

PerformanceCounterSet vector[64]

描述一組效能計數器。確切含義取決於特定驅動程式庫,但通常是代表每個效能計數器啟用或停用的位元向量。

PerformanceCounterTriggerId uint32

服務

DependencyInjectionService

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

名稱類型傳輸
device fuchsia.gpu.magma/DependencyInjection 版本

PerformanceCounterService

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

名稱類型傳輸
存取權 fuchsia.gpu.magma/PerformanceCounterAccess 版本

PowerService

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

名稱類型傳輸
device fuchsia.gpu.magma/CombinedDevice 版本
power_element_provider fuchsia.gpu.magma/PowerElementProvider 版本
debug_utils fuchsia.gpu.magma/DebugUtils 版本

服務

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

名稱類型傳輸
device fuchsia.gpu.magma/CombinedDevice 版本

TestService

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

名稱類型傳輸
device fuchsia.gpu.magma/CombinedDevice 版本
test_device fuchsia.gpu.magma/TestDevice2 版本

TrustedService

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

名稱類型傳輸
device fuchsia.gpu.magma/CombinedDevice 版本