3#include <common/aglTextureData.h>
4#include <container/seadSafeArray.h>
5#include <heap/seadDisposer.h>
6#include <prim/seadBitFlag.h>
7#include <thread/seadCriticalSection.h>
8#include <utility/aglTextureMemoryAllocator.h>
10namespace agl {
namespace utl {
24 static_assert(
sizeof(
Context) == 0x908,
"agl::utl::DynamicTextureAllocator::Context size mismatch");
41 u32 width, u32 height, u32 mip_level_num,
42 void** pp_buffer =
nullptr,
44 bool invalidate_gpu_cache =
true
57 u32 width, u32 height, u32 mip_level_num,
60 void** pp_buffer,
bool allocate_from_head,
62 bool invalidate_gpu_cache
99static_assert(
sizeof(
TextureDataEx) == 0xBC,
"agl::utl::TextureDataEx size mismatch");
Definition aglTextureData.h:11
Definition aglDynamicTextureAllocator.h:15
bool isContextValid_(const Context *p_ctx) const
Definition aglDynamicTextureAllocator.cpp:22
sead::UnsafeArray< Context, 4 > mContext
Definition aglDynamicTextureAllocator.h:69
TextureData * alloc(const sead::SafeString &name, TextureFormat format, u32 width, u32 height, u32 mip_level_num, void **pp_buffer=nullptr, AllocateType allocate_type=AllocateType(0), bool invalidate_gpu_cache=true)
Definition aglDynamicTextureAllocator.cpp:34
sead::CriticalSection mCriticalSection
Definition aglDynamicTextureAllocator.h:70
AllocateType
Definition aglDynamicTextureAllocator.h:30
@ cAllocateType_Num
Definition aglDynamicTextureAllocator.h:31
void free(const TextureData *ptr)
Definition aglDynamicTextureAllocator.cpp:193
virtual ~DynamicTextureAllocator()
bool isValid_(const Context *p_ctx) const
Definition aglDynamicTextureAllocator.cpp:10
TextureData * alloc_(Context *p_ctx, const sead::SafeString &name, TextureFormat format, TextureType type, u32 width, u32 height, u32 mip_level_num, MultiSampleType multi_sample_type, u32 slice_num, void **pp_buffer, bool allocate_from_head, AllocateType allocate_type, bool invalidate_gpu_cache)
Definition aglDynamicTextureAllocator.cpp:56
bool free_(Context *p_ctx, const TextureData *ptr)
Definition aglDynamicTextureAllocator.cpp:211
u32 _2470
Definition aglDynamicTextureAllocator.h:71
DynamicTextureAllocator()
sead::Heap * mpDebugHeap
Definition aglDynamicTextureAllocator.h:72
sead::BitFlag32 _10
Definition aglDynamicTextureAllocator.h:68
Definition aglDynamicTextureAllocator.h:77
u8 mSurfaceSwizzle
Definition aglDynamicTextureAllocator.h:92
sead::BitFlag8 mFlag
Definition aglDynamicTextureAllocator.h:91
u8 _pad[2]
Definition aglDynamicTextureAllocator.h:94
u32 _ac
Definition aglDynamicTextureAllocator.h:87
u8 _b5
Definition aglDynamicTextureAllocator.h:93
TextureMemoryAllocator::MemoryBlock * mpMemoryBlock
Definition aglDynamicTextureAllocator.h:85
u8 mAllocType
Definition aglDynamicTextureAllocator.h:88
sead::SafeString mName
Definition aglDynamicTextureAllocator.h:86
u8 getMipLevelNum() const
Definition aglDynamicTextureAllocator.h:81
TextureMemoryAllocator * mpMemoryAllocator
Definition aglDynamicTextureAllocator.h:84
u8 _b1
Definition aglDynamicTextureAllocator.h:89
u8 mMipLevelNum
Definition aglDynamicTextureAllocator.h:90
DynamicTextureAllocator::Context * mpContext
Definition aglDynamicTextureAllocator.h:95
Definition aglTextureMemoryAllocator.h:26
Definition aglTextureMemoryAllocator.h:11
Definition seadBuffer.h:13
Definition seadCriticalSection.h:13
Definition seadSafeArray.h:257
Definition aglImageFilter2D.h:11
Definition aglDisplayList.cpp:5
TextureFormat
Definition aglTextureEnum.h:10
MultiSampleType
Definition aglTextureEnum.h:139
TextureType
Definition aglTextureEnum.h:77
Definition seadAssert.h:44
BitFlag< u32 > BitFlag32
Definition seadBitFlag.h:125
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
BitFlag< u8 > BitFlag8
Definition seadBitFlag.h:123
#define SEAD_SINGLETON_DISPOSER(CLASS)
Definition seadDisposer.h:29
Definition aglDynamicTextureAllocator.h:20
sead::Buffer< TextureDataEx > mTextureDataEx
Definition aglDynamicTextureAllocator.h:21
sead::UnsafeArray< TextureMemoryAllocator, 3 > mTextureMemoryAllocator
Definition aglDynamicTextureAllocator.h:22