Struct MemoryPropertyFlags

Source
pub struct MemoryPropertyFlags(/* private fields */);
Expand description

Bitmask specifying properties for a memory type

Implementations§

Source§

impl MemoryPropertyFlags

Source

pub const fn bits(&self) -> VkMemoryPropertyFlags

Returns bits in this flags

Source

pub const fn has_any(self, other: Self) -> bool

Returns true if any of specified bits are contained in this flag.

Source

pub const fn has_all(self, other: Self) -> bool

Returns true if all of specified bits are contained in this flag.

Source

pub const fn merge(self, other: Self) -> Self

merge two flags (const alias of BitOr)

Source§

impl MemoryPropertyFlags

Source

pub const EMPTY: Self

Empty set

Source

pub const DEVICE_LOCAL: Self

Memory allocated with this type is the most efficient for device access

Source

pub const HOST_VISIBLE: Self

Memory allocated with this type can be mapped for host access using vkMapMemory

Source

pub const HOST_COHERENT: Self

The host cache management commands vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges are not needed to flush host writes to the device or make device writes visible to the host, respectively.

Source

pub const HOST_CACHED: Self

Memory allocated with this type is cached on the host. Host memory accesses to uncached memory are slower than to cached memory, however uncached memory is always host coherent

Source

pub const LAZILY_ALLOCATED: Self

The memory type only allows device access to the memory.

Source

pub const PROTECTED: Self

Available on crate feature Allow1_1APIs only.

The memory type only allows device access to the memory, and allows protected queue operations to access the memory.

Trait Implementations§

Source§

impl BitAnd for MemoryPropertyFlags

Source§

type Output = MemoryPropertyFlags

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self

Performs the & operation. Read more
Source§

impl BitAndAssign for MemoryPropertyFlags

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitOr for MemoryPropertyFlags

Source§

type Output = MemoryPropertyFlags

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self

Performs the | operation. Read more
Source§

impl BitOrAssign for MemoryPropertyFlags

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl Clone for MemoryPropertyFlags

Source§

fn clone(&self) -> MemoryPropertyFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MemoryPropertyFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<MemoryPropertyFlags> for VkMemoryPropertyFlags

Source§

fn from(value: MemoryPropertyFlags) -> Self

Converts to this type from the input type.
Source§

impl Not for MemoryPropertyFlags

Source§

type Output = MemoryPropertyFlags

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self

Performs the unary ! operation. Read more
Source§

impl PartialEq for MemoryPropertyFlags

Source§

fn eq(&self, other: &MemoryPropertyFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MemoryPropertyFlags

Source§

impl Eq for MemoryPropertyFlags

Source§

impl StructuralPartialEq for MemoryPropertyFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.