[Tizen] (Partial Update) Mark as invisible if the node is transparent
[platform/core/uifw/dali-core.git] / dali / internal / update / manager / render-instruction-processor.cpp
index c4c2655..b43b998 100644 (file)
@@ -194,7 +194,7 @@ inline void AddRendererToRenderList(BufferIndex         updateBufferIndex,
   Matrix  nodeModelViewMatrix(false);
   bool    nodeModelViewMatrixSet(false);
 
-  if(cull && renderable.mRenderer && !renderable.mRenderer->GetShader().HintEnabled(Dali::Shader::Hint::MODIFIES_GEOMETRY))
+  if(cull && renderable.mRenderer && !renderable.mRenderer->GetShader().HintEnabled(Dali::Shader::Hint::MODIFIES_GEOMETRY) && node->GetClippingMode() == ClippingMode::DISABLED)
   {
     const Vector4& boundingSphere = node->GetBoundingSphere();
     inside                        = (boundingSphere.w > Math::MACHINE_EPSILON_1000) &&
@@ -292,6 +292,13 @@ inline void AddRendererToRenderList(BufferIndex         updateBufferIndex,
       item.mIsUpdated = partialRenderingData.IsUpdated() || item.mIsUpdated;
       partialRenderingData.SwapBuffers();
     }
+    else
+    {
+      // Mark as invisible
+      auto& partialRenderingData    = node->GetPartialRenderingData();
+      partialRenderingData.mVisible = false;
+    }
+
     node->SetCulled(updateBufferIndex, false);
   }
   else