[ITC/UTC][dali-core][Non-ACR][Fix RenderTask tct] 52/224752/1
authorSunghyun Kim <scholb.kim@samsung.com>
Thu, 6 Feb 2020 08:28:41 +0000 (17:28 +0900)
committerSunghyun Kim <scholb.kim@samsung.com>
Thu, 13 Feb 2020 01:03:35 +0000 (10:03 +0900)
GetClearEnabled() need to use initialized RenderTask.
so i fix them.

Change-Id: I8e64c3e700f5d8e57f15b4ecfd269fe0092a7d5a

src/itc/dali-core/render-task/ITs-render-task-impl.h
src/utc/dali-core/render-task/utc-dali-render-task-impl.h

index 9d71c8aa4348ce8642a9d461cba4510ec15d48cc..d5a707dc44fdef77c7a29f16561eda471b793267 100755 (executable)
@@ -407,23 +407,52 @@ void RenderTaskSetGetClearColor()
 
 void RenderTaskSetGetClearEnabled()
 {
-       bool bGetClearEnable;
-       Stage stage;
-       RenderTaskList renderTaskList;
-       RenderTask renderTask;
-    DALI_CHECK_FAIL(!RenderTaskinit(stage, renderTaskList, renderTask),  "RenderTask Initialization Failed " );
+    const int WIDTH = 10 , HEIGHT = 10 ;
+    const float F_HEIGHT = 10.0f , F_WIDTH =  10.0f ;
+    const float F_X = 0.0f , F_Y = 0.0f  , F_Z = 0.0f  , F_W = 0.0f ;
 
-       bool  bGetDefaultClearEnable  = renderTask.GetClearEnabled();
-       DALI_CHECK_FAIL(bGetDefaultClearEnable,  "Default ClearEnable should be false");
+    bool bGetClearEnable;
 
-       renderTask.SetClearEnabled(true);
+    Stage stage =  Stage::GetCurrent();
+    DALI_CHECK_FAIL(!stage,  "stage is empty.");
+
+    CameraActor offscreenCameraActor = CameraActor::New();
+    DALI_CHECK_FAIL(!offscreenCameraActor,  "CameraActor::New is failed to create camera actor.");
+
+    stage.Add(offscreenCameraActor);
+    RenderTaskList renderTaskList = stage.GetRenderTaskList();
+
+    DALI_CHECK_FAIL(renderTaskList.GetTaskCount() == INVALID_TASK_COUNT,  "RenderTaskList is empty.");
+    BufferImage image = BufferImage::New(WIDTH, HEIGHT);
+    DALI_CHECK_FAIL(!image, "BufferImage is not created");
+    ImageView rootView = ImageView::New(image);
+    DALI_CHECK_FAIL(!rootView,  "rootView is not created.");
+    rootView.SetSize(F_WIDTH , F_HEIGHT);
+    stage.Add(rootView);
+
+    FrameBufferImage frameBufferImage = FrameBufferImage::New();
+
+    // Flush all outstanding messages
+    RenderTask newTask = renderTaskList.CreateTask();
+    newTask.SetCameraActor(offscreenCameraActor);
+    newTask.SetSourceActor(rootView);
+    newTask.SetInputEnabled(false);
+    newTask.SetClearColor(Vector4(F_X, F_Y, F_Z, F_W));
+    newTask.SetExclusive(true);
+    newTask.SetRefreshRate(RenderTask::REFRESH_ONCE);
+    newTask.SetTargetFrameBuffer(frameBufferImage);
+
+    bool  bGetDefaultClearEnable  = newTask.GetClearEnabled();
+    DALI_CHECK_FAIL(bGetDefaultClearEnable,  "Default ClearEnable should be false");
+
+    newTask.SetClearEnabled(true);
+
+    bGetClearEnable = newTask.GetClearEnabled();
+
+    DALI_CHECK_FAIL(!bGetClearEnable,  "SetClearEnabled and GetClearEnabled is not matched");
+    newTask.SetClearEnabled(false);
+    newTask.SetClearEnabled(bGetDefaultClearEnable);
 
-       bGetClearEnable = renderTask.GetClearEnabled();
-       
-       DALI_CHECK_FAIL(!bGetClearEnable,  "SetClearEnabled and GetClearEnabled is not matched");
-       renderTask.SetClearEnabled(false);
-    renderTask.SetClearEnabled(bGetDefaultClearEnable);
-       
     DaliLog::PrintPass(); 
 }
 
index 8079aa737ca3296067bf41a06ebcd0f8e482b6d6..fa57f412777caa764c6d7776f955150e926ef22f 100755 (executable)
@@ -495,22 +495,51 @@ void RenderTaskGetClearColorN()
 
 void RenderTaskSetGetClearEnabledP()
 {
+  const int WIDTH = 10 , HEIGHT = 10 ;
+  const float F_HEIGHT = 10.0f , F_WIDTH =  10.0f ;
+  const float F_X = 0.0f , F_Y = 0.0f  , F_Z = 0.0f  , F_W = 0.0f ;
+
   bool bGetClearEnable;
-  Stage stage;
-  RenderTaskList renderTaskList;
-  RenderTask renderTask;
-  DALI_CHECK_FAIL(!RenderTaskinit(stage, renderTaskList, renderTask),  "RenderTask Initialization Failed " );
 
-  bool  bGetDefaultClearEnable  = renderTask.GetClearEnabled();
+  Stage stage =  Stage::GetCurrent();
+  DALI_CHECK_FAIL(!stage,  "stage is empty.");
+
+  CameraActor offscreenCameraActor = CameraActor::New();
+  DALI_CHECK_FAIL(!offscreenCameraActor,  "CameraActor::New is failed to create camera actor.");
+
+  stage.Add(offscreenCameraActor);
+  RenderTaskList renderTaskList = stage.GetRenderTaskList();
+
+  DALI_CHECK_FAIL(renderTaskList.GetTaskCount() == INVALID_TASK_COUNT,  "RenderTaskList is empty.");
+  BufferImage image = BufferImage::New(WIDTH, HEIGHT);
+  DALI_CHECK_FAIL(!image, "BufferImage is not created");
+  ImageView rootView = ImageView::New(image);
+  DALI_CHECK_FAIL(!rootView,  "rootView is not created.");
+  rootView.SetSize(F_WIDTH , F_HEIGHT);
+  stage.Add(rootView);
+
+  FrameBufferImage frameBufferImage = FrameBufferImage::New();
+
+  // Flush all outstanding messages
+  RenderTask newTask = renderTaskList.CreateTask();
+  newTask.SetCameraActor(offscreenCameraActor);
+  newTask.SetSourceActor(rootView);
+  newTask.SetInputEnabled(false);
+  newTask.SetClearColor(Vector4(F_X, F_Y, F_Z, F_W));
+  newTask.SetExclusive(true);
+  newTask.SetRefreshRate(RenderTask::REFRESH_ONCE);
+  newTask.SetTargetFrameBuffer(frameBufferImage);
+
+  bool  bGetDefaultClearEnable  = newTask.GetClearEnabled();
   DALI_CHECK_FAIL(bGetDefaultClearEnable,  "Default ClearEnable should be false");
 
-  renderTask.SetClearEnabled(true);
+  newTask.SetClearEnabled(true);
 
-  bGetClearEnable = renderTask.GetClearEnabled();
+  bGetClearEnable = newTask.GetClearEnabled();
 
   DALI_CHECK_FAIL(!bGetClearEnable,  "SetClearEnabled and GetClearEnabled is not matched");
-  renderTask.SetClearEnabled(false);
-  renderTask.SetClearEnabled(bGetDefaultClearEnable);
+  newTask.SetClearEnabled(false);
+  newTask.SetClearEnabled(bGetDefaultClearEnable);
 
   DaliLog::PrintPass();
 }