Trait gfx_hal::pso::DescriptorPool[][src]

pub trait DescriptorPool<B: Backend>: Send + Sync + Debug {
    unsafe fn free<I>(&mut self, descriptor_sets: I)
    where
        I: Iterator<Item = B::DescriptorSet>
;
unsafe fn reset(&mut self); unsafe fn allocate_one(
        &mut self,
        layout: &B::DescriptorSetLayout
    ) -> Result<B::DescriptorSet, AllocationError> { ... }
unsafe fn allocate<'a, I, E>(
        &mut self,
        layouts: I,
        list: &mut E
    ) -> Result<(), AllocationError>
    where
        I: Iterator<Item = &'a B::DescriptorSetLayout>,
        E: Extend<B::DescriptorSet>
, { ... } }

A descriptor pool is a collection of memory from which descriptor sets are allocated.

Required methods

unsafe fn free<I>(&mut self, descriptor_sets: I) where
    I: Iterator<Item = B::DescriptorSet>, 
[src]

Free the given descriptor sets provided as an iterator.

unsafe fn reset(&mut self)[src]

Resets a descriptor pool, releasing all resources from all the descriptor sets allocated from it and freeing the descriptor sets. Invalidates all descriptor sets allocated from the pool; trying to use one after the pool has been reset is undefined behavior.

Loading content...

Provided methods

unsafe fn allocate_one(
    &mut self,
    layout: &B::DescriptorSetLayout
) -> Result<B::DescriptorSet, AllocationError>
[src]

Allocate a descriptor set from the pool.

The descriptor set will be allocated from the pool according to the corresponding set layout. However, specific descriptors must still be written to the set before use using a DescriptorSetWrite or DescriptorSetCopy.

Descriptors will become invalid once the pool is reset. Usage of invalidated descriptor sets results in undefined behavior.

unsafe fn allocate<'a, I, E>(
    &mut self,
    layouts: I,
    list: &mut E
) -> Result<(), AllocationError> where
    I: Iterator<Item = &'a B::DescriptorSetLayout>,
    E: Extend<B::DescriptorSet>, 
[src]

Allocate multiple descriptor sets from the pool.

The descriptor set will be allocated from the pool according to the corresponding set layout. However, specific descriptors must still be written to the set before use using a DescriptorSetWrite or DescriptorSetCopy.

Each descriptor set will be allocated from the pool according to the corresponding set layout. Descriptors will become invalid once the pool is reset. Usage of invalidated descriptor sets results in undefined behavior.

Loading content...

Implementors

Loading content...