pub struct BufferUsage(/* private fields */);
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, an error will be returned.
Implementations§
Source§impl BufferUsage
impl BufferUsage
Sourcepub const TRANSFER_SRC: Self
pub const TRANSFER_SRC: Self
The buffer can be used as a source for transfer, blit, resolve and clear commands.
Sourcepub const TRANSFER_DST: Self
pub const TRANSFER_DST: Self
The buffer can be used as a destination for transfer, blit, resolve and clear commands.
Sourcepub const UNIFORM_TEXEL_BUFFER: Self
pub const UNIFORM_TEXEL_BUFFER: Self
The buffer can be used as a uniform texel buffer in a descriptor set.
Sourcepub const STORAGE_TEXEL_BUFFER: Self
pub const STORAGE_TEXEL_BUFFER: Self
The buffer can be used as a storage texel buffer in a descriptor set.
Sourcepub const UNIFORM_BUFFER: Self
pub const UNIFORM_BUFFER: Self
The buffer can be used as a uniform buffer in a descriptor set.
Sourcepub const STORAGE_BUFFER: Self
pub const STORAGE_BUFFER: Self
The buffer can be used as a storage buffer in a descriptor set.
Sourcepub const INDEX_BUFFER: Self
pub const INDEX_BUFFER: Self
The buffer can be used as an index buffer.
Sourcepub const VERTEX_BUFFER: Self
pub const VERTEX_BUFFER: Self
The buffer can be used as a vertex or instance buffer.
Sourcepub const INDIRECT_BUFFER: Self
pub const INDIRECT_BUFFER: Self
The buffer can be used as an indirect buffer.
Sourcepub const SHADER_DEVICE_ADDRESS: Self
pub const SHADER_DEVICE_ADDRESS: Self
The buffer’s device address can be retrieved.
A buffer created with this usage can only be bound to device memory allocated with the
MemoryAllocateFlags::DEVICE_ADDRESS
flag, unless the ext_buffer_device_address
extension is enabled on the device.
Sourcepub const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY: Self
pub const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY: Self
The buffer can be used as input data for an acceleration structure build operation.
Sourcepub const ACCELERATION_STRUCTURE_STORAGE: Self
pub const ACCELERATION_STRUCTURE_STORAGE: Self
An acceleration structure can be created from the buffer.
pub const SHADER_BINDING_TABLE: Self
Sourcepub const fn intersects(self, other: Self) -> bool
pub const fn intersects(self, other: Self) -> bool
Returns whether any flags are set in both self
and other
.
Sourcepub const fn contains(self, other: Self) -> bool
pub const fn contains(self, other: Self) -> bool
Returns whether all flags in other
are set in self
.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection of self
and other
.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns self
without the flags set in other
.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the flags that are set in self
or other
, but not in both.
Trait Implementations§
Source§impl BitAnd for BufferUsage
impl BitAnd for BufferUsage
Source§impl BitAndAssign for BufferUsage
impl BitAndAssign for BufferUsage
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moreSource§impl BitOr for BufferUsage
impl BitOr for BufferUsage
Source§impl BitOrAssign for BufferUsage
impl BitOrAssign for BufferUsage
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moreSource§impl BitXor for BufferUsage
impl BitXor for BufferUsage
Source§impl BitXorAssign for BufferUsage
impl BitXorAssign for BufferUsage
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moreSource§impl Clone for BufferUsage
impl Clone for BufferUsage
Source§fn clone(&self) -> BufferUsage
fn clone(&self) -> BufferUsage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for BufferUsage
impl Debug for BufferUsage
Source§impl Default for BufferUsage
impl Default for BufferUsage
Source§impl From<BufferUsage> for BufferUsageFlags
impl From<BufferUsage> for BufferUsageFlags
Source§fn from(val: BufferUsage) -> Self
fn from(val: BufferUsage) -> Self
Source§impl From<BufferUsageFlags> for BufferUsage
impl From<BufferUsageFlags> for BufferUsage
Source§fn from(val: BufferUsageFlags) -> Self
fn from(val: BufferUsageFlags) -> Self
Source§impl Hash for BufferUsage
impl Hash for BufferUsage
Source§impl PartialEq for BufferUsage
impl PartialEq for BufferUsage
Source§impl Sub for BufferUsage
impl Sub for BufferUsage
Source§impl SubAssign for BufferUsage
impl SubAssign for BufferUsage
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read more