Mercurial > hg > Game > Cerium
annotate Renderer/Engine/spe/ChainInit.cc @ 898:302ebfc75a79 draft
merge
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 16 Jul 2010 19:00:49 +0900 |
parents | 32160f3c0367 |
children |
rev | line source |
---|---|
539 | 1 #include <stdio.h> |
2 #include <string.h> | |
3 #include "ChainInit.h" | |
4 #include "Func.h" | |
5 | |
6 /* これは必須 */ | |
7 SchedDefineTask(ChainInit); | |
8 | |
9 /* | |
10 spe の global 領域に MemList を生成する | |
11 */ | |
12 | |
13 typedef struct { | |
14 double x, y, next_x, next_y; | |
15 double vx, vy, next_vx, next_vy; | |
16 int can_move; | |
17 uint32 parent; | |
18 } CHAIN_VARS; | |
19 | |
20 | |
21 static int | |
22 run(SchedTask *s,void *rbuf, void *wbuf) | |
23 { | |
735
32160f3c0367
fix Engin/Application.h, not work on ps3
hiroki@localhost.localdomain
parents:
626
diff
changeset
|
24 /* |
539 | 25 CHAIN_VARS* idata = (CHAIN_VARS*)s->get_input(rbuf, 0); |
626
0e91ddaad798
64bit mode compatibility on Cell
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
539
diff
changeset
|
26 uint32 chain_len = (unsigned long)s->get_param(0); |
539 | 27 |
28 // property は spe 上で allocate している(global) | |
29 CHAIN_VARS *property = (CHAIN_VARS*)s->global_alloc(DATA_ID, sizeof(CHAIN_VARS)*chain_len); | |
30 memcpy(property, idata, sizeof(CHAIN_VARS)*chain_len); | |
735
32160f3c0367
fix Engin/Application.h, not work on ps3
hiroki@localhost.localdomain
parents:
626
diff
changeset
|
31 */ |
539 | 32 return 0; |
33 } |