[−][src]Trait rendy_memory::Block
Block that owns a Range
of the Memory
.
Implementor must ensure that there can't be any other blocks
with overlapping range (either through type system or safety notes for unsafe functions).
Provides access to safe memory range mapping.
Required methods
fn properties(&self) -> Properties
Get memory properties of the block.
fn memory(&self) -> &B::Memory
Get raw memory object.
fn range(&self) -> Range<u64>
Get memory range owned by this block.
fn map<'a>(
&'a mut self,
device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
&'a mut self,
device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
Get mapping for the buffer range. Memory writes to the region performed by device become available for the host.
fn unmap(
&mut self,
device: &impl Device<B>
)
&mut self,
device: &impl Device<B>
)
Release memory mapping. Must be called after successful map
call.
No-op if block is not mapped.
Implementors
impl<B> Block<B> for DedicatedBlock<B> where
B: Backend,
[src]
B: Backend,
fn properties(&self) -> Properties
[src]
fn memory(&self) -> &B::Memory
[src]
fn range(&self) -> Range<u64>
[src]
fn map<'a>(
&'a mut self,
device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
[src]
&'a mut self,
device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
fn unmap(
&mut self,
device: &impl Device<B>
)
[src]
&mut self,
device: &impl Device<B>
)
impl<B> Block<B> for DynamicBlock<B> where
B: Backend,
[src]
B: Backend,
fn properties(&self) -> Properties
[src]
fn memory(&self) -> &B::Memory
[src]
fn range(&self) -> Range<u64>
[src]
fn map<'a>(
&'a mut self,
_device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
[src]
&'a mut self,
_device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
fn unmap(
&mut self,
_device: &impl Device<B>
)
[src]
&mut self,
_device: &impl Device<B>
)
impl<B> Block<B> for LinearBlock<B> where
B: Backend,
[src]
B: Backend,
fn properties(&self) -> Properties
[src]
fn memory(&self) -> &B::Memory
[src]
fn range(&self) -> Range<u64>
[src]
fn map<'a>(
&'a mut self,
_device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
[src]
&'a mut self,
_device: &impl Device<B>,
range: Range<u64>
) -> Result<MappedRange<'a, B>, Error>
fn unmap(
&mut self,
_device: &impl Device<B>
)
[src]
&mut self,
_device: &impl Device<B>
)
impl<B> Block<B> for MemoryBlock<B> where
B: Backend,
[src]
B: Backend,