[−][src]Module rendy::memory
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 |
Download | GPU to CPU data flow with mapping.
Used for copying data from |
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 |
DynamicConfig | Config for |
Heaps | Heaps available on particular physical device. |
HeapsConfig | Config for |
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 |
LinearConfig | Config for |
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 |
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 |
Enums
HeapsError | Possible errors returned by |
Kind | Allocator kind. |
MemoryUsageValue | Well-known memory usage types. |
Traits
Allocator | Allocator trait implemented for various allocators. |
Block | Block that owns a |
MemoryUsage | Memory usage trait. |
Write | Trait for memory region suitable for host writes. |