Struct vulkano::buffer::BufferUsage
source · [−]pub struct BufferUsage {
pub transfer_source: bool,
pub transfer_destination: bool,
pub uniform_texel_buffer: bool,
pub storage_texel_buffer: bool,
pub uniform_buffer: bool,
pub storage_buffer: bool,
pub index_buffer: bool,
pub vertex_buffer: bool,
pub indirect_buffer: bool,
pub device_address: bool,
pub _ne: NonExhaustive,
}
Expand description
Describes how a buffer is going to be used. This is not just an optimization.
If you try to use a buffer in a way that you didn’t declare, a panic will happen.
Some methods are provided to build BufferUsage
structs for some common situations. However
there is no restriction in the combination of BufferUsages that can be enabled.
Fields
transfer_source: bool
transfer_destination: bool
uniform_texel_buffer: bool
storage_texel_buffer: bool
uniform_buffer: bool
storage_buffer: bool
index_buffer: bool
vertex_buffer: bool
indirect_buffer: bool
device_address: bool
_ne: NonExhaustive
Implementations
sourceimpl BufferUsage
impl BufferUsage
sourcepub const fn none() -> BufferUsage
pub const fn none() -> BufferUsage
Builds a BufferUsage
with all values set to false.
sourcepub const fn all() -> BufferUsage
pub const fn all() -> BufferUsage
Builds a BufferUsage
with all values set to true. Can be used for quick prototyping.
sourcepub const fn transfer_source() -> BufferUsage
pub const fn transfer_source() -> BufferUsage
Builds a BufferUsage
with transfer_source
set to true and the rest to false.
sourcepub const fn transfer_destination() -> BufferUsage
pub const fn transfer_destination() -> BufferUsage
Builds a BufferUsage
with transfer_destination
set to true and the rest to false.
sourcepub const fn vertex_buffer() -> BufferUsage
pub const fn vertex_buffer() -> BufferUsage
Builds a BufferUsage
with vertex_buffer
set to true and the rest to false.
sourcepub const fn vertex_buffer_transfer_destination() -> BufferUsage
pub const fn vertex_buffer_transfer_destination() -> BufferUsage
Builds a BufferUsage
with vertex_buffer
and transfer_destination
set to true and the rest
to false.
sourcepub const fn index_buffer() -> BufferUsage
pub const fn index_buffer() -> BufferUsage
Builds a BufferUsage
with index_buffer
set to true and the rest to false.
sourcepub const fn index_buffer_transfer_destination() -> BufferUsage
pub const fn index_buffer_transfer_destination() -> BufferUsage
Builds a BufferUsage
with index_buffer
and transfer_destination
set to true and the rest to false.
sourcepub const fn uniform_buffer() -> BufferUsage
pub const fn uniform_buffer() -> BufferUsage
Builds a BufferUsage
with uniform_buffer
set to true and the rest to false.
sourcepub const fn storage_buffer() -> BufferUsage
pub const fn storage_buffer() -> BufferUsage
Builds a BufferUsage
with only storage_buffer
set, while rest are not
sourcepub const fn uniform_buffer_transfer_destination() -> BufferUsage
pub const fn uniform_buffer_transfer_destination() -> BufferUsage
Builds a BufferUsage
with uniform_buffer
and transfer_destination
set to true and the rest
to false.
sourcepub const fn indirect_buffer() -> BufferUsage
pub const fn indirect_buffer() -> BufferUsage
Builds a BufferUsage
with indirect_buffer
set to true and the rest to false.
sourcepub const fn indirect_buffer_transfer_destination() -> BufferUsage
pub const fn indirect_buffer_transfer_destination() -> BufferUsage
Builds a BufferUsage
with indirect_buffer
and transfer_destination
set to true and the rest
to false.
sourcepub const fn device_address() -> BufferUsage
pub const fn device_address() -> BufferUsage
Builds a BufferUsage
with device_address
set to true and the rest to false.
Trait Implementations
sourceimpl BitOr<BufferUsage> for BufferUsage
impl BitOr<BufferUsage> for BufferUsage
sourceimpl Clone for BufferUsage
impl Clone for BufferUsage
sourcefn clone(&self) -> BufferUsage
fn clone(&self) -> BufferUsage
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for BufferUsage
impl Debug for BufferUsage
sourceimpl Default for BufferUsage
impl Default for BufferUsage
sourcefn default() -> BufferUsage
fn default() -> BufferUsage
Returns the “default value” for a type. Read more
sourceimpl From<BufferUsage> for BufferUsageFlags
impl From<BufferUsage> for BufferUsageFlags
sourcefn from(val: BufferUsage) -> Self
fn from(val: BufferUsage) -> Self
Performs the conversion.
sourceimpl PartialEq<BufferUsage> for BufferUsage
impl PartialEq<BufferUsage> for BufferUsage
sourcefn eq(&self, other: &BufferUsage) -> bool
fn eq(&self, other: &BufferUsage) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &BufferUsage) -> bool
fn ne(&self, other: &BufferUsage) -> bool
This method tests for !=
.
impl Copy for BufferUsage
impl Eq for BufferUsage
impl StructuralEq for BufferUsage
impl StructuralPartialEq for BufferUsage
Auto Trait Implementations
impl RefUnwindSafe for BufferUsage
impl Send for BufferUsage
impl Sync for BufferUsage
impl Unpin for BufferUsage
impl UnwindSafe for BufferUsage
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more