Trait DescriptorPoolMut

Source
pub trait DescriptorPoolMut:
    DescriptorPool
    + VkHandleMut
    + DeviceChildHandle {
    // Provided methods
    unsafe fn alloc_raw(
        &mut self,
        info: &VkDescriptorSetAllocateInfo,
        objects: &mut [VkDescriptorSet],
    ) -> Result<()> { ... }
    fn alloc(
        &mut self,
        layouts: &[VkHandleRef<'_, VkDescriptorSetLayout>],
    ) -> Result<Vec<DescriptorSet>> { ... }
    fn alloc_array<const N: usize>(
        &mut self,
        layouts: &[VkHandleRef<'_, VkDescriptorSetLayout>; N],
    ) -> Result<[DescriptorSet; N]> { ... }
    unsafe fn reset(&mut self, flags: VkDescriptorPoolResetFlags) -> Result<()> { ... }
    unsafe fn free(&mut self, sets: &[DescriptorSet]) -> Result<()> { ... }
}

Provided Methods§

Source

unsafe fn alloc_raw( &mut self, info: &VkDescriptorSetAllocateInfo, objects: &mut [VkDescriptorSet], ) -> Result<()>

Available on crate feature Implements only.

Allocate one or more descriptor sets

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_FRAGMENTED_POOL
§Safety

no guarantees will be provided (simply calls under api)

Source

fn alloc( &mut self, layouts: &[VkHandleRef<'_, VkDescriptorSetLayout>], ) -> Result<Vec<DescriptorSet>>

Available on crate feature Implements only.

Allocate one or more descriptor sets

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_FRAGMENTED_POOL
Source

fn alloc_array<const N: usize>( &mut self, layouts: &[VkHandleRef<'_, VkDescriptorSetLayout>; N], ) -> Result<[DescriptorSet; N]>

Available on crate feature Implements only.

Allocate one or more descriptor sets

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_FRAGMENTED_POOL
Source

unsafe fn reset(&mut self, flags: VkDescriptorPoolResetFlags) -> Result<()>

Available on crate feature Implements only.

Resets a descriptor pool object

§Safety

Application must not use descriptor sets after this call

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn free(&mut self, sets: &[DescriptorSet]) -> Result<()>

Available on crate feature Implements only.

Free one or more descriptor sets

§Safety

Host access to each member of pDescriptorSets must be externally synchronized

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'s, T> DescriptorPoolMut for &'s mut T

Source§

impl<T> DescriptorPoolMut for Box<T>

Source§

impl<T> DescriptorPoolMut for RefMut<'_, T>

Source§

impl<T> DescriptorPoolMut for ManuallyDrop<T>

Source§

impl<T> DescriptorPoolMut for MutexGuard<'_, T>

Source§

impl<T> DescriptorPoolMut for RwLockWriteGuard<'_, T>

Source§

impl<T> DescriptorPoolMut for MutexGuard<'_, T>

Source§

impl<T> DescriptorPoolMut for RwLockWriteGuard<'_, T>

Implementors§