[][src]Crate gfx_memory

GPU memory management

Structs

DedicatedAllocator

Dedicated memory allocator that uses memory object per allocation requested.

DedicatedBlock

Memory block allocated from DedicatedAllocator.

GeneralAllocator

No-fragmentation allocator. Suitable for any type of small allocations. Every freed block can be reused.

GeneralBlock

Memory block allocated from GeneralAllocator

GeneralConfig

Config for GeneralAllocator.

Heaps

Heaps available on particular physical device.

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.

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.

TotalMemoryUtilization

Total memory utilization.

Writer

Wrapper structure for a mutable slice with deferred flushing for non-coherent memory.

Enums

HeapsError

Possible errors returned by Heaps.

Kind

Allocator kind.

MemoryUsage

Scenarios of how resources use memory.

Traits

Allocator

Allocator trait implemented for various allocators.

Block

Block that owns a Segment 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.

Type Definitions

AtomSize

Type for non-coherent atom sizes.

Size

Type for any memory sizes.