pub struct StagingBufferManager { /* private fields */ }Expand description
Staging buffer manager for efficient CPU-GPU transfers.
Manages a pool of staging buffers to optimize data transfers between CPU and GPU memory.
Implementations§
Source§impl StagingBufferManager
impl StagingBufferManager
Sourcepub fn new(context: &GpuContext, buffer_size: u64, max_buffers: usize) -> Self
pub fn new(context: &GpuContext, buffer_size: u64, max_buffers: usize) -> Self
Create a new staging buffer manager.
Sourcepub fn get_upload_buffer(&mut self) -> GpuResult<Arc<Buffer>>
pub fn get_upload_buffer(&mut self) -> GpuResult<Arc<Buffer>>
Sourcepub fn get_download_buffer(&mut self) -> GpuResult<Arc<Buffer>>
pub fn get_download_buffer(&mut self) -> GpuResult<Arc<Buffer>>
Sourcepub fn return_upload_buffer(&mut self, buffer: Arc<Buffer>)
pub fn return_upload_buffer(&mut self, buffer: Arc<Buffer>)
Return an upload buffer to the pool.
Sourcepub fn return_download_buffer(&mut self, buffer: Arc<Buffer>)
pub fn return_download_buffer(&mut self, buffer: Arc<Buffer>)
Return a download buffer to the pool.
Sourcepub fn record_upload(&self, bytes: u64)
pub fn record_upload(&self, bytes: u64)
Record an upload operation.
Sourcepub fn record_download(&self, bytes: u64)
pub fn record_download(&self, bytes: u64)
Record a download operation.
Auto Trait Implementations§
impl Freeze for StagingBufferManager
impl !RefUnwindSafe for StagingBufferManager
impl Send for StagingBufferManager
impl Sync for StagingBufferManager
impl Unpin for StagingBufferManager
impl UnsafeUnpin for StagingBufferManager
impl !UnwindSafe for StagingBufferManager
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