44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
# gpu-descriptor
|
|
|
|
[](https://crates.io/crates/gpu-descriptor)
|
|
[](https://docs.rs/gpu-descriptor)
|
|
[](https://github.com/zakarumych/gpu-descriptor/actions?query=workflow%3ARust)
|
|
[](COPYING)
|
|

|
|
|
|
|
|
Library for Vulkan-like APIs to allocated descriptor sets
|
|
from descriptor pools fast, with least overhead and zero fragmentation.
|
|
|
|
Straightforward usage:
|
|
```rust
|
|
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
|
|
|
|
* Apache License, Version 2.0, ([license/APACHE](license/APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
* MIT license ([license/MIT](license/MIT) or http://opensource.org/licenses/MIT)
|
|
|
|
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
|
|
|
|
[](https://patreon.com/zakarum)
|