Source code

Revision control

Copy as Markdown

Other Tools

# 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](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.↩
## Donate↩