Crate gpu_alloc

source ยท
Expand description

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.

Modulesยง

Macrosยง

Structsยง

Enumsยง

  • Enumeration of possible errors that may occur during memory allocation.
  • Hints for allocator to decide on allocation strategy.
  • Memory mapped error.
  • Enumeration of possible errors that may occur during memory mapping.
  • Memory exhausted error.

Traitsยง

  • Abstract device that can be used to allocate memory objects.

Functionsยง

  • align_down ๐Ÿ”’
    Align value down to align_mask Returns largest integer not bigger than value aligned by align_mask.
  • align_up ๐Ÿ”’
    Aligns value up to align_mask Returns smallest integer not lesser than value aligned by align_mask. Returns None on overflow.
  • unreachable_unchecked ๐Ÿ”’ โš