projects
/
platform
/
core
/
uifw
/
dali-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "[Tizen] Implement partial update"
[platform/core/uifw/dali-core.git]
/
dali
/
internal
/
update
/
manager
/
render-instruction-processor.cpp
diff --git
a/dali/internal/update/manager/render-instruction-processor.cpp
b/dali/internal/update/manager/render-instruction-processor.cpp
index
d1c332c
..
204a472
100644
(file)
--- a/
dali/internal/update/manager/render-instruction-processor.cpp
+++ b/
dali/internal/update/manager/render-instruction-processor.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 201
8
Samsung Electronics Co., Ltd.
+ * Copyright (c) 201
9
Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-408,6
+408,7
@@
void RenderInstructionProcessor::Prepare( BufferIndex updateBufferIndex,
renderTask.PrepareRenderInstruction( instruction, updateBufferIndex );
bool viewMatrixHasNotChanged = !renderTask.ViewMatrixUpdated();
bool isRenderListAdded = false;
renderTask.PrepareRenderInstruction( instruction, updateBufferIndex );
bool viewMatrixHasNotChanged = !renderTask.ViewMatrixUpdated();
bool isRenderListAdded = false;
+ bool isRootLayerDirty = false;
const Matrix& viewMatrix = renderTask.GetViewMatrix( updateBufferIndex );
SceneGraph::Camera& camera = renderTask.GetCamera();
const Matrix& viewMatrix = renderTask.GetViewMatrix( updateBufferIndex );
SceneGraph::Camera& camera = renderTask.GetCamera();
@@
-420,6
+421,12
@@
void RenderInstructionProcessor::Prepare( BufferIndex updateBufferIndex,
const bool isLayer3D = layer.GetBehavior() == Dali::Layer::LAYER_3D;
RenderList* renderList = NULL;
const bool isLayer3D = layer.GetBehavior() == Dali::Layer::LAYER_3D;
RenderList* renderList = NULL;
+ if( layer.IsRoot() && ( layer.GetDirtyFlags() != NodePropertyFlags::NOTHING ) )
+ {
+ // If root-layer & dirty, i.e. a property has changed or a child has been deleted, then we need to ensure we render once more
+ isRootLayerDirty = true;
+ }
+
if( !layer.colorRenderables.Empty() )
{
RenderableContainer& renderables = layer.colorRenderables;
if( !layer.colorRenderables.Empty() )
{
RenderableContainer& renderables = layer.colorRenderables;
@@
-468,7
+475,7
@@
void RenderInstructionProcessor::Prepare( BufferIndex updateBufferIndex,
// Inform the render instruction that all renderers have been added and this frame is complete.
instruction.UpdateCompleted();
// Inform the render instruction that all renderers have been added and this frame is complete.
instruction.UpdateCompleted();
- if( !isRenderListAdded && !instruction.mIsClearColorSet )
+ if( !isRenderListAdded && !instruction.mIsClearColorSet
&& !isRootLayerDirty
)
{
instructions.DiscardCurrentInstruction( updateBufferIndex );
}
{
instructions.DiscardCurrentInstruction( updateBufferIndex );
}