[][src]Trait rendy_memory::Block

pub trait Block<B: Backend> {
    fn properties(&self) -> Properties;
fn memory(&self) -> &B::Memory;
fn range(&self) -> Range<u64>;
fn map<'a>(
        &'a mut self,
        device: &impl Device<B>,
        range: Range<u64>
    ) -> Result<MappedRange<'a, B>, Error>;
fn unmap(
        &mut self,
        device: &impl Device<B>
    ); }

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>

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>
)

Release memory mapping. Must be called after successful map call. No-op if block is not mapped.

Loading content...

Implementors

impl<B> Block<B> for DedicatedBlock<B> where
    B: Backend
[src]

impl<B> Block<B> for DynamicBlock<B> where
    B: Backend
[src]

impl<B> Block<B> for LinearBlock<B> where
    B: Backend
[src]

impl<B> Block<B> for MemoryBlock<B> where
    B: Backend
[src]

Loading content...