pub struct WgpuStorage { /* private fields */ }Expand description
Buffer storage for wgpu.
Implementations§
Source§impl WgpuStorage
Keeps actual wgpu buffer references in a hashmap with ids as key.
impl WgpuStorage
Keeps actual wgpu buffer references in a hashmap with ids as key.
Trait Implementations§
Source§impl ComputeStorage for WgpuStorage
impl ComputeStorage for WgpuStorage
Source§type Resource = WgpuResource
type Resource = WgpuResource
The resource associated type determines the way data is implemented and how
it can be accessed by kernels.
Source§fn get_pinned(
&mut self,
handle: &StorageHandle,
binding: ManagedMemoryBinding,
) -> Self::Resource
fn get_pinned( &mut self, handle: &StorageHandle, binding: ManagedMemoryBinding, ) -> Self::Resource
Resolve a resource while retaining its address lease in adaptive mode.
Source§fn supports_relocation(&self) -> bool
fn supports_relocation(&self) -> bool
Whether this storage implements real relocation copies and completion waits.
Source§fn relocation_barrier(&mut self) -> Result<(), IoError>
fn relocation_barrier(&mut self) -> Result<(), IoError>
Wait for all users of storage addresses, including work on other streams.
Source§fn relocation_copy(
&mut self,
source: &StorageHandle,
target: &StorageHandle,
) -> Result<(), IoError>
fn relocation_copy( &mut self, source: &StorageHandle, target: &StorageHandle, ) -> Result<(), IoError>
Enqueue a device-local copy between disjoint, equally sized reservations.
Source§fn relocation_copy_batch<'a>(
&mut self,
copies: impl IntoIterator<Item = (&'a StorageHandle, &'a StorageHandle)>,
) -> Result<(), IoError>
fn relocation_copy_batch<'a>( &mut self, copies: impl IntoIterator<Item = (&'a StorageHandle, &'a StorageHandle)>, ) -> Result<(), IoError>
Enqueue a group of relocation copies, with completion checked separately.
Source§fn relocation_complete(&mut self) -> Result<(), IoError>
fn relocation_complete(&mut self) -> Result<(), IoError>
Wait for copies even when an earlier enqueue failed. Failure is not completion.
Source§fn get(&mut self, handle: &StorageHandle) -> Self::Resource
fn get(&mut self, handle: &StorageHandle) -> Self::Resource
Returns the underlying resource for a specified storage handle
Source§fn alloc(&mut self, size: u64) -> Result<StorageHandle, IoError>
fn alloc(&mut self, size: u64) -> Result<StorageHandle, IoError>
Allocates
size units of memory and returns a handle to itSource§fn dealloc(&mut self, id: StorageId)
fn dealloc(&mut self, id: StorageId)
Deallocates the memory pointed by the given storage id. Read more
Source§fn available_memory(&self) -> Option<u64>
fn available_memory(&self) -> Option<u64>
Driver-reported free device memory in bytes; None when it is unknown.
Auto Trait Implementations§
impl !RefUnwindSafe for WgpuStorage
impl !UnwindSafe for WgpuStorage
impl Freeze for WgpuStorage
impl Send for WgpuStorage
impl Sync for WgpuStorage
impl Unpin for WgpuStorage
impl UnsafeUnpin for WgpuStorage
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