Crate fidl_fuchsia_sysmem
source ·Structs
A Stream of incoming requests for Allocator
Constraints on BufferCollection parameters. 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.
Information about a buffer collection and its buffers.
A Stream of incoming requests for BufferCollection
A Stream of incoming requests for BufferCollectionTokenGroup
A Stream of incoming requests for BufferCollectionToken
Describes how the contents of buffers are represented.
Buffers of each type are described by their own tables.
Describes how the pixels within an image are meant to be presented.
Simple color spaces need only a type.
Parametric color spaces may require additional properties.
Describes how an image is represented.
Describes how an image is represented.
Describes constraints on layout of image data in buffers.
Describes constraints for allocating images of some desired form.
A Stream of incoming requests for Node
Describes how the pixels within an image are represented.
Simple formats need only a type.
Parametric pixel formats may require additional properties.
A Stream of incoming requests for SecureMem
After the initial buffer allocation, it’s allowed to close old buffers and
allocate new buffers. When a new buffer is allocated its settings can
differ from the rest of the buffers in the collection, and the single
buffer’s settings are delivered via OnSingleBufferAllocated() using this
struct:
Enums
Allocates system memory buffers.
BufferCollection is a connection directly from a participant to sysmem re.
a logical BufferCollection; typically the logical BufferCollection is shared
with other participants. In other words, an instance of the BufferCollection
interface is a view of a “logical buffer collection”.
The sysmem implementation is guaranteed to be consistent with a logical /
conceptual model as follows:
A BufferCollectionToken is not a BufferCollection, but rather a way to
identify a potential shared BufferCollection prior to the BufferCollection
being allocated.
Inaccessible is only for cases where there is no CPU-based access to the
buffers. A secure_required buffer can still have CoherencyDomain Cpu or
Ram even if the secure_required buffer can only be accessed by the CPU when
the CPU is running in secure mode (or similar). In contrast, device-local
memory that isn’t reachable from the CPU is CoherencyDomain Inaccessible,
even if it’s possible to cause a device (physical or virtual) to copy the
data from the Inaccessible buffers to buffers that are visible to the CPU.
This list has a separate entry for each variant of a color space standard.
Known heap types.
Device specific types should have bit 60 set. Top order bit is reserved
and should not be set.
The ordering of the channels in the format name reflects how
the actual layout of the channel.
SecureMem
Constants
Actually creating this many children isn’t recommended in most typical
scenarios, but isn’t prevented, for testing reasons, and just in case an
unusual scenario needs it. Mitigation of potentially high time complexity
in sysmem will limit the actual number of group child combinations
considered in aggregation attempts to a separate maximum that is not
settable via these protocols. The maximum number of total nodes in a sysmem
token tree is limited to a separate maximum that is not settable via these
protocols.