#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

#25 in Graphics APIs

Download history 14261/week @ 2022-06-11 16507/week @ 2022-06-18 17391/week @ 2022-06-25 17936/week @ 2022-07-02 16226/week @ 2022-07-09 15725/week @ 2022-07-16 16403/week @ 2022-07-23 21305/week @ 2022-07-30 19569/week @ 2022-08-06 21718/week @ 2022-08-13 22638/week @ 2022-08-20 21227/week @ 2022-08-27 18499/week @ 2022-09-03 17647/week @ 2022-09-10 19136/week @ 2022-09-17 15476/week @ 2022-09-24

73,558 downloads per month
Used in 539 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–0.8MB
~15K SLoC