3#include <common/aglRenderTarget.h>
4#include <container/seadBuffer.h>
5#include <container/seadOffsetList.h>
6#include <heap/seadHeap.h>
8namespace agl {
namespace utl {
22 static_assert(
sizeof(
AllocArg) == 0x1C,
"agl::utl::TextureMemoryAllocator::AllocArg size mismatch");
43 static_assert(
sizeof(
MemoryBlock) == 0x1C,
"agl::utl::TextureMemoryAllocator::MemoryBlock size mismatch");
Definition aglRenderTarget.h:66
Definition aglRenderTarget.h:104
Definition aglTextureData.h:11
Definition aglTextureMemoryAllocator.h:26
void * getMipPtr() const
Definition aglTextureMemoryAllocator.h:31
u32 mSize
Definition aglTextureMemoryAllocator.h:35
sead::ListNode mListNode
Definition aglTextureMemoryAllocator.h:39
u8 * mpBufferFromDebugHeap
Definition aglTextureMemoryAllocator.h:36
u8 * mpBuffer
Definition aglTextureMemoryAllocator.h:34
u8 * mpImagePtr
Definition aglTextureMemoryAllocator.h:37
u8 * mpMipPtr
Definition aglTextureMemoryAllocator.h:38
void * getImagePtr() const
Definition aglTextureMemoryAllocator.h:30
Definition aglTextureMemoryAllocator.h:11
RenderTargetColor mColorTarget
Definition aglTextureMemoryAllocator.h:67
sead::Heap * mpDebugHeap
Definition aglTextureMemoryAllocator.h:69
bool alloc_(MemoryBlock *p_memory, const AllocArg &arg, bool allocate_from_head)
Definition aglTextureMemoryAllocator.cpp:75
MemoryBlock * alloc(const TextureData &tex, void **pp_buffer=nullptr, bool allocate_from_head=true)
Definition aglTextureMemoryAllocator.cpp:6
sead::OffsetList< MemoryBlock > mMemoryBlockUsed
Definition aglTextureMemoryAllocator.h:64
virtual ~TextureMemoryAllocator()
void * mpBufferStart
Definition aglTextureMemoryAllocator.h:60
sead::Buffer< MemoryBlock > mMemoryBlock
Definition aglTextureMemoryAllocator.h:63
u32 mUsedSize
Definition aglTextureMemoryAllocator.h:62
void * mpBufferEnd
Definition aglTextureMemoryAllocator.h:61
void free(MemoryBlock *p_memory)
Definition aglTextureMemoryAllocator.cpp:142
sead::OffsetList< MemoryBlock > mMemoryBlockFree
Definition aglTextureMemoryAllocator.h:65
u32 getUsedSize() const
Definition aglTextureMemoryAllocator.h:49
RenderTargetDepth mDepthTarget
Definition aglTextureMemoryAllocator.h:68
bool isOverwrapperd(const TextureMemoryAllocator &allocator) const
Definition aglTextureMemoryAllocator.cpp:210
sead::OffsetList< MemoryBlock > mMemoryBlockEmpty
Definition aglTextureMemoryAllocator.h:66
Definition seadBuffer.h:13
Definition seadListImpl.h:11
Definition seadOffsetList.h:11
Definition aglImageFilter2D.h:11
Definition aglDisplayList.cpp:5
Definition seadAssert.h:44
Definition aglTextureMemoryAllocator.h:13
u32 mTargetBufferSize
Definition aglTextureMemoryAllocator.h:19
u32 mImageSize
Definition aglTextureMemoryAllocator.h:15
u32 mMipSize
Definition aglTextureMemoryAllocator.h:16
void ** mppTargetBuffer
Definition aglTextureMemoryAllocator.h:18
u32 mTargetBufferAlignment
Definition aglTextureMemoryAllocator.h:20
u32 mAlignment
Definition aglTextureMemoryAllocator.h:17
u32 mSize
Definition aglTextureMemoryAllocator.h:14