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

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

Issue 1994213002: cc: Update effect_tree backface visibility when transform is updated. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolve comments in unit test Created 4 years, 7 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
« no previous file with comments | « no previous file | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/draw_property_utils.h" 5 #include "cc/trees/draw_property_utils.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 LayerImpl* root_layer, 757 LayerImpl* root_layer,
758 PropertyTrees* property_trees, 758 PropertyTrees* property_trees,
759 bool can_render_to_separate_surface, 759 bool can_render_to_separate_surface,
760 LayerImplList* update_layer_list, 760 LayerImplList* update_layer_list,
761 std::vector<LayerImpl*>* visible_layer_list) { 761 std::vector<LayerImpl*>* visible_layer_list) {
762 if (property_trees->non_root_surfaces_enabled != 762 if (property_trees->non_root_surfaces_enabled !=
763 can_render_to_separate_surface) { 763 can_render_to_separate_surface) {
764 property_trees->non_root_surfaces_enabled = can_render_to_separate_surface; 764 property_trees->non_root_surfaces_enabled = can_render_to_separate_surface;
765 property_trees->transform_tree.set_needs_update(true); 765 property_trees->transform_tree.set_needs_update(true);
766 } 766 }
767 if (property_trees->transform_tree.needs_update()) 767 if (property_trees->transform_tree.needs_update()) {
768 property_trees->clip_tree.set_needs_update(true); 768 property_trees->clip_tree.set_needs_update(true);
769 property_trees->effect_tree.set_needs_update(true);
770 }
769 UpdateRenderTarget(&property_trees->effect_tree, 771 UpdateRenderTarget(&property_trees->effect_tree,
770 property_trees->non_root_surfaces_enabled); 772 property_trees->non_root_surfaces_enabled);
771 ComputeTransforms(&property_trees->transform_tree); 773 ComputeTransforms(&property_trees->transform_tree);
772 ComputeClips(&property_trees->clip_tree, property_trees->transform_tree, 774 ComputeClips(&property_trees->clip_tree, property_trees->transform_tree,
773 can_render_to_separate_surface); 775 can_render_to_separate_surface);
774 ComputeEffects(&property_trees->effect_tree); 776 ComputeEffects(&property_trees->effect_tree);
775 777
776 FindLayersThatNeedUpdates( 778 FindLayersThatNeedUpdates(
777 root_layer->layer_tree_impl(), property_trees->transform_tree, 779 root_layer->layer_tree_impl(), property_trees->transform_tree,
778 property_trees->effect_tree, update_layer_list, visible_layer_list); 780 property_trees->effect_tree, update_layer_list, visible_layer_list);
779 CalculateVisibleRects<LayerImpl>( 781 CalculateVisibleRects<LayerImpl>(
780 *visible_layer_list, property_trees->clip_tree, 782 *visible_layer_list, property_trees->clip_tree,
781 property_trees->transform_tree, can_render_to_separate_surface); 783 property_trees->transform_tree, can_render_to_separate_surface);
782 } 784 }
783 785
784 void UpdatePropertyTrees(PropertyTrees* property_trees, 786 void UpdatePropertyTrees(PropertyTrees* property_trees,
785 bool can_render_to_separate_surface) { 787 bool can_render_to_separate_surface) {
786 if (property_trees->non_root_surfaces_enabled != 788 if (property_trees->non_root_surfaces_enabled !=
787 can_render_to_separate_surface) { 789 can_render_to_separate_surface) {
788 property_trees->non_root_surfaces_enabled = can_render_to_separate_surface; 790 property_trees->non_root_surfaces_enabled = can_render_to_separate_surface;
789 property_trees->transform_tree.set_needs_update(true); 791 property_trees->transform_tree.set_needs_update(true);
790 } 792 }
791 if (property_trees->transform_tree.needs_update()) 793 if (property_trees->transform_tree.needs_update()) {
792 property_trees->clip_tree.set_needs_update(true); 794 property_trees->clip_tree.set_needs_update(true);
795 property_trees->effect_tree.set_needs_update(true);
796 }
793 ComputeTransforms(&property_trees->transform_tree); 797 ComputeTransforms(&property_trees->transform_tree);
794 ComputeClips(&property_trees->clip_tree, property_trees->transform_tree, 798 ComputeClips(&property_trees->clip_tree, property_trees->transform_tree,
795 can_render_to_separate_surface); 799 can_render_to_separate_surface);
796 ComputeEffects(&property_trees->effect_tree); 800 ComputeEffects(&property_trees->effect_tree);
797 } 801 }
798 802
799 void ComputeVisibleRectsForTesting(PropertyTrees* property_trees, 803 void ComputeVisibleRectsForTesting(PropertyTrees* property_trees,
800 bool can_render_to_separate_surface, 804 bool can_render_to_separate_surface,
801 LayerList* update_layer_list) { 805 LayerList* update_layer_list) {
802 CalculateVisibleRects<Layer>(*update_layer_list, property_trees->clip_tree, 806 CalculateVisibleRects<Layer>(*update_layer_list, property_trees->clip_tree,
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 void UpdateElasticOverscroll(PropertyTrees* property_trees, 1253 void UpdateElasticOverscroll(PropertyTrees* property_trees,
1250 const Layer* overscroll_elasticity_layer, 1254 const Layer* overscroll_elasticity_layer,
1251 const gfx::Vector2dF& elastic_overscroll) { 1255 const gfx::Vector2dF& elastic_overscroll) {
1252 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, 1256 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer,
1253 elastic_overscroll); 1257 elastic_overscroll);
1254 } 1258 }
1255 1259
1256 } // namespace draw_property_utils 1260 } // namespace draw_property_utils
1257 1261
1258 } // namespace cc 1262 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698