Crate gpu_descriptor

Source
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.