Revert "[Tizen] Revert "Release graphics contexts before terminate graphics""
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 10 Oct 2024 07:08:57 +0000 (16:08 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 10 Oct 2024 07:08:57 +0000 (16:08 +0900)
This reverts commit d4e72712a43cb63f5b65104514293bc71be8db47.

dali/internal/render/common/render-manager.cpp

index 97ca797ef9a6348549e63ed13ce58d023aa7a0ff..42b8652e8a63f9801739fce8e711e6473c4b3858 100644 (file)
@@ -269,17 +269,17 @@ struct RenderManager::Impl
     sceneContainer.clear();
     renderAlgorithms.DestroyCommandBuffer();
 
-    //samplerContainer.Clear();
-    //frameBufferContainer.Clear();
+    samplerContainer.Clear();
+    frameBufferContainer.Clear();
     vertexBufferContainer.Clear();
     geometryContainer.Clear();
     rendererContainer.Clear();
-    //textureContainer.Clear();
+    textureContainer.Clear();
 
     mRenderTrackers.Clear();
 
-    //updatedTextures.Clear();
-    //textureDiscardQueue.Clear();
+    updatedTextures.Clear();
+    textureDiscardQueue.Clear();
 
     pipelineCache.reset(); // clear now before the program contoller is deleted
 
@@ -364,6 +364,22 @@ RenderManager::~RenderManager()
 
 void RenderManager::ContextDestroyed()
 {
+  // Call Destroy for some items.
+  for(auto&& item : mImpl->frameBufferContainer)
+  {
+    if(DALI_LIKELY(item))
+    {
+      item->Destroy();
+    }
+  }
+  for(auto&& item : mImpl->textureContainer)
+  {
+    if(DALI_LIKELY(item))
+    {
+      item->Destroy();
+    }
+  }
+
   // Remove owned render context
   mImpl->ContextDestroyed();
 }