Crate rendy_memory

Source
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.
DedicatedAllocator
Dedicated memory allocator that uses memory object per allocation requested.
DedicatedBlock
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.
DynamicAllocator
No-fragmentation allocator. Suitable for any type of small allocations. Every freed block can be reused.
DynamicBlock
Memory block allocated from DynamicAllocator
DynamicConfig
Config for DynamicAllocator.
Heaps
Heaps available on particular physical device.
HeapsConfig
Config for Heaps allocator.
LinearAllocator
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.
LinearBlock
Memory block allocated from LinearAllocator
LinearConfig
Config for LinearAllocator.
MappedRange
Represents range of the memory mapped to the host. Provides methods for safer host access to the memory.
MaybeCoherent
Value that contains either coherent marker or non-coherent marker.
Memory
Memory object wrapper. Contains size and properties of the memory.
MemoryBlock
Memory block allocated from Heaps.
MemoryHeapUtilization
Memory utilization of one heap.
MemoryTypeUtilization
Memory utilization of one type.
MemoryUtilization
Memory utilization stats.
NonCoherent
Non-coherent marker.
TotalMemoryUtilization
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§

HeapsError
Possible errors returned by Heaps.
Kind
Allocator kind.
MemoryUsageValue
Well-known memory usage types.

Traits§

Allocator
Allocator trait implemented for various allocators.
Block
Block that owns a Range of the Memory. 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.
MemoryUsage
Memory usage trait.
Write
Trait for memory region suitable for host writes.