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

VRAM を管理します More...

Inheritance diagram for GxRenderDevice::GxVramAllocator:
Collaboration diagram for GxRenderDevice::GxVramAllocator:

Classes

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

Public Member Functions

アクセサ
GX_FORCE_INLINE void getPropertyFreeBlockCount (void *const pValue)
 空きブロック数
 
GX_FORCE_INLINE void getPropertyLocalMemorySize (void *const pValue)
 ローカルメモリサイズ
 
GX_FORCE_INLINE void getPropertyMainMemorySize (void *const pValue)
 メインメモリサイズ
 
GX_FORCE_INLINE void getPropertyUsedLocalMemorySize (void *const pValue)
 ローカルメモリ消費サイズ
 
GX_FORCE_INLINE void getPropertyUsedMainMemorySize (void *const pValue)
 メインメモリ消費サイズ
 
GX_FORCE_INLINE void getPropertyHighLocalMemorySize (void *const pValue)
 ローカルメモリ最大到達サイズ
 
GX_FORCE_INLINE void getPropertyHighMainMemorySize (void *const pValue)
 メインメモリ最大到達サイズ
 
GX_FORCE_INLINE void getPropertyAllocMaxLocalMemorySize (void *const pValue)
 ローカルメモリ最大確保サイズ
 
GX_FORCE_INLINE void getPropertyAllocMaxMainMemorySize (void *const pValue)
 メインメモリ最大確保サイズ
 
GX_FORCE_INLINE void resetMainDevelopInfo (void)
 メインメモリ統計情報リセット
 
GX_FORCE_INLINE void resetLocalDevelopInfo (void)
 ローカルメモリ統計情報リセット
 
GX_FORCE_INLINE size_t getLocalMemorySize (void) const
 ローカルメモリサイズ取得
 
GX_FORCE_INLINE size_t getMainMemorySize (void) const
 メインメモリサイズ取得
 
size_t getFreeLocalMemorySize (void)
 ローカルメモリ空きサイズ取得
 
size_t getFreeMainMemorySize (void)
 メインメモリ空きサイズ取得
 
size_t getTotalAllocatedHighLocalMemorySize (void)
 ローカルメモリ最大到達サイズ取得
 
size_t getTotalAllocatedHighMainMemorySize (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)
 デフォルトオブジェクト判定
 
- Public Member Functions inherited from SingletonBase< GxVramAllocator >
 SingletonBase (void)
 コンストラクタ
 
 ~SingletonBase (void)
 デストラクタ
 

定義

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

初期化

 GxVramAllocator (void)
 デフォルトコンストラクタ
 
virtual b32 initialize (void *pLocalMemory, size_t localMemorySize, void *pMainMemory, size_t mainMemorySize, u32 maxBlockCount=BLOCK_COUNT_MAX)
 初期化関数
 
virtual void terminate (void)
 終了関数
 

操作

void * allocateLocal (u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
 ローカルメモリ(VRAM)確保
 
void * allocateMain (u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
 メインメモリ(GPUからアクセスできるメインメモリなどドライバに近いメモリ)確保
 
void free (void *pAddress)
 メモリ解放
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Member Functions inherited from SingletonBase< GxVramAllocator >
static GX_FORCE_INLINE GxVramAllocator & getSingleton (void)
 参照を取得
 
static constexpr GxVramAllocator * getSingletonPointer (void)
 ポインタを取得
 

Detailed Description

VRAM を管理します

VRAM アロケータクラス

Member Function Documentation

◆ allocateLocal()

void * GxRenderDevice::GxVramAllocator::allocateLocal ( u32 size,
GxMemory::ALIGNMENT alignment = GxMemory::ALIGNMENT::_16 )

ローカルメモリ(VRAM)確保

Parameters
size[in] サイズ
alignment[in] アライメント
Returns
確保アドレス
Here is the call graph for this function:

◆ allocateMain()

void * GxRenderDevice::GxVramAllocator::allocateMain ( u32 size,
GxMemory::ALIGNMENT alignment = GxMemory::ALIGNMENT::_16 )

メインメモリ(GPUからアクセスできるメインメモリなどドライバに近いメモリ)確保

Parameters
size[in] サイズ
alignment[in] アライメント
Returns
確保アドレス
Here is the call graph for this function:

◆ free()

void GxRenderDevice::GxVramAllocator::free ( void * pAddress)

メモリ解放

Parameters
pAddress[in] アドレス
Here is the call graph for this function:

◆ getFreeLocalMemorySize()

size_t GxRenderDevice::GxVramAllocator::getFreeLocalMemorySize ( void )

ローカルメモリ空きサイズ取得

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

◆ getFreeMainMemorySize()

size_t GxRenderDevice::GxVramAllocator::getFreeMainMemorySize ( void )

メインメモリ空きサイズ取得

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

◆ getFreeMemoryBlockCount()

u32 GxRenderDevice::GxVramAllocator::getFreeMemoryBlockCount ( void )

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

Returns
サイズ

◆ getTotalAllocatedHighLocalMemorySize()

size_t GxRenderDevice::GxVramAllocator::getTotalAllocatedHighLocalMemorySize ( void )

ローカルメモリ最大到達サイズ取得

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

◆ getTotalAllocatedHighMainMemorySize()

size_t GxRenderDevice::GxVramAllocator::getTotalAllocatedHighMainMemorySize ( void )

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

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

◆ initialize()

b32 GxRenderDevice::GxVramAllocator::initialize ( void * pLocalMemory,
size_t localMemorySize,
void * pMainMemory,
size_t mainMemorySize,
u32 maxBlockCount = BLOCK_COUNT_MAX )
protectedvirtual

初期化関数

Parameters
pLocalMemory[in] ローカルメモリ
localMemorySize[in] ローカルメモリサイズ
pMainMemory[in] メインメモリ
mainMemorySize[in] メインメモリサイズ
maxBlockCount[in] 最大ブロック数
Returns
常にtrue
Here is the caller graph for this function:

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