Enum fidl_fuchsia_gpu_magma::BufferOp
source · #[non_exhaustive]
pub enum BufferOp {
PopulateTables,
DepopulateTables,
// some variants omitted
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
PopulateTables
Populate the hardware page tables with the pages mapped in this range, committing pages as needed. This is not needed for allocations mapped GROWABLE, since the page tables will be populated on demand.
DepopulateTables
Depopulate page table mappings for this range. This prevents the hardware from accessing pages in that range, but the pages retain their contents.
Implementations§
source§impl BufferOp
impl BufferOp
pub fn from_primitive(prim: u32) -> Option<Self>
pub fn from_primitive_allow_unknown(prim: u32) -> Self
pub fn unknown() -> Self
pub const fn into_primitive(self) -> u32
pub fn is_unknown(&self) -> bool
Trait Implementations§
source§impl Decodable for BufferOp
impl Decodable for BufferOp
source§fn decode(
&mut self,
decoder: &mut Decoder<'_>,
offset: usize
) -> Result<(), Error>
fn decode( &mut self, decoder: &mut Decoder<'_>, offset: usize ) -> Result<(), Error>
Decodes an object of this type from the decoder’s buffers into
self
.
Callers must ensure that offset
is a multiple of
Layout::inline_align
, and that decoder.buf
has room for reading
Layout::inline_size
bytes at offset
. Read moresource§impl Encodable for BufferOp
impl Encodable for BufferOp
source§fn encode(
&mut self,
encoder: &mut Encoder<'_, '_>,
offset: usize,
recursion_depth: usize
) -> Result<(), Error>
fn encode( &mut self, encoder: &mut Encoder<'_, '_>, offset: usize, recursion_depth: usize ) -> Result<(), Error>
Encode the object into the buffer. Any handles stored in the object are
swapped for
Handle::INVALID
. Callers must ensure that offset
is a
multiple of Layout::inline_align
, and that encoder.buf
has room for
writing Layout::inline_size
bytes at offset
. Read moresource§impl Layout for BufferOp
impl Layout for BufferOp
source§fn inline_align(context: &Context) -> usize
fn inline_align(context: &Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
source§fn inline_size(context: &Context) -> usize
fn inline_size(context: &Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for the type’s alignment. Must be a multiple of
inline_align
.§fn supports_simple_copy() -> boolwhere
Self: Sized,
fn supports_simple_copy() -> boolwhere Self: Sized,
Returns true iff the type can be encoded or decoded via simple copy. Read more
source§impl Ord for BufferOp
impl Ord for BufferOp
source§impl PartialEq<BufferOp> for BufferOp
impl PartialEq<BufferOp> for BufferOp
source§impl PartialOrd<BufferOp> for BufferOp
impl PartialOrd<BufferOp> for BufferOp
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for BufferOp
impl Eq for BufferOp
impl StructuralEq for BufferOp
impl StructuralPartialEq for BufferOp
Auto Trait Implementations§
impl RefUnwindSafe for BufferOp
impl Send for BufferOp
impl Sync for BufferOp
impl Unpin for BufferOp
impl UnwindSafe for BufferOp
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutObject for Twhere
T: Layout,
impl<T> LayoutObject for Twhere T: Layout,
§fn inline_align(&self, context: &Context) -> usize
fn inline_align(&self, context: &Context) -> usize
See
Layout::inline_align
.§fn inline_size(&self, context: &Context) -> usize
fn inline_size(&self, context: &Context) -> usize
See
Layout::inline_size
.