logo
pub struct MemoryPropertyFlags {
    pub device_local: bool,
    pub host_visible: bool,
    pub host_coherent: bool,
    pub host_cached: bool,
    pub lazily_allocated: bool,
    pub protected: bool,
    pub _ne: NonExhaustive,
}
Expand description

Properties of a memory type.

Fields

device_local: bool

The memory is located on the device. This usually means that it’s efficient for the device to access this memory.

host_visible: bool

The memory can be accessed by the host.

host_coherent: bool

Modifications made by the host or the device on this memory type are instantaneously visible to the other party. If memory does not have this flag, changes to the memory are not visible until they are flushed or invalidated.

host_cached: bool

The memory is cached by the host. Host memory accesses to cached memory are faster than for uncached memory, but the cache may not be coherent.

lazily_allocated: bool

Allocations made from this memory type are lazy.

This means that no actual allocation is performed. Instead memory is automatically allocated by the Vulkan implementation based on need.

Memory of this type can only be used on images created with a certain flag. Memory of this type is never host-visible.

protected: bool

The memory can only be accessed by the device, and allows protected queue access.

Memory of this type is never host visible, host coherent or host cached.

_ne: NonExhaustive

Implementations

Returns a MemoryPropertyFlags with none of the flags set.

👎Deprecated since 0.31.0:

Use empty instead.

Returns a MemoryPropertyFlags with none of the flags set.

Returns whether no flags are set in self.

Returns whether any flags are set in both self and other.

Returns whether all flags in other are set in self.

Returns the union of self and other.

Returns the intersection of self and other.

Returns self without the flags set in other.

Returns the flags set in self or other, but not both.

Trait Implementations

The resulting type after applying the & operator.
Performs the & operation. Read more
Performs the &= operation. Read more
The resulting type after applying the | operator.
Performs the | operation. Read more
Performs the |= operation. Read more
The resulting type after applying the ^ operator.
Performs the ^ operation. Read more
Performs the ^= operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.