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:
  • /github/workspace/code/render/coregraphics/memory.h
  • /github/workspace/code/render/coregraphics/memory.cc
  • /github/workspace/code/render/coregraphics/vk/vkmemory.cc