Struct BufferMemoryConstraints
pub struct BufferMemoryConstraints {
pub min_size_bytes: u32,
pub max_size_bytes: u32,
pub physically_contiguous_required: bool,
pub secure_required: bool,
pub ram_domain_supported: bool,
pub cpu_domain_supported: bool,
pub inaccessible_domain_supported: bool,
pub heap_permitted_count: u32,
pub heap_permitted: [HeapType; 32],
}
Expand description
This type is deprecated for new code, but is still used by some camera code.
Fields§
§min_size_bytes: u32
§max_size_bytes: u32
0 is treated as 0xFFFFFFFF.
physically_contiguous_required: bool
§secure_required: bool
If true, at least one participant requires secure memory.
When aggregating BufferCollectionConstraints, these values boolean-OR.
ram_domain_supported: bool
By default, participants must ensure the CPU can read or write data to the buffer without cache operations. If they support using the RAM domain, data must be available in RAM (with CPU cache state such that the RAM data won’t get corrupted by a dirty CPU cache line writing incorrect data to RAM), and a consumer reading using the CPU must invalidate CPU cache before reading (the producer doesn’t guarantee zero stale “clean” cache lines)
cpu_domain_supported: bool
§inaccessible_domain_supported: bool
§heap_permitted_count: u32
Optional heap constraints. Participants that don’t care which heap memory is allocated on should leave this field 0.
heap_permitted: [HeapType; 32]
Trait Implementations§
§impl Clone for BufferMemoryConstraints
impl Clone for BufferMemoryConstraints
§fn clone(&self) -> BufferMemoryConstraints
fn clone(&self) -> BufferMemoryConstraints
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for BufferMemoryConstraints
impl Debug for BufferMemoryConstraints
§impl<D> Decode<BufferMemoryConstraints, D> for BufferMemoryConstraintswhere
D: ResourceDialect,
impl<D> Decode<BufferMemoryConstraints, D> for BufferMemoryConstraintswhere
D: ResourceDialect,
§fn new_empty() -> BufferMemoryConstraints
fn new_empty() -> BufferMemoryConstraints
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<BufferMemoryConstraints, D> for &BufferMemoryConstraintswhere
D: ResourceDialect,
impl<D> Encode<BufferMemoryConstraints, D> for &BufferMemoryConstraintswhere
D: ResourceDialect,
§impl Hash for BufferMemoryConstraints
impl Hash for BufferMemoryConstraints
§impl Ord for BufferMemoryConstraints
impl Ord for BufferMemoryConstraints
§fn cmp(&self, other: &BufferMemoryConstraints) -> Ordering
fn cmp(&self, other: &BufferMemoryConstraints) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for BufferMemoryConstraints
impl PartialEq for BufferMemoryConstraints
§impl PartialOrd for BufferMemoryConstraints
impl PartialOrd for BufferMemoryConstraints
§impl TypeMarker for BufferMemoryConstraints
impl TypeMarker for BufferMemoryConstraints
§type Owned = BufferMemoryConstraints
type Owned = BufferMemoryConstraints
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.§impl ValueTypeMarker for BufferMemoryConstraints
impl ValueTypeMarker for BufferMemoryConstraints
§type Borrowed<'a> = &'a BufferMemoryConstraints
type Borrowed<'a> = &'a BufferMemoryConstraints
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<BufferMemoryConstraints as TypeMarker>::Owned,
) -> <BufferMemoryConstraints as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<BufferMemoryConstraints as TypeMarker>::Owned, ) -> <BufferMemoryConstraints as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.