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

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 2873593002: Force use of and cache render surface. (Closed)
Patch Set: Calculate damage of |force_render_surface|. Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 597
598 static inline bool DoubleSided(Layer* layer) { 598 static inline bool DoubleSided(Layer* layer) {
599 return layer->double_sided(); 599 return layer->double_sided();
600 } 600 }
601 601
602 static inline bool DoubleSided(LayerImpl* layer) { 602 static inline bool DoubleSided(LayerImpl* layer) {
603 return layer->test_properties()->double_sided; 603 return layer->test_properties()->double_sided;
604 } 604 }
605 605
606 static inline bool ForceRenderSurface(Layer* layer) { 606 static inline bool ForceRenderSurface(Layer* layer) {
607 return layer->force_render_surface_for_testing(); 607 return layer->force_render_surface();
608 } 608 }
609 609
610 static inline bool ForceRenderSurface(LayerImpl* layer) { 610 static inline bool ForceRenderSurface(LayerImpl* layer) {
611 return layer->test_properties()->force_render_surface; 611 return layer->test_properties()->force_render_surface;
612 } 612 }
613 613
614 template <typename LayerType> 614 template <typename LayerType>
615 static inline bool LayerIsInExisting3DRenderingContext(LayerType* layer) { 615 static inline bool LayerIsInExisting3DRenderingContext(LayerType* layer) {
616 return Is3dSorted(layer) && Parent(layer) && Is3dSorted(Parent(layer)) && 616 return Is3dSorted(layer) && Parent(layer) && Is3dSorted(Parent(layer)) &&
617 (SortingContextId(Parent(layer)) == SortingContextId(layer)); 617 (SortingContextId(Parent(layer)) == SortingContextId(layer));
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 908
909 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; 909 EffectTree& effect_tree = data_for_children->property_trees->effect_tree;
910 int node_id = effect_tree.Insert(EffectNode(), parent_id); 910 int node_id = effect_tree.Insert(EffectNode(), parent_id);
911 EffectNode* node = effect_tree.back(); 911 EffectNode* node = effect_tree.back();
912 912
913 node->owning_layer_id = layer->id(); 913 node->owning_layer_id = layer->id();
914 node->opacity = Opacity(layer); 914 node->opacity = Opacity(layer);
915 node->blend_mode = BlendMode(layer); 915 node->blend_mode = BlendMode(layer);
916 node->unscaled_mask_target_size = layer->bounds(); 916 node->unscaled_mask_target_size = layer->bounds();
917 node->has_render_surface = should_create_render_surface; 917 node->has_render_surface = should_create_render_surface;
918 node->force_render_surface = ForceRenderSurface(layer);
918 node->has_copy_request = HasCopyRequest(layer); 919 node->has_copy_request = HasCopyRequest(layer);
919 node->filters = Filters(layer); 920 node->filters = Filters(layer);
920 node->background_filters = BackgroundFilters(layer); 921 node->background_filters = BackgroundFilters(layer);
921 node->filters_origin = FiltersOrigin(layer); 922 node->filters_origin = FiltersOrigin(layer);
922 node->has_potential_opacity_animation = has_potential_opacity_animation; 923 node->has_potential_opacity_animation = has_potential_opacity_animation;
923 node->has_potential_filter_animation = has_potential_filter_animation; 924 node->has_potential_filter_animation = has_potential_filter_animation;
924 node->double_sided = DoubleSided(layer); 925 node->double_sided = DoubleSided(layer);
925 node->subtree_hidden = HideLayerAndSubtree(layer); 926 node->subtree_hidden = HideLayerAndSubtree(layer);
926 node->is_currently_animating_opacity = OpacityIsAnimating(layer); 927 node->is_currently_animating_opacity = OpacityIsAnimating(layer);
927 node->is_currently_animating_filter = FilterIsAnimating(layer); 928 node->is_currently_animating_filter = FilterIsAnimating(layer);
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1389 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1389 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1390 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1390 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1391 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1391 device_transform, property_trees, color); 1392 device_transform, property_trees, color);
1392 property_trees->effect_tree.CreateOrReuseRenderSurfaces( 1393 property_trees->effect_tree.CreateOrReuseRenderSurfaces(
1393 &render_surfaces, root_layer->layer_tree_impl()); 1394 &render_surfaces, root_layer->layer_tree_impl());
1394 property_trees->ResetCachedData(); 1395 property_trees->ResetCachedData();
1395 } 1396 }
1396 1397
1397 } // namespace cc 1398 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698