Struct wgpu_core::resource::StagingBuffer
source · pub struct StagingBuffer<A: Api> {
pub(crate) raw: A::Buffer,
pub(crate) size: BufferAddress,
pub(crate) is_coherent: bool,
}
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.
Fields§
§raw: A::Buffer
§size: BufferAddress
§is_coherent: bool
Implementations§
source§impl<A: Api> StagingBuffer<A>
impl<A: Api> StagingBuffer<A>
Trait Implementations§
source§impl<A: Api> Resource for StagingBuffer<A>
impl<A: Api> Resource for StagingBuffer<A>
impl<A: HalApi> Access<StagingBuffer<A>> for Device<A>
Auto Trait Implementations§
impl<A> RefUnwindSafe for StagingBuffer<A>where <A as Api>::Buffer: RefUnwindSafe,
impl<A> Send for StagingBuffer<A>
impl<A> Sync for StagingBuffer<A>
impl<A> Unpin for StagingBuffer<A>where <A as Api>::Buffer: Unpin,
impl<A> UnwindSafe for StagingBuffer<A>where <A as Api>::Buffer: UnwindSafe,
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