Mercurial > hg > Members > kono > Cerium
diff TaskManager/Test/test_render/spe/Load_Texture.cpp @ 128:776eca0daa02
texture load use hash table
author | gongo@charles.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Tue, 25 Nov 2008 15:52:28 +0900 |
parents | a52e193f9a42 |
children | 8e22fd25befb |
line wrap: on
line diff
--- a/TaskManager/Test/test_render/spe/Load_Texture.cpp Tue Nov 25 12:22:03 2008 +0900 +++ b/TaskManager/Test/test_render/spe/Load_Texture.cpp Tue Nov 25 15:52:28 2008 +0900 @@ -21,26 +21,12 @@ int LoadTexture::run(void *rbuf , void *wbuf) { - int addr = smanager->get_param(0); - int addrNum = smanager->get_param(1); + int addrNum = smanager->get_param(0); + int addrSize = addrNum*sizeof(void*); + void **list = (void**)global_alloc(TEXTURE2_ID, addrSize); void **addrList = (void**)smanager->get_input(0); - void **list = (void**)global_alloc(TEXTURE2_ID, addrNum*sizeof(void*)); - - memcpy(list, addrList, addrNum*sizeof(void*)); - -#if 0 - //タスクからタスクを生成 - TaskPtr task = create_task(TASK_SET_TEXTURE); - - // 16kbyte づつ送ってる - task->add_inData(addr, MAX_LOAD_SIZE); - task->add_inData(addr + MAX_LOAD_SIZE, MAX_LOAD_SIZE); - task->add_inData(addr + MAX_LOAD_SIZE*2, MAX_LOAD_SIZE); - task->add_inData(addr + MAX_LOAD_SIZE*3, MAX_LOAD_SIZE); - - wait_task(task); -#endif + memcpy(list, addrList, addrSize); return 0; }