Struct BufferUsage

Source
#[repr(transparent)]
pub struct BufferUsage(pub VkBufferUsageFlags);
Expand description

Bitmask specifying allowed usage of a buffer

Tuple Fields§

§0: VkBufferUsageFlags

Implementations§

Source§

impl BufferUsage

Source

pub const TRANSFER_SRC: Self

Specifies that the buffer can be used as the source of a transfer command

Source

pub const TRANSFER_DEST: Self

Specifies that the buffer can be used as the destination of a transfer command

Source

pub const UNIFORM_TEXEL_BUFFER: Self

Specifies that the buffer can be used to create a BufferView suitable for occupying a DescriptorSet slot of type VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER

Source

pub const STORAGE_TEXEL_BUFFER: Self

Specifies that the buffer can be used to create a BufferView suitable for occupying a DescriptorSet slot of type VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER

Source

pub const UNIFORM_BUFFER: Self

Specifies that the buffer can be used in a DescriptorBufferInfo suitable for occupying a DescriptorSet slot either of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC

Source

pub const STORAGE_BUFFER: Self

Specifies that the buffer can be used in a DescriptorBufferInfo suitable for occupying a DescriptorSet slot either of type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC

Source

pub const INDEX_BUFFER: Self

Specifies that the buffer is suitable for passing as the buffer parameter to DrawCommandBuffer::bind_index_buffer

Source

pub const VERTEX_BUFFER: Self

Specifies that the buffer is suitable for passing as an element of the buffers array to DrawCommandBuffer::bind_vertex_buffers

Source

pub const INDIRECT_BUFFER: Self

Specifies that the buffer is suitable for passing as the buffer parameter to DrawCommandBuffer::draw_indirect, DrawCommandBuffer::draw_indexed_indirect, or ComputeCommandBuffer::dispatch_indirect

Source

pub const fn transfer_src(self) -> Self

Specifies that the buffer can be used as the source of a transfer command

Source

pub const fn transfer_dest(self) -> Self

Specifies that the buffer can be used as the destination of a transfer command

Source

pub const fn uniform_texel_buffer(self) -> Self

Specifies that the buffer can be used to create a BufferView suitable for occupying a DescriptorSet slot of type VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER

Source

pub const fn storage_texel_buffer(self) -> Self

Specifies that the buffer can be used to create a BufferView suitable for occupying a DescriptorSet slot of type VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER

Source

pub const fn uniform_buffer(self) -> Self

Specifies that the buffer can be used in a DescriptorBufferInfo suitable for occupying a DescriptorSet slot either of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC

Source

pub const fn storage_buffer(self) -> Self

Specifies that the buffer can be used in a DescriptorBufferInfo suitable for occupying a DescriptorSet slot either of type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC

Source

pub const fn index_buffer(self) -> Self

Specifies that the buffer is suitable for passing as the buffer parameter to DrawCommandBuffer::bind_index_buffer

Source

pub const fn vertex_buffer(self) -> Self

Specifies that the buffer is suitable for passing as an element of the buffers array to DrawCommandBuffer::bind_vertex_buffers

Source

pub const fn indirect_buffer(self) -> Self

Specifies that the buffer is suitable for passing as the buffer parameter to DrawCommandBuffer::draw_indirect, DrawCommandBuffer::draw_indexed_indirect, or ComputeCommandBuffer::dispatch_indirect

Source

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

merge two flags (const alias of BitOr)

Source

pub const fn default_access_mask(self) -> VkAccessFlags

Generates a default access type mask

Source

pub const fn is_uniform(self) -> bool

Determines if flag contains usage of uniform-buffer

Source

pub const fn is_storage(self) -> bool

Determines if flag contains usage of storage-buffer

Trait Implementations§

Source§

impl BitOr for BufferUsage

Source§

type Output = BufferUsage

The resulting type after applying the | operator.
Source§

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

Performs the | operation. Read more
Source§

impl BitOrAssign for BufferUsage

Source§

fn bitor_assign(&mut self, other: Self)

Performs the |= operation. Read more
Source§

impl Clone for BufferUsage

Source§

fn clone(&self) -> BufferUsage

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 BufferUsage

Source§

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

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

impl From<BufferUsage> for VkBufferUsageFlags

Source§

fn from(value: BufferUsage) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for BufferUsage

Source§

fn eq(&self, other: &BufferUsage) -> 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 BufferUsage

Source§

impl Eq for BufferUsage

Source§

impl StructuralPartialEq for BufferUsage

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more