OROCHI
 
Loading...
Searching...
No Matches
GxRenderDevice::GxRawAllocator Class Reference

管理ブロックを外部に置くことで特殊メモリなど無駄なく使いたい場合 More...

Inheritance diagram for GxRenderDevice::GxRawAllocator:
Collaboration diagram for GxRenderDevice::GxRawAllocator:

Classes

struct  GxBlock
 メモリ管理ブロック構造体 More...
 

Public Member Functions

アクセサ
GX_FORCE_INLINE void getPropertyMemorySize (void *const pValue)
 メモリサイズ
 
GX_FORCE_INLINE void getPropertyUsedMemorySize (void *const pValue)
 メモリ使用サイズ
 
GX_FORCE_INLINE void getPropertyFreeBlockCount (void *const pValue)
 空きブロック数
 
GX_FORCE_INLINE void getPropertyHighMemorySize (void *const pValue)
 メモリ最大到達サイズ
 
GX_FORCE_INLINE void getPropertyAllocMaxMemorySize (void *const pValue)
 メモリ最大確保サイズ
 
GX_FORCE_INLINE void resetDevelopInfo (void)
 メモリ統計情報リセット
 
GX_FORCE_INLINE size_t getMemorySize (void) const
 メモリサイズ取得
 
GX_FORCE_INLINE void * getUserData (void) const
 ユーザーデータを取得
 
size_t getFreeMemorySize (void)
 メモリ空きサイズ取得
 
size_t getTotalAllocatedHighMemorySize (void)
 メモリ最大到達サイズ取得
 
u32 getFreeMemoryBlockCount (void)
 管理ブロックの空き個数を取得
 
- Public Member Functions inherited from GxClassBase
constexpr GxClassBase (void)
 コンストラクタ
 
constexpr GxClassBase (const GxClassBase &base)
 コピーコンストラクタ
 
 ~GxClassBase (void) override
 デストラクタ
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

定義

class GxRenderDevice
 
static const u32 BLOCK_COUNT_MAX = 102400
 メモリブロック数
 
 GX_PROHIBIT_CLASS_BASE (GxRawAllocator)
 

初期化

 GxRawAllocator (void)
 デフォルトコンストラクタ
 
b32 initialize (void *pMemory, size_t memorySize, u32 maxBlockCount, void *pUserData=nullptr)
 初期化関数
 
void terminate (void)
 終了関数
 

操作

void * allocate (u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
 メモリ確保
 
void free (void *pAddress)
 メモリ解放
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 

Detailed Description

管理ブロックを外部に置くことで特殊メモリなど無駄なく使いたい場合

特殊リソース用汎アロケータクラス

Member Function Documentation

◆ allocate()

void * GxRenderDevice::GxRawAllocator::allocate ( u32 size,
GxMemory::ALIGNMENT alignment = GxMemory::ALIGNMENT::_16 )
protected

メモリ確保

Parameters
size[in] サイズ
alignment[in] アライメント
Returns
確保アドレス

◆ free()

void GxRenderDevice::GxRawAllocator::free ( void * pAddress)
protected

メモリ解放

Parameters
pAddress[in] アドレス

◆ getFreeMemoryBlockCount()

u32 GxRenderDevice::GxRawAllocator::getFreeMemoryBlockCount ( void )

管理ブロックの空き個数を取得

Returns
サイズ
Here is the caller graph for this function:

◆ getFreeMemorySize()

size_t GxRenderDevice::GxRawAllocator::getFreeMemorySize ( void )

メモリ空きサイズ取得

Returns
サイズ
Here is the caller graph for this function:

◆ getTotalAllocatedHighMemorySize()

size_t GxRenderDevice::GxRawAllocator::getTotalAllocatedHighMemorySize ( void )

メモリ最大到達サイズ取得

Returns
サイズ
Here is the caller graph for this function:

◆ initialize()

b32 GxRenderDevice::GxRawAllocator::initialize ( void * pMemory,
size_t memorySize,
u32 maxBlockCount,
void * pUserData = nullptr )
protected

初期化関数

Parameters
pMemory[in] メモリ
memorySize[in] メモリサイズ
maxBlockCount[in] 最大ブロック数
pUserData[in] ユーザーデータ
Returns
成功ならtrue
Here is the caller graph for this function:

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