Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(699)

Unified Diff: cc/layers/render_surface_impl.cc

Issue 2690753002: cc: Move render surface ownership from layers to the effect tree (Closed)
Patch Set: Only update surfaces when can_render_to_separate_surface changes Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | cc/trees/damage_tracker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/render_surface_impl.cc
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index d43f72396a12ef37f3c8d5a76dd987a7bf0eef68..fbc244ca1d0b9021a5cf62fab0a4c4f67aa83030 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -31,9 +31,10 @@
namespace cc {
-RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer)
- : layer_tree_impl_(owning_layer->layer_tree_impl()),
- stable_effect_id_(owning_layer->id()),
+RenderSurfaceImpl::RenderSurfaceImpl(LayerTreeImpl* layer_tree_impl,
+ int stable_effect_id)
+ : layer_tree_impl_(layer_tree_impl),
+ stable_effect_id_(stable_effect_id),
effect_tree_index_(EffectTree::kInvalidNodeId),
surface_property_changed_(false),
ancestor_property_changed_(false),
@@ -49,9 +50,8 @@ RenderSurfaceImpl::~RenderSurfaceImpl() {}
RenderSurfaceImpl* RenderSurfaceImpl::render_target() {
EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree;
EffectNode* node = effect_tree.Node(EffectTreeIndex());
- EffectNode* target_node = effect_tree.Node(node->target_id);
- if (target_node->id != EffectTree::kRootNodeId)
- return target_node->render_surface;
+ if (node->target_id != EffectTree::kRootNodeId)
+ return effect_tree.GetRenderSurface(node->target_id);
else
return this;
}
@@ -60,9 +60,8 @@ const RenderSurfaceImpl* RenderSurfaceImpl::render_target() const {
const EffectTree& effect_tree =
layer_tree_impl_->property_trees()->effect_tree;
const EffectNode* node = effect_tree.Node(EffectTreeIndex());
- const EffectNode* target_node = effect_tree.Node(node->target_id);
- if (target_node->id != EffectTree::kRootNodeId)
- return target_node->render_surface;
+ if (node->target_id != EffectTree::kRootNodeId)
+ return effect_tree.GetRenderSurface(node->target_id);
else
return this;
}
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | cc/trees/damage_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698