#gpu #vulkan #no-std

no-std gpu-descriptor

Implementation agnostic descriptor allocator for Vulkan like APIs

6 releases

0.2.3 Aug 11, 2022
0.2.2 Nov 17, 2021
0.2.1 May 19, 2021
0.1.1 Feb 9, 2021
0.1.0 Jan 23, 2021

#41 in Graphics APIs

Download history 20679/week @ 2022-11-29 22475/week @ 2022-12-06 18700/week @ 2022-12-13 19574/week @ 2022-12-20 15803/week @ 2022-12-27 20668/week @ 2023-01-03 22069/week @ 2023-01-10 21852/week @ 2023-01-17 24334/week @ 2023-01-24 26665/week @ 2023-01-31 27026/week @ 2023-02-07 28867/week @ 2023-02-14 27374/week @ 2023-02-21 26321/week @ 2023-02-28 27895/week @ 2023-03-07 21331/week @ 2023-03-14

107,448 downloads per month
Used in 578 crates (2 directly)

MIT/Apache

27KB
540 lines

gpu-descriptor

crates docs actions MIT/Apache loc

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.
);

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Support me on Patreon

Support me on Patreon

Dependencies

~0.4–1MB
~17K SLoC