6 releases (breaking)
0.7.0 | Apr 9, 2024 |
---|---|
0.6.0 | May 30, 2023 |
0.5.0 | Jun 9, 2022 |
0.4.0 | Feb 26, 2022 |
0.2.0 | Aug 15, 2021 |
#399 in Memory management
7,078 downloads per month
Used in 8 crates
(3 directly)
30KB
302 lines
gpu-alloc
Implementation agnostic memory allocator for Vulkan like APIs.
This crate is intended to be used as part of safe API implementations.
Use with caution. There are unsafe functions all over the place.
Usage
Start with fetching DeviceProperties
from gpu-alloc-<backend>
crate for the backend of choice.
Then create GpuAllocator
instance and use it for all device memory allocations.
GpuAllocator
will take care for all necessary bookkeeping like memory object count limit,
heap budget and memory mapping.
Backends implementations
Backend supporting crates should not depend on this crate.
Instead they should depend on gpu-alloc-types
which is much more stable,
allowing to upgrade gpu-alloc
version without gpu-alloc-<backend>
upgrade.
Supported Rust Versions
The minimum supported version is 1.40. The current version is not guaranteed to build on Rust versions earlier than the minimum supported version.
gpu-alloc-erupt
crate requires version 1.48 or higher due to dependency on erupt
crate.
License
Licensed under either of
- Apache License, Version 2.0, (license/APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (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.
Donate
Dependencies
~5.5MB
~141K SLoC