Macros§
- Pattern that matches an unknown
CoherencyDomain
member. - Pattern that matches an unknown
Error
member.
Structs§
- A Stream of incoming requests for fuchsia.sysmem2/Allocator.
- Constraints on allocated buffers and, optionally, constraints on images stored in the buffers. These constraints can be specified per-participant. The sysmem service implements aggregation of constraints from multiple participants.
- Information about a buffer collection and its buffers.
- A Stream of incoming requests for fuchsia.sysmem2/BufferCollection.
- A Stream of incoming requests for fuchsia.sysmem2/BufferCollectionTokenGroup.
- A Stream of incoming requests for fuchsia.sysmem2/BufferCollectionToken.
- These are memory-related settings for all buffers of a buffer collection.
- Describes how a client will access the contents of a buffer.
- This type is fidl::Persist()’ed in the sysmem_config.persistent_fidl file within the sysmem domain config by the assembly tool, and read by the sysmem driver.
- A FormatCostEntry can be used to influence which PixelFormatAndModifier is chosen for a buffer collection, optionally taking BufferUsage into account.
- Entries which have the same pixel_format, pixel_format_modifier, and required_usage_bits as a previous entry will override that previous entry. For matching purposes, an absent pixel_format_modifier matches LINEAR, and an absent required_buffer_usage_bits matches all-0 usage bits.
- This is the root of the persistent fidl in a format costs file. The format costs files are read by the assembly tool and merged into the single sysmem_config.persistent_fidl file in the sysmem domain config (see Config above).
- A reference to a heap instance.
- Describes constraints on layout of image data in buffers.
- A Stream of incoming requests for fuchsia.sysmem2/Node.
- A Stream of incoming requests for fuchsia.sysmem2/SecureMem.
- These settings and constraints apply to all the buffers in the collection.
Enums§
- Allocates system memory buffers.
- [
fuchsia.sysmem2/BufferCollection
] is a connection directly from a participant to sysmem re. a buffer collection; often the buffer collection is shared with other participants which have their ownBufferCollection
client end(s) associated with the same buffer collection. In other words, an instance of theBufferCollection
interface is a view of a buffer collection, not the buffer collection itself. - The sysmem implementation is consistent with a logical / conceptual model of allocation / logical allocation as follows:
- A [
fuchsia.sysmem2/BufferCollectionToken
] is not a buffer collection, but rather is a way to identify a specific potential shared buffer collection, and a way to distribute that potential shared buffer collection to additional participants prior to the buffer collection allocating any buffers. INACCESSIBLE
is only for cases where there is no CPU access to the buffers.- Regardless of which error code, any client retries should be very limited in number, if any.
- This protocol is the parent protocol for all nodes in the tree established by [
fuchsia.sysmem2/BufferCollectionToken
] creation and [fuchsia.sysmem2/BufferCollectionTokenGroup
] creation, includingfuchsia.sysmem2/BufferCollectionToken
which have since been converted to a [fuchsia.sysmem2/BufferCollection
] channel. - SecureMem
Constants§
- The max length in bytes of the
name
request field in [fuchsia.sysmem2/Allocator.SetDebugClientInfo
] and [fuchsia.sysmem2/Node.SetDebugClientInfo
]. - The maximum size of [
fuchsia.sysmem2/BufferCollectionConstraints.image_format_constraints
]. - The maximum entries that can be in the [
fuchsia.sysmem2/BufferCollectionInfo.buffers
] field. - The maximum size of [
fuchsia.sysmem2/BufferMemoryConstraints.permitted_heaps
]. - The maximum number of token children of an OR group that can be created per call to [
fuchsia.sysmem2/BufferCollectionTokenGroup.CreateChildrenSync
]. - The maximum size of [
fuchsia.sysmem2/ImageFormatConstraints.color_spaces
]. - The maximum size of [
fuchsia.sysmem2/ImageFormatConstraints.pixel_format_and_modifiers
].