[][src]Struct rendy_descriptor::DescriptorAllocator

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

Descriptor allocator. Can be used to allocate descriptor sets for any layout.

Methods

impl<B> DescriptorAllocator<B> where
    B: Backend
[src]

pub fn new() -> Self[src]

Create new allocator instance.

pub unsafe fn dispose(self, device: &B::Device)[src]

Destroy allocator instance. All sets allocated from this allocator become invalid.

pub unsafe fn allocate(
    &mut self,
    device: &B::Device,
    layout: &B::DescriptorSetLayout,
    layout_ranges: DescriptorRanges,
    count: u32,
    extend: &mut impl Extend<DescriptorSet<B>>
) -> Result<(), OutOfMemory>
[src]

Allocate descriptor set with specified layout. DescriptorRanges must match descriptor numbers of the layout. DescriptorRanges can be constructed from bindings that were used to create layout instance.

pub unsafe fn free(
    &mut self,
    all_sets: impl IntoIterator<Item = DescriptorSet<B>>
)
[src]

Free descriptor sets.

Safety

None of descriptor sets can be refernced in any pending command buffers. All command buffers where at least one of descriptor sets referenced move to invalid state.

pub unsafe fn cleanup(&mut self, device: &B::Device)[src]

Perform cleanup to allow resources reuse.

Trait Implementations

impl<B: Debug + Backend> Debug for DescriptorAllocator<B>[src]

Auto Trait Implementations

impl<B> Unpin for DescriptorAllocator<B> where
    <B as Backend>::DescriptorPool: Unpin,
    <B as Backend>::DescriptorSet: Unpin

impl<B> Sync for DescriptorAllocator<B> where
    <B as Backend>::DescriptorPool: Sync,
    <B as Backend>::DescriptorSet: Sync

impl<B> Send for DescriptorAllocator<B> where
    <B as Backend>::DescriptorPool: Send,
    <B as Backend>::DescriptorSet: Send

impl<B> UnwindSafe for DescriptorAllocator<B> where
    <B as Backend>::DescriptorPool: UnwindSafe,
    <B as Backend>::DescriptorSet: UnwindSafe

impl<B> RefUnwindSafe for DescriptorAllocator<B> where
    <B as Backend>::DescriptorPool: RefUnwindSafe,
    <B as Backend>::DescriptorSet: RefUnwindSafe

Blanket Implementations

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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