comparison collision_task.cc @ 61:e66cab264350

RenderingEngine Task is worked on spe, task_dandy Task is worked on ppe
author yutaka@localhost.localdomain
date Sun, 06 Feb 2011 18:11:30 +0900
parents cfd42ee2ad28
children 3c2fc35a6b55
comparison
equal deleted inserted replaced
60:cfd42ee2ad28 61:e66cab264350
117 117
118 alloc_task->set_param(0, (memaddr)1); 118 alloc_task->set_param(0, (memaddr)1);
119 alloc_task->set_param(1, (memaddr)sizeof(CollisionProperty)); 119 alloc_task->set_param(1, (memaddr)sizeof(CollisionProperty));
120 alloc_task->set_param(2, (memaddr)COLLDATA); 120 alloc_task->set_param(2, (memaddr)COLLDATA);
121 121
122 #ifndef PPE_ONLY
122 alloc_task->set_cpu(SPE_0); 123 alloc_task->set_cpu(SPE_0);
124 #else
125 alloc_task->set_cpu(CPU_PPE);
126 #endif
123 alloc_task->spawn(); 127 alloc_task->spawn();
124 } 128 }
125 129
126 HTaskPtr 130 HTaskPtr
127 collision_update() 131 collision_update()
133 update_task->set_param(1, (memaddr)COLLDATA); 137 update_task->set_param(1, (memaddr)COLLDATA);
134 138
135 update_task->set_inData(0, property, sizeof(CollisionProperty)); 139 update_task->set_inData(0, property, sizeof(CollisionProperty));
136 140
137 update_task->set_post(after_free, (void*)property, NULL); 141 update_task->set_post(after_free, (void*)property, NULL);
142
143 #ifndef PPE_ONLY
138 update_task->set_cpu(SPE_0); 144 update_task->set_cpu(SPE_0);
145 #else
146 update_task->set_cpu(CPU_PPE);
147 #endif
139 148
140 return update_task; 149 return update_task;
141 } 150 }
142 151
143 HTaskPtr 152 HTaskPtr
149 reflect_task->set_param(0, (memaddr)COLLDATA); 158 reflect_task->set_param(0, (memaddr)COLLDATA);
150 159
151 reflect_task->set_outData(0, property, sizeof(CollisionProperty)); 160 reflect_task->set_outData(0, property, sizeof(CollisionProperty));
152 161
153 reflect_task->set_post(reflect_property, (void*)property, NULL); 162 reflect_task->set_post(reflect_property, (void*)property, NULL);
163 #ifndef PPE_ONLY
154 reflect_task->set_cpu(SPE_0); 164 reflect_task->set_cpu(SPE_0);
165 #else
166 reflect_task->set_cpu(CPU_PPE);
167 #endif
155 168
156 return reflect_task; 169 return reflect_task;
157 } 170 }
158 171
159 void 172 void
160 collision_free() 173 collision_free()
161 { 174 {
162 HTaskPtr free_task = tmanager->create_task(DataFree); 175 HTaskPtr free_task = tmanager->create_task(DataFree);
163 176
164 free_task->set_param(0, (memaddr)COLLDATA); 177 free_task->set_param(0, (memaddr)COLLDATA);
165 178 #ifndef PPE_ONLY
166 free_task->set_cpu(SPE_0); 179 free_task->set_cpu(SPE_0);
180 #else
181 free_task->set_cpu(CPU_PPE);
182 #endif
167 free_task->spawn(); 183 free_task->spawn();
168 } 184 }
169 185
170 186
171 void 187 void
202 218
203 collision_task->set_outData(0, p, sizeof(CHARACTER)); 219 collision_task->set_outData(0, p, sizeof(CHARACTER));
204 collision_task->set_outData(1, obj, obj_size); 220 collision_task->set_outData(1, obj, obj_size);
205 221
206 collision_task->set_post(collision_check, (void*)obj, (void*)p); 222 collision_task->set_post(collision_check, (void*)obj, (void*)p);
223 #ifndef PPE_ONLY
207 collision_task->set_cpu(SPE_0); 224 collision_task->set_cpu(SPE_0);
225 #else
226 collision_task->set_cpu(CPU_PPE);
227 #endif
208 228
209 collision_task->wait_for(update_task); 229 collision_task->wait_for(update_task);
210 reflect_task->wait_for(collision_task); 230 reflect_task->wait_for(collision_task);
211 231
212 collision_task->spawn(); 232 collision_task->spawn();