[][src]Struct gfx_descriptor::DescriptorAllocator

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

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

Methods

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

pub fn new() -> Self[src]

Create new allocator instance.

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

Clear the allocator instance. All sets allocated from this allocator become invalid.

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

Allocate descriptor set with specified layout. DescriptorCounts must match descriptor numbers of the layout. DescriptorCounts 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 referenced 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> where
    B::DescriptorSet: Debug
[src]

impl<B: Backend> Drop for DescriptorAllocator<B>[src]

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

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

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

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.