Nebula
Loading...
Searching...
No Matches
CoreGraphics::MemoryPool Struct Reference

#include <memory.h>

Public Member Functions

Alloc AllocateMemory (uint alignment, uint size)
 
bool DeallocateMemory (const Alloc &alloc)
 Deallocates memory, if a GPU block was freed this function returns true.
 
void Clear ()
 
void * GetMappedMemory (const Alloc &alloc)
 

Public Attributes

DeviceSize blockSize
 
uint memoryType
 
Ids::IdPool blockPool
 
Util::Array< DeviceMemory > blocks
 
Util::Array< Memory::RangeAllocatorallocators
 
Util::Array< void * > blockMappedPointers
 
DeviceSize size
 
const char * budgetCounter
 
DeviceSize maxSize
 
bool mapMemory
 
MemoryHeapheap
 

Private Member Functions

DeviceMemory CreateBlock (void **outMappedPtr)
 
void DestroyBlock (DeviceMemory mem)
 
Alloc AllocateExclusiveBlock (DeviceSize alignment, DeviceSize size)
 

Static Private Attributes

static constexpr uint DedicatedBlockNodeIndex = 0xFFFFFFFF
 

Member Function Documentation

◆ AllocateExclusiveBlock()

Alloc CoreGraphics::MemoryPool::AllocateExclusiveBlock ( DeviceSize alignment,
DeviceSize size )
private

◆ AllocateMemory()

Alloc CoreGraphics::MemoryPool::AllocateMemory ( uint alignment,
uint size )

◆ Clear()

void CoreGraphics::MemoryPool::Clear ( )

◆ CreateBlock()

DeviceMemory CoreGraphics::MemoryPool::CreateBlock ( void ** outMappedPtr)
private

◆ DeallocateMemory()

bool CoreGraphics::MemoryPool::DeallocateMemory ( const Alloc & alloc)

Deallocates memory, if a GPU block was freed this function returns true.

◆ DestroyBlock()

void CoreGraphics::MemoryPool::DestroyBlock ( DeviceMemory mem)
private

◆ GetMappedMemory()

void * CoreGraphics::MemoryPool::GetMappedMemory ( const Alloc & alloc)

Member Data Documentation

◆ allocators

Util::Array<Memory::RangeAllocator> CoreGraphics::MemoryPool::allocators

◆ blockMappedPointers

Util::Array<void*> CoreGraphics::MemoryPool::blockMappedPointers

◆ blockPool

Ids::IdPool CoreGraphics::MemoryPool::blockPool

◆ blocks

Util::Array<DeviceMemory> CoreGraphics::MemoryPool::blocks

◆ blockSize

DeviceSize CoreGraphics::MemoryPool::blockSize

◆ budgetCounter

const char* CoreGraphics::MemoryPool::budgetCounter

◆ DedicatedBlockNodeIndex

uint CoreGraphics::MemoryPool::DedicatedBlockNodeIndex = 0xFFFFFFFF
staticconstexprprivate

◆ heap

MemoryHeap* CoreGraphics::MemoryPool::heap

◆ mapMemory

bool CoreGraphics::MemoryPool::mapMemory

◆ maxSize

DeviceSize CoreGraphics::MemoryPool::maxSize

◆ memoryType

uint CoreGraphics::MemoryPool::memoryType

◆ size

DeviceSize CoreGraphics::MemoryPool::size

The documentation for this struct was generated from the following files: