Crate fidl_fuchsia_sysmem
source ·Structs
- A Stream of incoming requests for fuchsia.sysmem/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 fuchsia.sysmem/BufferCollection.
- A Stream of incoming requests for fuchsia.sysmem/BufferCollectionTokenGroup.
- A Stream of incoming requests for fuchsia.sysmem/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 fuchsia.sysmem/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 fuchsia.sysmem/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.