Expand description
GPU memory management
Structs§
- Coherent
- Coherent marker.
- Data
- Full speed GPU access. Optimal for render targets and persistent resources. Avoid memory with host access.
- Dedicated
Allocator - Dedicated memory allocator that uses memory object per allocation requested.
- Dedicated
Block - Memory block allocated from
DedicatedAllocator
- Download
- GPU to CPU data flow with mapping.
Used for copying data from
Data
memory to be read by the host. Host access is guaranteed. - Dynamic
- CPU to GPU data flow with update commands. Used for dynamic buffer data, typically constant buffers. Host access is guaranteed. Prefers memory with fast GPU access.
- Dynamic
Allocator - No-fragmentation allocator. Suitable for any type of small allocations. Every freed block can be reused.
- Dynamic
Block - Memory block allocated from
DynamicAllocator
- Dynamic
Config - Config for
DynamicAllocator
. - Heaps
- Heaps available on particular physical device.
- Heaps
Config - Config for
Heaps
allocator. - Linear
Allocator - Linear allocator that return memory from chunk sequentially. It keeps only number of bytes allocated from each chunk. Once chunk is exhausted it is placed into list. When all blocks allocated from head of that list are freed, head is freed as well.
- Linear
Block - Memory block allocated from
LinearAllocator
- Linear
Config - Config for
LinearAllocator
. - Mapped
Range - Represents range of the memory mapped to the host. Provides methods for safer host access to the memory.
- Maybe
Coherent - Value that contains either coherent marker or non-coherent marker.
- Memory
- Memory object wrapper. Contains size and properties of the memory.
- Memory
Block - Memory block allocated from
Heaps
. - Memory
Heap Utilization - Memory utilization of one heap.
- Memory
Type Utilization - Memory utilization of one type.
- Memory
Utilization - Memory utilization stats.
- NonCoherent
- Non-coherent marker.
- Total
Memory Utilization - Total memory utilization.
- Upload
- CPU to GPU data flow with mapping.
Used for staging data before copying to the
Data
memory. Host access is guaranteed.
Enums§
- Heaps
Error - Possible errors returned by
Heaps
. - Kind
- Allocator kind.
- Memory
Usage Value - Well-known memory usage types.
Traits§
- Allocator
- Allocator trait implemented for various allocators.
- Block
- Block that owns a
Range
of theMemory
. Implementor must ensure that there can’t be any other blocks with overlapping range (either through type system or safety notes for unsafe functions). Provides access to safe memory range mapping. - Memory
Usage - Memory usage trait.
- Write
- Trait for memory region suitable for host writes.