KMSTATUS kmGetFreeTextureMem( pSizeOfTexture, pMaxBlockSizeOfTexture )
PKMUINT32 pSizeOfTexture
PKMUINT32 pMaxBlockSizeOfTexture
pSizeOfTexture (出力)テクスチャメモリの空き容量領域へのポインタ pMaxBlockSizeOfTexture (出力)もっとも容量が大きいブロックの領域へのポインタ
KMSTATUS_SUCCESS 成功
テクスチャメモリの未使用部分の容量を返します。テクスチャメモリはブロック単位で管理されます。 何度も確保と解放を繰り返すと、テクスチャメモリはたくさんのブロックに分割されていきます。 この関数では、テクスチャメモリのすべての空きブロックの合計容量(pSizeOfTexture)と、空きブロックのうちもっとも容量が大きな空きブロックの容量(pMaxBlockSizeOfTexture)を知ることができます。
空きブロックの合計容量が足りていても、もっとも容量の大きな空きブロックの容量が不十分であれば、テクスチャの確保を行おうとしてもKMSTATUS_NOT_ENOUGH_MEMORY(メモリ容量が足りない)を返します。
テクスチャの確保を行うには以下の関数を用います。
テクスチャメモリを効率的に使用するには、できるだけ多くのテクスチャを同時に確保/解放するようにしてください。
- kmCreateTextureSurface()関数
- kmCreateCombinedTextureSurface()関数
- kmCreateContiguousTextureSurface()関数
kmCreateTextureSurface() テクスチャ用サーフェスの確保 kmCreateCombinedTextureSurface() 複合テクスチャサーフェスの確保 kmCreateContiguousTextureSurface() 連続したアドレス領域へのテクスチャサーフェスの作成