Struct wgpu_core::resource::StagingBuffer
source · pub struct StagingBuffer<A: HalApi> { /* private fields */ }
Expand description
A temporary buffer, consumed by the command that uses it.
A StagingBuffer
is designed for one-shot uploads of data to the GPU. It
is always created mapped, and the command that uses it destroys the buffer
when it is done.
StagingBuffer
s can be created with queue_create_staging_buffer
and
used with queue_write_staging_buffer
. They are also used internally by
operations like queue_write_texture
that need to upload data to the GPU,
but that don’t belong to any particular wgpu command buffer.
Used StagingBuffer
s are accumulated in Device::pending_writes
, to be
freed once their associated operation’s queue submission has finished
execution.
Trait Implementations§
source§impl<A: HalApi> Drop for StagingBuffer<A>
impl<A: HalApi> Drop for StagingBuffer<A>
source§impl<A: HalApi> Resource<Id<StagingBuffer<Api>>> for StagingBuffer<A>
impl<A: HalApi> Resource<Id<StagingBuffer<Api>>> for StagingBuffer<A>
const TYPE: &'static str = "StagingBuffer"
fn as_info(&self) -> &ResourceInfo<StagingBufferId>
fn as_info_mut(&mut self) -> &mut ResourceInfo<StagingBufferId>
fn label(&self) -> String
fn ref_count(self: &Arc<Self>) -> usize
fn is_unique(self: &Arc<Self>) -> bool
fn is_equal(&self, other: &Self) -> bool
Auto Trait Implementations§
impl<A> !RefUnwindSafe for StagingBuffer<A>
impl<A> Send for StagingBuffer<A>
impl<A> Sync for StagingBuffer<A>
impl<A> Unpin for StagingBuffer<A>
impl<A> !UnwindSafe for StagingBuffer<A>
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