[−][src]Struct gfx_descriptor::DescriptorAllocator
Descriptor allocator. Can be used to allocate descriptor sets for any layout.
Implementations
impl<B: Backend> DescriptorAllocator<B>
[src][−]
pub unsafe fn new() -> Self
[src][−]
pub fn allocate(
&mut self,
device: &B::Device,
layout: &B::DescriptorSetLayout,
layout_counts: &DescriptorCounts,
count: u32,
extend: &mut impl Extend<DescriptorSet<B>>
) -> Result<(), OutOfMemory>
[src][−]
&mut self,
device: &B::Device,
layout: &B::DescriptorSetLayout,
layout_counts: &DescriptorCounts,
count: u32,
extend: &mut impl Extend<DescriptorSet<B>>
) -> Result<(), OutOfMemory>
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][−]
&mut self,
all_sets: impl IntoIterator<Item = DescriptorSet<B>>
)
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 clear(&mut self, device: &B::Device)
[src][−]
Clear the allocator instance. All sets allocated from this allocator become invalid.
Safety
Assumes none of the allocated blocks will be used from here.
pub 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][+]
B::DescriptorSet: Debug,
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,
<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,
<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,
<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,
<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,
<B as Backend>::DescriptorPool: UnwindSafe,
<B as Backend>::DescriptorSet: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,