annotate TaskManager/Test/test_render/spe/Set_Texture.cpp @ 314:2ddf79a7c5fb

debugging
author root@localhost.localdomain
date Tue, 09 Jun 2009 01:22:11 +0900
parents a52e193f9a42
children 7efc5ede2c03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
314
2ddf79a7c5fb debugging
root@localhost.localdomain
parents: 120
diff changeset
1 #define DEBUG
2ddf79a7c5fb debugging
root@localhost.localdomain
parents: 120
diff changeset
2 #include "error.h"
2ddf79a7c5fb debugging
root@localhost.localdomain
parents: 120
diff changeset
3
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4 #include <string.h>
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5 #include "Set_Texture.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6 #include "texture.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 SchedDefineTask(SetTexture);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 //texture をglobal 領域にコピーするタスク
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 int
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12 SetTexture::run(void *rbuf, void *wbuf)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 {
314
2ddf79a7c5fb debugging
root@localhost.localdomain
parents: 120
diff changeset
14 __debug_spe("SetTexture\n");
120
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
15 void *src[4];
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 src[0] = get_input(rbuf, 0);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18 src[1] = get_input(rbuf, 1);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 src[2] = get_input(rbuf, 2);
120
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
20 src[3] = get_input(rbuf, 3);
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21
120
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
22 if (global_get(TEXTURE_ID)) {
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
23 return 0;
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
24 } else {
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
25 //タスクが共有できる領域確保
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
26 void *data = global_alloc(TEXTURE_ID, MAX_LOAD_SIZE*4);
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27
120
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
28 memcpy(data, src[0], MAX_LOAD_SIZE);
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
29 memcpy((void*)((int)data + MAX_LOAD_SIZE), src[1], MAX_LOAD_SIZE);
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
30 memcpy((void*)((int)data + MAX_LOAD_SIZE*2), src[2], MAX_LOAD_SIZE);
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
31 memcpy((void*)((int)data + MAX_LOAD_SIZE*3), src[3], MAX_LOAD_SIZE);
a52e193f9a42 fix Load Texture
gongo@gendarme.local
parents: 109
diff changeset
32 }
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 return 0;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 }