#include <nnsys/gfd.h>
NNSGfdTexKey NNS_GfdAllocFrmTexVram(u32 szByte, BOOL is4x4comp, u32 opt);
| szByte | 確保したいテクスチャ用メモリの大きさ( 16 - 524272 バイト ) |
| is4x4comp | 4×4テクセル圧縮テクスチャ用メモリを確保する場合、真 |
| opt | VRAMメモリマネージャのオプション(未使用) |
テクスチャ用メモリを示すキー・データ。
szByteで指定された大きさのテクスチャ用メモリをVRAMから確保し、そのテクスチャ用メモリを示すキーを返します。
テクスチャ用メモリの確保でエラーが発生した場合は、エラーを示すキーであるNNS_GFD_ALLOC_ERROR_TEXKEYを返します。
このNNS_GfdAllocFrmTexVramでは、optパラメータは使用されていません。
is4x4compにTRUEが指定されている場合には、
4×4テクセル圧縮テクスチャ用にテクスチャ用メモリを確保します。
この場合、テクスチャイメージ用領域に加え、パレットインデックス用領域も同時に確保します。
テクスチャイメージ用領域とパレットインデックス用領域の両方が確保できた場合のみ、
NNS_GfdAllocFrmTexVram()関数は成功した事になります。
通常テクスチャの領域確保において開き領域がない場合は、4x4テクスチャ用パレット領域への領域確保を試みます。
パレット領域が通常テクスチャによって利用された場合、その2倍の量の4x4テキスチャ用領域が利用不能になってしまいます(パレット領域の確保に失敗するため)。
そのため、すべての4x4テクスチャ,すべての通常テクスチャの順でアロケートすることで、4x4テキスチャ用のパレット領域が通常テクスチャ
によって利用されてしまう危険性を減らすことができ、効率的にメモリを利用することができます。
NNS_GfdInitFrmTexVramManager
NNS_GfdFreeFrmTexVram
2007/08/24 内部動作の説明と、効率的な利用方法についての注意書きを追加
2005/01/31 サイズの値域に関する注意書きを追加
2004/07/16 初版