[Tizen] Print logs when scene initialize and uninitialized + print log if render... 38/323738/1 accepted/tizen_9.0_unified accepted/tizen/9.0/unified/20250512.171549
authorEunki Hong <eunkiki.hong@samsung.com>
Fri, 2 May 2025 06:51:09 +0000 (15:51 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 7 May 2025 04:02:53 +0000 (13:02 +0900)
+

Skip PreRenderScene if it is not initialized

hange-Id: I61f651aa70431fb0f0095609077ec92a4ef52698
Change-Id: Ib8e589f67f02c69956dc41fdc02bc94a94eb4222
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/render/common/render-manager.cpp

index 441f31513bd1eebf69dd24b73ad30dd2ec369474..6429301819e2d846bfbd38eab3a19e73ffa7596f 100644 (file)
@@ -527,6 +527,7 @@ void RenderManager::RemoveFrameBuffer(Render::FrameBuffer* frameBuffer)
 
 void RenderManager::InitializeScene(SceneGraph::Scene* scene)
 {
+  DALI_LOG_RELEASE_INFO("InitializeScene %p\n", scene);
   scene->Initialize(mImpl->graphicsController, mImpl->depthBufferAvailable, mImpl->stencilBufferAvailable);
   mImpl->sceneContainer.push_back(scene);
   mImpl->uniformBufferManager->RegisterScene(scene);
@@ -534,6 +535,7 @@ void RenderManager::InitializeScene(SceneGraph::Scene* scene)
 
 void RenderManager::UninitializeScene(SceneGraph::Scene* scene)
 {
+  DALI_LOG_RELEASE_INFO("UninitializeScene %p\n", scene);
   mImpl->uniformBufferManager->UnregisterScene(scene);
   auto iter = std::find(mImpl->sceneContainer.begin(), mImpl->sceneContainer.end(), scene);
   if(iter != mImpl->sceneContainer.end())
@@ -689,12 +691,12 @@ void RenderManager::PreRender(Integration::Scene& scene, std::vector<Rect<int>>&
   Internal::Scene&   sceneInternal = GetImplementation(scene);
   SceneGraph::Scene* sceneObject   = sceneInternal.GetSceneObject();
 
-  if(!sceneObject || sceneObject->IsRenderingSkipped())
+  if(!sceneObject || !sceneObject->GetSurfaceRenderTarget() || sceneObject->IsRenderingSkipped())
   {
     // We don't need to calculate dirty rects
-    if(!sceneObject)
+    if(!sceneObject || !sceneObject->GetSurfaceRenderTarget())
     {
-      DALI_LOG_ERROR("Scene was empty handle. Skip pre-rendering\n");
+      DALI_LOG_ERROR("Scene was empty handle, or render target is null. Skip pre-rendering (scene : %p, renderTarget : %p)\n", sceneObject, sceneObject ? sceneObject->GetSurfaceRenderTarget() : nullptr);
     }
     else
     {
@@ -966,9 +968,9 @@ void RenderManager::RenderScene(Integration::RenderStatus& status, Integration::
 
   Internal::Scene&   sceneInternal = GetImplementation(scene);
   SceneGraph::Scene* sceneObject   = sceneInternal.GetSceneObject();
-  if(!sceneObject)
+  if(!sceneObject || !sceneObject->GetSurfaceRenderTarget())
   {
-    DALI_LOG_ERROR("Scene was empty handle. Skip rendering\n");
+    DALI_LOG_ERROR("Scene was empty handle, or render target is null. Skip rendering (scene : %p, renderTarget : %p)\n", sceneObject, sceneObject ? sceneObject->GetSurfaceRenderTarget() : nullptr);
     return;
   }