Namespaces

Enumerations

enum HeapType
Name Value
kSystemRam 0u
kAmlogicSecure 1152921504606912512u
kAmlogicSecureVdec 1152921504606912513u
kGoldfishDeviceLocal 1152921504606978048u
kGoldfishHostVisible 1152921504606978049u
kFramebuffer 1152921504607043585u

Known heap types.

Device specific types should have bit 60 set. Top order bit is reserved

and should not be set.

This type is deprecated for new code, but is still used by some camera code.

Defined at line 22 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/common_types.h

enum CoherencyDomain
Name Value
kCpu 0u
kRam 1u
kInaccessible 2u

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.

Defined at line 62 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/common_types.h

enum PixelFormatType
Name Value
kInvalid 0u
kR8G8B8A8 1u
kBgra32 101u
kI420 102u
kM420 103u
kNv12 104u
kYuy2 105u
kMjpeg 106u
kYv12 107u
kBgr24 108u
kRgb565 109u
kRgb332 110u
kRgb2220 111u
kL8 112u
kR8 113u
kR8G8 114u
kA2R10G10B10 115u
kA2B10G10R10 116u
kDoNotCare 4294967294u

The ordering of the channels in the format name reflects how

the actual layout of the channel.

Each of these values is opinionated re. the color spaces that can be

contained within (in contrast with Vulkan).

This should be kept in sync with fuchsia.sysmem2.PixelFormatType.

This type is deprecated for new code, but is still used by some camera code.

Defined at line 96 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/common_types.h

enum ColorSpaceType
Name Value
kInvalid 0u
kSrgb 1u
kRec601Ntsc 2u
kRec601NtscFullRange 3u
kRec601Pal 4u
kRec601PalFullRange 5u
kRec709 6u
kRec2020 7u
kRec2100 8u
kPassThrough 9u
kDoNotCare 4294967294u

This list has a separate entry for each variant of a color space standard.

For this reason, should we ever add support for the RGB variant of 709, for

example, we'd add a separate entry to this list for that variant. Similarly

for the RGB variants of 2020 or 2100. Similarly for the YcCbcCrc variant of

2020. Similarly for the ICtCp variant of 2100.

A given ColorSpaceType may permit usage with a PixelFormatType(s) that

provides a bits-per-sample that's compatible with the ColorSpaceType's

official spec. Not all spec-valid combinations are necessarily supported.

See ImageFormatIsSupportedColorSpaceForPixelFormat() for the best-case degree

of support, but a "true" from that function doesn't guarantee that any given

combination of participants will all support the desired combination of

ColorSpaceType and PixelFormatType.

The sysmem service helps find a mutually supported combination and allocate

suitable buffers.

A ColorSpaceType's spec is not implicitly extended to support

outside-the-standard bits-per-sample (R, G, B, or Y sample). For example,

for 2020 and 2100, 8 bits-per-Y-sample is not supported (by sysmem), because

8 bits-per-Y-sample is not in the spec for 2020 or 2100. A sysmem

participant that attempts to advertise support for a PixelFormat + ColorSpace

that's non-standard will cause sysmem to reject the combo and fail to

allocate (intentionally, to strongly discourage specifying

insufficiently-defined combos).

This type is deprecated for new code, but is still used by some camera code.

Defined at line 219 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/common_types.h

Records

Functions

  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorAllocateNonSharedCollectionRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorAllocateSharedCollectionRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorBindSharedCollectionRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorValidateBufferCollectionTokenRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorValidateBufferCollectionTokenResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorSetDebugClientInfoRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::AllocatorConnectToSysmem2AllocatorRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeSetNameRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeSetDebugClientInfoRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeSetDebugTimeoutLogDeadlineRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeGetNodeRefResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeIsAlternateForRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeIsAlternateForResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::NodeIsAlternateForResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenDuplicateSyncRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenDuplicateSyncResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenDuplicateRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenCreateBufferCollectionTokenGroupRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionCheckBuffersAllocatedResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionAttachTokenRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionAttachLifetimeTrackingRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenGroupCreateChildRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenGroupCreateChildrenSyncRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionTokenGroupCreateChildrenSyncResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::VmoBuffer & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::HeapType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferMemoryConstraints & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::CoherencyDomain & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferMemorySettings & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::FormatModifier & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::PixelFormatType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::PixelFormat & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ColorSpaceType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ColorSpace & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ImageFormatConstraints & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SingleBufferSettings & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionInfo2 & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionWaitForBuffersAllocatedResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SingleBufferInfo & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ImageFormat2 & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ImagePlane & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ImageFormat & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferFormat & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionInfo & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::ImageSpec & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemAddSecureHeapPhysicalRangeResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemAddSecureHeapPhysicalRangeResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemDeleteSecureHeapPhysicalRangeResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemDeleteSecureHeapPhysicalRangeResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemModifySecureHeapPhysicalRangeResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemModifySecureHeapPhysicalRangeResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemZeroSubRangeResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemZeroSubRangeResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapProperties & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemGetPhysicalSecureHeapPropertiesResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemGetPhysicalSecureHeapPropertiesResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapRange & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapAndRanges & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapsAndRanges & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemGetPhysicalSecureHeapsResponse & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemGetPhysicalSecureHeapsResult & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapAndRange & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemGetPhysicalSecureHeapPropertiesRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemAddSecureHeapPhysicalRangeRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemDeleteSecureHeapPhysicalRangeRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemZeroSubRangeRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureHeapAndRangeModification & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::SecureMemModifySecureHeapPhysicalRangeRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferUsage & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_sysmem::BufferCollectionConstraints & value)
  • std::ostream & operator<< (std::ostream & osconst ::fuchsia_sysmem::BufferCollectionSetConstraintsRequest & value)