changeset 614:4e44147d78ee

remove uncessary Task Name definision
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Nov 2009 18:21:14 +0900
parents ff4d33ef8ab0
children f7d78b3c1106
files Renderer/Engine/Func.h Renderer/Engine/show_time.cc Renderer/Engine/spe/DrawSpan.cc Renderer/Engine/spe/spe-main.cc Renderer/Engine/task/DrawSpan.cc Renderer/Engine/task/task_init.cc Renderer/Engine/viewer.cc TaskManager/ChangeLog TaskManager/kernel/schedule/Scheduler.h
diffstat 9 files changed, 137 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/Renderer/Engine/Func.h	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/Func.h	Sat Nov 14 18:21:14 2009 +0900
@@ -1,38 +1,39 @@
 enum {
+
      INIT,
      SDL_INIT,
      FINISH,
-     VIEWER_RUN_INIT,
-     VIEWER_RUN_LOOP,
-     VIEWER_RUN_DRAW,
-     VIEWER_RUN_FINISH,
+
+     Create_SGP,
+     Update_SGP,
+     CreatePolygon,
+     CreatePolygonFromSceneGraph,
+     CreateSpan,
+
+     DrawSpan,
+     DrawSpanEnd,
+     DrawBack,
+
+     LoadTexture,
+     SetTexture,
 
-     TASK_INIT_TEXTURE, 
-     TASK_CREATE_SGP,
-     TASK_UPDATE_SGP,
-     TASK_CREATE_PP,
-     TASK_CREATE_PP2,
-     TASK_CREATE_SPAN,
-     TASK_CS_START,
-     TASK_CS_RUN,
-     TASK_DRAW_SPAN,
-     TASK_DRAW_SPAN_END,
-     TASK_DRAW_BACK,
-     TASK_SET_TEXTURE,
-     TASK_MOVE,
-     TASK_DRAW,
-     TASK_DUMMY,
+     Move,
+     Draw,
+
+     Dummy,
 
-     CHAINCAL_TASK,
-     CHAININIT_TASK,
+     UpdateKey,
+     InitKey,
+
+     ShowTime,
+     Switch,
+
+     ChainMove,
+
+
      RUN_FINISH,
 
-     TASK_SWITCH,
-     SHOW_TIME,
-     UPDATE_KEY,
-     INIT_KEY_TASK,
 
-     CHAIN_MOVE,
 };
 
 #define DATA_ID 0
--- a/Renderer/Engine/show_time.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/show_time.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -10,19 +10,19 @@
     HTaskPtr pre_show;
     */
     /*
-    show = manager->create_task(SHOW_TIME);
+    show = manager->create_task(ShowTime);
     show->set_cpu(SPE_0);
     show->spawn();
     printf("testですよ\n");
     */
 
     /*
-    pre_show = manager->create_task(SHOW_TIME);
+    pre_show = manager->create_task(ShowTime);
     pre_show->set_cpu((CPU_TYPE)((int)SPE_0));    
     pre_show->spawn();
 
     for (int i = 1; i < 6; i++) {        
-	show = manager->create_task(SHOW_TIME);
+	show = manager->create_task(ShowTime);
 	show->set_cpu((CPU_TYPE)((int)SPE_0 + i));
 	show->wait_for(pre_show);
 	show->spawn();
--- a/Renderer/Engine/spe/DrawSpan.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/spe/DrawSpan.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -485,7 +485,7 @@
 
     free(free_spack);
 
-    TaskPtr nextTask = smanager->create_task(TASK_DRAW_SPAN_END);
+    TaskPtr nextTask = smanager->create_task(DrawSpanEnd);
     nextTask->add_param((int)g);
     smanager->wait_task(nextTask);
 
--- a/Renderer/Engine/spe/spe-main.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/spe/spe-main.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -22,23 +22,23 @@
 void
 task_init(Scheduler *s)
 {
-    SchedRegisterTask(TASK_INIT_TEXTURE, LoadTexture);
-    SchedRegisterTask(TASK_SET_TEXTURE, SetTexture);
-    SchedRegisterTask(TASK_DRAW_SPAN, DrawSpan);
-    SchedRegisterTask(TASK_DRAW_SPAN_END, DrawSpanEnd);
+    SchedRegister( LoadTexture);
+    SchedRegister( SetTexture);
+    SchedRegister( DrawSpan);
+    SchedRegister( DrawSpanEnd);
 
-    SchedRegisterTask(CHAINCAL_TASK, ChainCal);
-    SchedRegisterTask(CHAININIT_TASK, ChainInit);
+    SchedRegister( ChainCal);
+    SchedRegister( ChainInit);
 #if 0
-    SchedRegisterTask(TASK_DRAW_SPAN2, DrawSpanRenew);
+    SchedRegister( DrawSpanRenew);
 #endif
-    SchedRegisterTask(TASK_DRAW_BACK, DrawBack);
+    SchedRegister( DrawBack);
 
-    SchedRegisterTask(TASK_CREATE_SPAN, CreateSpan);
-    //SchedRegisterTask(TASK_CREATE_PP, CreatePolygon);
+    SchedRegister( CreateSpan);
+    //SchedRegister( CreatePolygon);
 
-    SchedRegisterTask(SHOW_TIME, ShowTime);
+    SchedRegister( ShowTime);
 
-	SchedRegisterTask(INIT_KEY_TASK, InitKey);
-	SchedRegisterTask(UPDATE_KEY, UpdateKey);
+	SchedRegister( InitKey);
+	SchedRegister( UpdateKey);
 }
--- a/Renderer/Engine/task/DrawSpan.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/task/DrawSpan.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -481,7 +481,7 @@
 
     free(free_spack);
 
-    TaskPtr nextTask = smanager->create_task(TASK_DRAW_SPAN_END);
+    TaskPtr nextTask = smanager->create_task(DrawSpanEnd);
     nextTask->add_param((memaddr)g);
     smanager->wait_task(nextTask);
 
--- a/Renderer/Engine/task/task_init.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/task/task_init.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -36,31 +36,62 @@
 void
 task_initialize()
 {
-    SchedRegisterTask(TASK_CREATE_SGP, Create_SGP);
-    SchedRegisterTask(TASK_UPDATE_SGP, Update_SGP);
-    SchedRegisterTask(TASK_CREATE_PP,  CreatePolygon);
-    SchedRegisterTask(TASK_CREATE_PP2,  CreatePolygonFromSceneGraph);
-    SchedRegisterTask(TASK_CREATE_SPAN, CreateSpan);
+#if 0
+    SchedRegister(TASK_CREATE_SGP, Create_SGP);
+    SchedRegister(TASK_UPDATE_SGP, Update_SGP);
+    SchedRegister(TASK_CREATE_PP,  CreatePolygon);
+    SchedRegister(TASK_CREATE_PP2,  CreatePolygonFromSceneGraph);
+    SchedRegister(TASK_CREATE_SPAN, CreateSpan);
 
-    SchedRegisterTask(TASK_DRAW_SPAN, DrawSpan);
-    SchedRegisterTask(TASK_DRAW_SPAN_END, DrawSpanEnd);
-//    SchedRegisterTask(TASK_DRAW_SPAN2, DrawSpanRenew);
-    SchedRegisterTask(TASK_DRAW_BACK, DrawBack);
+    SchedRegister(TASK_DRAW_SPAN, DrawSpan);
+    SchedRegister(TASK_DRAW_SPAN_END, DrawSpanEnd);
+//    SchedRegister(TASK_DRAW_SPAN2, DrawSpanRenew);
+    SchedRegister(TASK_DRAW_BACK, DrawBack);
 
-    SchedRegisterTask(TASK_INIT_TEXTURE, LoadTexture);
-    SchedRegisterTask(TASK_SET_TEXTURE, SetTexture);
+    SchedRegister(TASK_INIT_TEXTURE, LoadTexture);
+    SchedRegister(TASK_SET_TEXTURE, SetTexture);
 
-    SchedRegisterTask(TASK_MOVE, Move);
-    SchedRegisterTask(TASK_DRAW, Draw);
+    SchedRegister(TASK_MOVE, Move);
+    SchedRegister(TASK_DRAW, Draw);
 
-    SchedRegisterTask(TASK_DUMMY, Dummy);
+    SchedRegister(TASK_DUMMY, Dummy);
 
-    SchedRegisterTask(UPDATE_KEY, UpdateKey);
-    SchedRegisterTask(INIT_KEY_TASK, InitKey);
+    SchedRegister(UPDATE_KEY, UpdateKey);
+    SchedRegister(INIT_KEY_TASK, InitKey);
 
-    SchedRegisterTask(SHOW_TIME, ShowTime);
-    SchedRegisterTask(TASK_SWITCH, Switch);
+    SchedRegister(SHOW_TIME, ShowTime);
+    SchedRegister(TASK_SWITCH, Switch);
 
     // usr
-    SchedRegisterTask(CHAIN_MOVE, ChainMove);
+    SchedRegister(CHAIN_MOVE, ChainMove);
+#else
+    SchedRegister( Create_SGP);
+    SchedRegister( Update_SGP);
+    SchedRegister(  CreatePolygon);
+    SchedRegister(CreatePolygonFromSceneGraph);
+    SchedRegister( CreateSpan);
+
+    SchedRegister( DrawSpan);
+    SchedRegister( DrawSpanEnd);
+//    SchedRegister(DrawSpanRenew);
+    SchedRegister( DrawBack);
+
+    SchedRegister( LoadTexture);
+    SchedRegister( SetTexture);
+
+    SchedRegister( Move);
+    SchedRegister( Draw);
+
+    SchedRegister( Dummy);
+
+    SchedRegister( UpdateKey);
+    SchedRegister( InitKey);
+
+    SchedRegister( ShowTime);
+    SchedRegister( Switch);
+
+    // usr
+    SchedRegister( ChainMove);
+#endif
+
 }
--- a/Renderer/Engine/viewer.cc	Thu Nov 12 17:06:49 2009 +0900
+++ b/Renderer/Engine/viewer.cc	Sat Nov 14 18:21:14 2009 +0900
@@ -146,10 +146,10 @@
         spackList[i-1].init(i*split_screen_h);
     }
 
-    task_next = manager->create_task(TASK_DUMMY);
+    task_next = manager->create_task(Dummy);
     
     for (int i = 0; i < spe_num; i++) {
-        task_tex = manager->create_task(TASK_INIT_TEXTURE);
+        task_tex = manager->create_task(LoadTexture);
         /*
          * ここはもう少しわかりやすい使い方がいいかもしれぬ。こんなもん?
 		 */
@@ -167,7 +167,7 @@
 {
     HTaskPtr task_next = initLoop();
     // key の情報を格納する領域を確保する (global_alloc(KEY_STATUS))
-    HTaskPtr init_key_task = manager->create_task(INIT_KEY_TASK);
+    HTaskPtr init_key_task = manager->create_task(InitKey);
 	init_key_task->set_cpu(SPE_0);
     init_key_task->spawn();
     
@@ -182,7 +182,7 @@
 
     /* test */
    
-    HTaskPtr task_switch = manager->create_task(TASK_SWITCH);
+    HTaskPtr task_switch = manager->create_task(Switch);
     task_switch->wait_for(task_next);
     task_switch->set_post(post2runMoveDrawLoop, (void*)this, 0);
     task_switch->spawn();
@@ -239,27 +239,27 @@
     Viewer *viewer = (Viewer*)viewer_;
     
     // 同じ PPE 上なので sgroot(ポインタ) を add_param で送る。 
-    //HTaskPtr send_key_task = viewer->manager->create_task(SEND_KEY);
+    //HTaskPtr send_key_task = viewer->manager->create_task(SendKey);
     //send_key_task->add_param((int)sgroot);
     // set input data -> viewer keyPtr
     viewer->getKey();
-    HTaskPtr update_key = viewer->manager->create_task(UPDATE_KEY);
+    HTaskPtr update_key = viewer->manager->create_task(UpdateKey);
     update_key->add_inData(viewer->keyPtr, sizeof(key_stat));
     update_key->set_cpu(SPE_0);
     update_key->spawn();
     
     /* TASK_MOVE は外から引数で取ってくるべき */
     //HTaskPtr move_task = viewer->manager->create_task(viewer->app->move_taskid);    
-    HTaskPtr move_task = viewer->manager->create_task(TASK_MOVE);
+    HTaskPtr move_task = viewer->manager->create_task(Move);
     //move_task->add_param(sgroot);
 
-    //HTaskPtr draw_task = viewer->manager->create_task(TASK_DRAW);
+    //HTaskPtr draw_task = viewer->manager->create_task(Draw);
 
     /* rendering task test */
-    HTaskPtr draw_task = viewer->manager->create_task(TASK_DUMMY);
-    HTaskPtr draw_dummy = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr draw_task = viewer->manager->create_task(Dummy);
+    HTaskPtr draw_dummy = viewer->manager->create_task(Dummy);
 
-    HTaskPtr switch_task = viewer->manager->create_task(TASK_SWITCH);
+    HTaskPtr switch_task = viewer->manager->create_task(Switch);
     viewer->draw_dummy = draw_dummy;
     switch_task->wait_for(draw_dummy);
     draw_task->set_post(post2speRendering, (void*)viewer, 0);
@@ -279,7 +279,7 @@
 post2speRunLoop(void *viewer_)
 {
     Viewer *viewer = (Viewer *)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->run_move(task_next);
 }
 #endif
@@ -298,7 +298,7 @@
 post2runMove(void *viewer_)
 {
     Viewer *viewer = (Viewer*)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->run_move(task_next);
 }
 #endif
@@ -320,7 +320,7 @@
 post2rendering(SchedTask *s, void *viewer_, void *arg)
 {
     Viewer *viewer = (Viewer *)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->rendering(task_next);
 }
 
@@ -341,7 +341,7 @@
 post2runLoop(SchedTask *s, void *viewer_, void *arg)
 {
     Viewer *viewer = (Viewer*)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->run_loop(task_next);
 
     psx_sync_n();
@@ -377,7 +377,7 @@
 post2runDraw(SchedTask *s, void *viewer_, void *arg)
 {
     Viewer *viewer = (Viewer*)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->run_draw(task_next);
 
 }
@@ -410,7 +410,7 @@
 post2speRendering(SchedTask *s, void *viewer_, void *arg)
 {
     Viewer *viewer = (Viewer*)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->spe_rendering(task_next);
 }
 
@@ -429,7 +429,7 @@
 post2speDraw(SchedTask *s, void *viewer_, void *arg)
 {
     Viewer *viewer = (Viewer*)viewer_;
-    HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY);
+    HTaskPtr task_next = viewer->manager->create_task(Dummy);
     viewer->spe_draw(task_next);
 }
 
@@ -448,7 +448,7 @@
 void
 Viewer::common_rendering(HTaskPtr task_next)
 {
-    HTaskPtr task_create_pp = manager->create_task(TASK_CREATE_PP2);
+    HTaskPtr task_create_pp = manager->create_task(CreatePolygonFromSceneGraph);
     
     // SceneGraph(木構造) -> PolygonPack
 
@@ -466,7 +466,7 @@
         int index_end = (index_start + range >= spackList_length)
             ? spackList_length : index_start + range;
 
-		HTaskPtr task_create_sp = manager->create_task(TASK_CREATE_SPAN);
+		HTaskPtr task_create_sp = manager->create_task(CreateSpan);
         task_create_sp->add_inData(ppack, sizeof(PolygonPack));
         task_create_sp->add_inData(spackList_ptr,
                                    sizeof(SpanPack*)*spackList_length_align);
@@ -501,7 +501,7 @@
 {
     HTaskPtr task_draw;
 
-    //task_next = manager->create_task(TASK_DUMMY);
+    //task_next = manager->create_task(Dummy);
     //task_next->set_post(post2runLoop, (void*)this);
 
     ppack->clear();
@@ -518,7 +518,7 @@
         while (startx < this->width) {
             if (spack->info.size > 0) {
                 // Draw SpanPack
-                task_draw = manager->create_task(TASK_DRAW_SPAN);
+                task_draw = manager->create_task(DrawSpan);
                 task_draw->add_inData(spack, sizeof(SpanPack));
 
                 task_draw->add_param(
--- a/TaskManager/ChangeLog	Thu Nov 12 17:06:49 2009 +0900
+++ b/TaskManager/ChangeLog	Sat Nov 14 18:21:14 2009 +0900
@@ -1,3 +1,18 @@
+2009-11-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp>
+
+    要するに、SPE task 側から addOutData できればよい。
+    でも、別に、PPE側から計算してもよいはずだけどね。
+    そうすれば、renew task は取り外せる。
+
+	SchedDefineTask1(DrawSpanEnd,draw_span_end);
+    で、名前を指定させておいて、さらに、
+        SchedExternTask(DrawSpanEnd);
+        SchedRegisterTask(TASK_DRAW_SPAN_END, DrawSpanEnd);
+    で、新しく名前を要求するのって、なんとかならんの? 読みづらいんだよ。
+    DrawSpanEnd を、そのまま使ってもよさそうだけど?
+
+    せっかく、renew task を外したのに、HD crash で失ってしまいました。
+
 2009-10-11 Shinji KONO <kono@ie.u-ryukyu.ac.jp>
 
     単純な、rbuf, wbuf + write return size の task のAPI
--- a/TaskManager/kernel/schedule/Scheduler.h	Thu Nov 12 17:06:49 2009 +0900
+++ b/TaskManager/kernel/schedule/Scheduler.h	Sat Nov 14 18:21:14 2009 +0900
@@ -210,6 +210,9 @@
 #define SchedRegisterTask(cmd, str)             \
     register_task(cmd, runTask_##str);
 
+#define SchedRegister(str)             \
+    register_task(str, runTask_##str);
+
 #define SchedDefineDynamicTask(str,segment)                             \
     SchedDefineTask(str)
 
@@ -231,8 +234,10 @@
 		     _ovly_table[segment].size, \
                     runTask_##str, \
 	runTask_##str##_offset);
+#define SchedRegisterDynamic(str, segment) SchedRegisterDynamicTask(str, str, segment)                    
 #else
 #define SchedRegisterDynamicTask(cmd, str, segment) SchedRegisterTask(cmd, str)
+#define SchedRegisterDynamic(str, segment) SchedRegisterDynamicTask(str, str, segment)                    
 #endif