#include <nnsys/gfd.h>
NNSGfdPlttKey NNS_GfdAllocPlttVram(u32 szByte, BOOL is4pltt, u32 opt);
| szByte | 確保したいパレット用メモリの大きさ( 8 - 524280 バイト ) |
| is4pltt | 4色パレット用メモリを確保する場合、真 |
| opt | パレットVRAMメモリマネージャのオプション |
パレット用メモリを示すキー・データ。
szByteで指定された大きさのパレット用メモリをVRAMから確保します。
TWL-SystemのライブラリがパレットRAMからパレット用メモリを確保する場合には、この関数が使用されます。
NNS_GfdAllocPlttTVram関数は以下のように定義されており、内部処理は
グローバルな関数ポインタであるNNS_GfdDefaultFuncAllocPlttVramに設定されている関数を呼び出しているのみとなっています。
static inline NNSGfdPlttKey
NNS_GfdAllocPlttVram(u32 szByte, BOOL is4pltt, u32 opt)
{
return (*NNS_GfdDefaultFuncAllocPlttVram)( szByte, is4pltt, opt );
}
この関数ポインタに適当なパレット用メモリ確保関数を登録する事により、NNS_GfdAllocPlttVramは機能します。
このような仕組みにより、ライブラリからのパレット用メモリの確保をユーザ側でコントロールする事を可能にしています。
なお初期状態では、NNS_GfdDefaultFuncAllocPlttVramには、何も処理をせずにエラーを返す関数が設定されています。
パレット用メモリの確保でエラーが発生した場合は、エラーを示すキーであるNNS_GFD_ALLOC_ERROR_PLTTKEYが返ります。
optは、NNS_GfdDefaultFuncAllocPlttVramに設定するパレット用メモリ確保関数で
用途を自由に決めて使用できるパラメータとして用意されています。
パレットキー内部のビット表現の仕様から、指定可能なサイズに制限があります。
また、実際にメモリ確保を行うVRAMマネージャの実装によって、一度に確保可能なサイズに制限がある場合があります。
2008/06/20 NITRO-SystemをTWL-Systemに変更
2007/01/31 確保サイズに関する注意書きを追加
2005/01/31 サイズの値域に関する注意書きを追加
2004/07/16 初版