annotate TaskManager/Test/test_render/task/Set_Texture.cpp @ 397:ce86b0186a4a draft

delete manager (in kernel/ppe/TaskManager.h) don't move.
author game@henri.cr.ie.u-ryukyu.ac.jp
date Sun, 20 Sep 2009 18:55:26 +0900
parents 9738837c225c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #include <string.h>
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #include "Set_Texture.h"
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3 #include "texture.h"
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
4 #include "global_alloc.h"
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6 SchedDefineTask(SetTexture);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 //texture をglobal 領域にコピーするタスク
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
9 int
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 SetTexture::run(void *rbuf, void *wbuf)
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 {
120
13b43de5ef5d fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
12 void *src[4];
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
13
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 src[0] = get_input(rbuf, 0);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 src[1] = get_input(rbuf, 1);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 src[2] = get_input(rbuf, 2);
120
13b43de5ef5d fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
17 src[3] = get_input(rbuf, 3);
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
18
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 if (global_get(TEXTURE_ID)) {
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
20 return 0;
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21 } else {
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
22 //タスクが共有できる領域確保
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
23 void *data = global_alloc(TEXTURE_ID, MAX_LOAD_SIZE*4);
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24
352
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
25 memcpy(data, src[0], MAX_LOAD_SIZE);
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
26 memcpy((void*)((int)data + MAX_LOAD_SIZE), src[1], MAX_LOAD_SIZE);
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
27 memcpy((void*)((int)data + MAX_LOAD_SIZE*2), src[2], MAX_LOAD_SIZE);
9738837c225c add global_alloc.h
admin@mb22-no-macbook-2.local
parents: 120
diff changeset
28 memcpy((void*)((int)data + MAX_LOAD_SIZE*3), src[3], MAX_LOAD_SIZE);
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 return 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 }