Crate gpu_descriptor[][src]

Expand description

Library for Vulkan-like APIs to allocated descriptor sets from descriptor pools fast, with least overhead and zero fragmentation.

Straightforward usage:

use gpu_descriptor::DescriptorAllocator;

let mut allocator = DescriptorAllocator::new(max_update_after_bind_descriptors_in_all_pools); // Limit as dictated by API for selected hardware

let result = allocator.allocate(
    device, // Implementation of `gpu_descriptor::DescriptorDevice`. Comes from plugins.
    layout, // Descriptor set layout recognized by device's type.
    flags,  // Flags specified when layout was created.
    layout_descriptor_count, // Descriptors count in the layout.
    count, // count of sets to allocated.
);

Structs

DescriptorAllocator

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

DescriptorPoolCreateFlags

Flags to augment descriptor pool creation.

DescriptorSet

Descriptor set from allocator.

DescriptorSetLayoutCreateFlags

Flags to augment descriptor set allocation.

DescriptorTotalCount

Number of descriptors of each type.

Enums

AllocationError

AllocationError that may occur during descriptor sets allocation.

CreatePoolError

Memory exhausted error.

DeviceAllocationError

Memory exhausted error.

Traits

DescriptorDevice

Abstract device that can create pools of type P and allocate sets S with layout L.