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§
- Descriptor
Allocator - Descriptor allocator. Can be used to allocate descriptor sets for any layout.
- Descriptor
Pool Create Flags - Flags to augment descriptor pool creation.
- Descriptor
Set - Descriptor set from allocator.
- Descriptor
SetLayout Create Flags - Flags to augment descriptor set allocation.
- Descriptor
Total Count - Number of descriptors of each type.
Enums§
- Allocation
Error - AllocationError that may occur during descriptor sets allocation.
- Create
Pool Error - Memory exhausted error.
- Device
Allocation Error - Memory exhausted error.
Traits§
- Descriptor
Device - Abstract device that can create pools of type
P
and allocate setsS
with layoutL
.