sead
Loading...
Searching...
No Matches
agl::utl::TextureMemoryAllocator Class Reference

#include <aglTextureMemoryAllocator.h>

Classes

struct  AllocArg
class  MemoryBlock

Public Member Functions

 TextureMemoryAllocator ()
virtual ~TextureMemoryAllocator ()
u32 getUsedSize () const
MemoryBlockalloc (const TextureData &tex, void **pp_buffer=nullptr, bool allocate_from_head=true)
void free (MemoryBlock *p_memory)
bool isOverwrapperd (const TextureMemoryAllocator &allocator) const

Private Member Functions

bool alloc_ (MemoryBlock *p_memory, const AllocArg &arg, bool allocate_from_head)

Private Attributes

void * mpBufferStart
void * mpBufferEnd
u32 mUsedSize
sead::Buffer< MemoryBlockmMemoryBlock
sead::OffsetList< MemoryBlockmMemoryBlockUsed
sead::OffsetList< MemoryBlockmMemoryBlockFree
sead::OffsetList< MemoryBlockmMemoryBlockEmpty
RenderTargetColor mColorTarget
RenderTargetDepth mDepthTarget
sead::HeapmpDebugHeap

Constructor & Destructor Documentation

◆ TextureMemoryAllocator()

agl::utl::TextureMemoryAllocator::TextureMemoryAllocator ( )

◆ ~TextureMemoryAllocator()

virtual agl::utl::TextureMemoryAllocator::~TextureMemoryAllocator ( )
virtual

Member Function Documentation

◆ getUsedSize()

u32 agl::utl::TextureMemoryAllocator::getUsedSize ( ) const
inline

◆ alloc()

TextureMemoryAllocator::MemoryBlock * agl::utl::TextureMemoryAllocator::alloc ( const TextureData & tex,
void ** pp_buffer = nullptr,
bool allocate_from_head = true )

◆ free()

void agl::utl::TextureMemoryAllocator::free ( MemoryBlock * p_memory)

◆ isOverwrapperd()

bool agl::utl::TextureMemoryAllocator::isOverwrapperd ( const TextureMemoryAllocator & allocator) const

◆ alloc_()

bool agl::utl::TextureMemoryAllocator::alloc_ ( MemoryBlock * p_memory,
const AllocArg & arg,
bool allocate_from_head )
private

Member Data Documentation

◆ mpBufferStart

void* agl::utl::TextureMemoryAllocator::mpBufferStart
private

◆ mpBufferEnd

void* agl::utl::TextureMemoryAllocator::mpBufferEnd
private

◆ mUsedSize

u32 agl::utl::TextureMemoryAllocator::mUsedSize
private

◆ mMemoryBlock

sead::Buffer<MemoryBlock> agl::utl::TextureMemoryAllocator::mMemoryBlock
private

◆ mMemoryBlockUsed

sead::OffsetList<MemoryBlock> agl::utl::TextureMemoryAllocator::mMemoryBlockUsed
private

◆ mMemoryBlockFree

sead::OffsetList<MemoryBlock> agl::utl::TextureMemoryAllocator::mMemoryBlockFree
private

◆ mMemoryBlockEmpty

sead::OffsetList<MemoryBlock> agl::utl::TextureMemoryAllocator::mMemoryBlockEmpty
private

◆ mColorTarget

RenderTargetColor agl::utl::TextureMemoryAllocator::mColorTarget
private

◆ mDepthTarget

RenderTargetDepth agl::utl::TextureMemoryAllocator::mDepthTarget
private

◆ mpDebugHeap

sead::Heap* agl::utl::TextureMemoryAllocator::mpDebugHeap
private