#[non_exhaustive]pub struct BufferInfo {
pub alignment: DeviceSize,
pub mappable: bool,
pub size: DeviceSize,
pub usage: BufferUsageFlags,
}Expand description
Information used to create a Buffer instance.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.alignment: DeviceSizeByte alignment of the base device address of the buffer.
Must be a power of two.
mappable: boolSpecifies a buffer whose memory is host visible and may be mapped.
size: DeviceSizeSize in bytes of the buffer to be created.
usage: BufferUsageFlagsA bitmask of specifying allowed usages of the buffer.
Implementations§
Source§impl BufferInfo
impl BufferInfo
Sourcepub const fn device_mem(size: DeviceSize, usage: BufferUsageFlags) -> BufferInfo
pub const fn device_mem(size: DeviceSize, usage: BufferUsageFlags) -> BufferInfo
Specifies a non-mappable buffer with the given size and usage values.
Device-local memory (located on the GPU) is used.
Sourcepub const fn host_mem(size: DeviceSize, usage: BufferUsageFlags) -> BufferInfo
pub const fn host_mem(size: DeviceSize, usage: BufferUsageFlags) -> BufferInfo
Specifies a mappable buffer with the given size and usage values.
Host-local memory (located in CPU-accesible RAM) is used.
§Note
For convenience the given usage value will be bitwise OR’d with
TRANSFER_DST | TRANSFER_SRC.
Sourcepub fn to_builder(self) -> BufferInfoBuilder
pub fn to_builder(self) -> BufferInfoBuilder
Converts a BufferInfo into a BufferInfoBuilder.
Trait Implementations§
Source§impl<T> Alias<BufferInfo, Buffer> for AliasPool<T>
impl<T> Alias<BufferInfo, Buffer> for AliasPool<T>
Source§fn alias(&mut self, info: BufferInfo) -> Result<Arc<Lease<Buffer>>, DriverError>
fn alias(&mut self, info: BufferInfo) -> Result<Arc<Lease<Buffer>>, DriverError>
Aliases a resource.
Source§impl Clone for BufferInfo
impl Clone for BufferInfo
Source§fn clone(&self) -> BufferInfo
fn clone(&self) -> BufferInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BufferInfo
impl Debug for BufferInfo
Source§impl From<BufferInfo> for BufferSubresourceRange
impl From<BufferInfo> for BufferSubresourceRange
Source§fn from(info: BufferInfo) -> Self
fn from(info: BufferInfo) -> Self
Converts to this type from the input type.
Source§impl From<BufferInfoBuilder> for BufferInfo
impl From<BufferInfoBuilder> for BufferInfo
Source§fn from(info: BufferInfoBuilder) -> Self
fn from(info: BufferInfoBuilder) -> Self
Converts to this type from the input type.
Source§impl Hash for BufferInfo
impl Hash for BufferInfo
Source§impl PartialEq for BufferInfo
impl PartialEq for BufferInfo
Source§impl<T> Pool<BufferInfo, Buffer> for AliasPool<T>
impl<T> Pool<BufferInfo, Buffer> for AliasPool<T>
Source§fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
Lease a resource.
Source§impl Pool<BufferInfo, Buffer> for FifoPool
impl Pool<BufferInfo, Buffer> for FifoPool
Source§fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
Lease a resource.
Source§impl Pool<BufferInfo, Buffer> for HashPool
impl Pool<BufferInfo, Buffer> for HashPool
Source§fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
Lease a resource.
Source§impl Pool<BufferInfo, Buffer> for LazyPool
impl Pool<BufferInfo, Buffer> for LazyPool
Source§fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
fn lease(&mut self, info: BufferInfo) -> Result<Lease<Buffer>, DriverError>
Lease a resource.
impl Copy for BufferInfo
impl Eq for BufferInfo
impl StructuralPartialEq for BufferInfo
Auto Trait Implementations§
impl Freeze for BufferInfo
impl RefUnwindSafe for BufferInfo
impl Send for BufferInfo
impl Sync for BufferInfo
impl Unpin for BufferInfo
impl UnwindSafe for BufferInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more