[]Struct amethyst_rendy::rendy::memory::LinearAllocator

pub struct LinearAllocator<B> where
    B: Backend
{ /* fields omitted */ }

Linear allocator that return memory from chunk sequentially. It keeps only number of bytes allocated from each chunk. Once chunk is exhausted it is placed into list. When all blocks allocated from head of that list are freed, head is freed as well.

This allocator suites best short-lived types of allocations. Allocation strategy requires minimal overhead and implementation is fast. But holding single block will completely stop memory recycling.


impl<B> LinearAllocator<B> where
    B: Backend

pub fn properties_required() -> Properties

Get properties required by the LinearAllocator.

pub fn max_allocation(&self) -> u64

Maximum allocation size.

pub fn new(
    memory_type: MemoryTypeId,
    memory_properties: Properties,
    config: LinearConfig
) -> LinearAllocator<B>

Create new LinearAllocator for memory_type with memory_properties specified, with LinearConfig provided.

pub fn dispose(self, device: &<B as Backend>::Device)

Perform full cleanup of the memory allocated.

Trait Implementations

impl<B> Allocator<B> for LinearAllocator<B> where
    B: Backend

type Block = LinearBlock<B>

Block type returned by allocator.

impl<B> Debug for LinearAllocator<B> where
    B: Debug + Backend

Auto Trait Implementations

impl<B> RefUnwindSafe for LinearAllocator<B> where
    <B as Backend>::Memory: RefUnwindSafe

impl<B> Send for LinearAllocator<B>

impl<B> Sync for LinearAllocator<B>

impl<B> Unpin for LinearAllocator<B>

impl<B> UnwindSafe for LinearAllocator<B> where
    <B as Backend>::Memory: UnwindSafe

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Event for T where
    T: Send + Sync + 'static, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> Resource for T where
    T: Any + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SetParameter for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> Supports<T> for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,