fuchsia.gpu.magma

PROTOCOLS

Device

Defined in fuchsia.gpu.magma/magma.fidl

Query

Get a parameter.

Request

NameType
query_id uint64

Response

NameType
result uint64

QueryReturnsBuffer

Get a parameter and store it in a new vmo.

Request

NameType
query_id uint64

Response

NameType
result handle<vmo>

Connect

Get the magma ipc channels.

Request

NameType
client_id uint64

Response

NameType
primary_channel handle<channel>
notification_channel handle<channel>

DumpState

Dumps driver and hardware state.

Request

NameType
dump_type uint32

TestRestart

For testing only.

Request

NameType

Primary

Defined in fuchsia.gpu.magma/magma.fidl

ImportBuffer

Imports a buffer for use in the system driver.

Request

NameType
buffer handle<vmo>

ReleaseBuffer

Destroys the buffer with buffer_id within this connection.

Request

NameType
buffer_id zx/koid

ImportObject

Imports an object for use in the system driver.

Request

NameType
object handle<handle>
object_type uint32

ReleaseObject

Destroys the object with object_id within this connection.

Request

NameType
object_id zx/koid
object_type uint32

CreateContext

Creates context context_id.

Request

NameType
context_id uint32

DestroyContext

Destroys context context_id.

Request

NameType
context_id uint32

ExecuteCommandBufferWithResources

Submits a command buffer for execution on the GPU, with associated resources.

Request

NameType
context_id uint32
command_buffer CommandBuffer
resources vector<Resource>
wait_semaphores vector<uint64>
signal_semaphores vector<uint64>

ExecuteImmediateCommands

Submits a series of commands for execution on the GPU without using a command buffer.

Request

NameType
context_id uint32
command_data vector<uint8>[2048]
semaphores vector<uint64>

GetError

Retrieve the current magma error status.

Request

NameType

Response

NameType
magma_status int32

MapBufferGpu

Maps page_count pages of buffer from page_offset onto the GPU in the connection's address space at gpu_va. flags is a set of flags from MAGMA_GPU_MAP_FLAGS that specify how the GPU can access the buffer.

Request

NameType
buffer_id zx/koid
gpu_va uint64
page_offset uint64
page_count uint64
flags uint64

UnmapBufferGpu

Releases the mapping at gpu_va from the GPU. Buffers will also be implicitly unmapped when released.

Request

NameType
buffer_id zx/koid
gpu_va uint64

CommitBuffer

Ensures that page_count pages starting at page_offset from the beginning of the buffer are backed by physical memory.

Request

NameType
buffer_id zx/koid
page_offset uint64
page_count uint64

STRUCTS

Resource

Defined in fuchsia.gpu.magma/magma.fidl

NameTypeDescriptionDefault
buffer zx/koid No default
offset uint64 No default
length uint64 No default

CommandBuffer

Defined in fuchsia.gpu.magma/magma.fidl

NameTypeDescriptionDefault
batch_buffer_resource_index uint32 No default
batch_start_offset uint32 No default

CONSTANTS

NameValueTypeDescription
kReceiveBufferSize 2048 uint32

Primary declarations.