ホーム/2008-07-07

ホーム/2008-07-07

# Cerium アップデート

SPE 上でのデータは、

1
run(readbuf, writebuf);

の二つだけで、しかもタスクが終了すると自動的に解放されてました。 しかし、複数のタスクで『SPE 上の同じデータ』を共有して使いたいってのもあるわけですよ。 たとえばテクスチャのデータとか。それはまた別か?

で、それ用のAPIを実装しました。~ &color(#ff0000){2008-07-16 (水) 14:28:37 API の名称を static_* から global_* に変更しました。};

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
/**
 * @param [id] 領域ID。現在は 0〜31 まで使用可能 (Scheduler.h で定義)
 * @param [size] 領域のサイズ
 * @return allocate した領域のポインタ。下の static_get の返り値と同じ
 */
void* global_alloc(int id, int size);

/**
 * @param [id] static_alloc で作った領域 ID。
 * @return 領域のポインタ
 */
void* global_get(int id);

/**
 * @param [id] 解放したい領域の ID
 */
void global_free(int id);

詳しいことやソースは

1
cvs firefly:Game_project/Cerium/TaskManager

以下の ChangeLog や *.cpp を見てください。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy