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

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

Issue 2873593002: Force use of and cache render surface. (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "base/trace_event/trace_event_argument.h" 5 #include "base/trace_event/trace_event_argument.h"
6 #include "cc/layers/layer.h" 6 #include "cc/layers/layer.h"
7 #include "cc/trees/effect_node.h" 7 #include "cc/trees/effect_node.h"
8 #include "cc/trees/property_tree.h" 8 #include "cc/trees/property_tree.h"
9 9
10 namespace cc { 10 namespace cc {
11 11
12 EffectNode::EffectNode() 12 EffectNode::EffectNode()
13 : id(EffectTree::kInvalidNodeId), 13 : id(EffectTree::kInvalidNodeId),
14 parent_id(EffectTree::kInvalidNodeId), 14 parent_id(EffectTree::kInvalidNodeId),
15 owning_layer_id(Layer::INVALID_ID), 15 owning_layer_id(Layer::INVALID_ID),
16 opacity(1.f), 16 opacity(1.f),
17 screen_space_opacity(1.f), 17 screen_space_opacity(1.f),
18 blend_mode(SkBlendMode::kSrcOver), 18 blend_mode(SkBlendMode::kSrcOver),
19 has_render_surface(false), 19 has_render_surface(false),
20 force_render_surface(false),
20 has_copy_request(false), 21 has_copy_request(false),
21 hidden_by_backface_visibility(false), 22 hidden_by_backface_visibility(false),
22 double_sided(false), 23 double_sided(false),
23 is_drawn(true), 24 is_drawn(true),
24 subtree_hidden(false), 25 subtree_hidden(false),
25 has_potential_filter_animation(false), 26 has_potential_filter_animation(false),
26 has_potential_opacity_animation(false), 27 has_potential_opacity_animation(false),
27 is_currently_animating_filter(false), 28 is_currently_animating_filter(false),
28 is_currently_animating_opacity(false), 29 is_currently_animating_opacity(false),
29 effect_changed(false), 30 effect_changed(false),
30 subtree_has_copy_request(0), 31 subtree_has_copy_request(0),
31 transform_id(0), 32 transform_id(0),
32 clip_id(0), 33 clip_id(0),
33 target_id(1), 34 target_id(1),
34 mask_layer_id(-1), 35 mask_layer_id(-1),
35 closest_ancestor_with_copy_request_id(-1) {} 36 closest_ancestor_with_copy_request_id(-1) {}
36 37
37 EffectNode::EffectNode(const EffectNode& other) = default; 38 EffectNode::EffectNode(const EffectNode& other) = default;
38 39
39 bool EffectNode::operator==(const EffectNode& other) const { 40 bool EffectNode::operator==(const EffectNode& other) const {
40 return id == other.id && parent_id == other.parent_id && 41 return id == other.id && parent_id == other.parent_id &&
41 owning_layer_id == other.owning_layer_id && opacity == other.opacity && 42 owning_layer_id == other.owning_layer_id && opacity == other.opacity &&
42 screen_space_opacity == other.screen_space_opacity && 43 screen_space_opacity == other.screen_space_opacity &&
43 has_render_surface == other.has_render_surface && 44 has_render_surface == other.has_render_surface &&
45 force_render_surface == other.force_render_surface &&
44 has_copy_request == other.has_copy_request && 46 has_copy_request == other.has_copy_request &&
45 filters == other.filters && 47 filters == other.filters &&
46 background_filters == other.background_filters && 48 background_filters == other.background_filters &&
47 filters_origin == other.filters_origin && 49 filters_origin == other.filters_origin &&
48 blend_mode == other.blend_mode && 50 blend_mode == other.blend_mode &&
49 surface_contents_scale == other.surface_contents_scale && 51 surface_contents_scale == other.surface_contents_scale &&
50 unscaled_mask_target_size == other.unscaled_mask_target_size && 52 unscaled_mask_target_size == other.unscaled_mask_target_size &&
51 hidden_by_backface_visibility == other.hidden_by_backface_visibility && 53 hidden_by_backface_visibility == other.hidden_by_backface_visibility &&
52 double_sided == other.double_sided && is_drawn == other.is_drawn && 54 double_sided == other.double_sided && is_drawn == other.is_drawn &&
53 subtree_hidden == other.subtree_hidden && 55 subtree_hidden == other.subtree_hidden &&
(...skipping 11 matching lines...) Expand all
65 closest_ancestor_with_copy_request_id == 67 closest_ancestor_with_copy_request_id ==
66 other.closest_ancestor_with_copy_request_id; 68 other.closest_ancestor_with_copy_request_id;
67 } 69 }
68 70
69 void EffectNode::AsValueInto(base::trace_event::TracedValue* value) const { 71 void EffectNode::AsValueInto(base::trace_event::TracedValue* value) const {
70 value->SetInteger("id", id); 72 value->SetInteger("id", id);
71 value->SetInteger("parent_id", parent_id); 73 value->SetInteger("parent_id", parent_id);
72 value->SetInteger("owning_layer_id", owning_layer_id); 74 value->SetInteger("owning_layer_id", owning_layer_id);
73 value->SetDouble("opacity", opacity); 75 value->SetDouble("opacity", opacity);
74 value->SetBoolean("has_render_surface", has_render_surface); 76 value->SetBoolean("has_render_surface", has_render_surface);
77 value->SetBoolean("force_render_surface", force_render_surface);
75 value->SetBoolean("has_copy_request", has_copy_request); 78 value->SetBoolean("has_copy_request", has_copy_request);
76 value->SetBoolean("double_sided", double_sided); 79 value->SetBoolean("double_sided", double_sided);
77 value->SetBoolean("is_drawn", is_drawn); 80 value->SetBoolean("is_drawn", is_drawn);
78 value->SetBoolean("has_potential_filter_animation", 81 value->SetBoolean("has_potential_filter_animation",
79 has_potential_filter_animation); 82 has_potential_filter_animation);
80 value->SetBoolean("has_potential_opacity_animation", 83 value->SetBoolean("has_potential_opacity_animation",
81 has_potential_opacity_animation); 84 has_potential_opacity_animation);
82 value->SetBoolean("effect_changed", effect_changed); 85 value->SetBoolean("effect_changed", effect_changed);
83 value->SetInteger("subtree_has_copy_request", subtree_has_copy_request); 86 value->SetInteger("subtree_has_copy_request", subtree_has_copy_request);
84 value->SetInteger("transform_id", transform_id); 87 value->SetInteger("transform_id", transform_id);
85 value->SetInteger("clip_id", clip_id); 88 value->SetInteger("clip_id", clip_id);
86 value->SetInteger("target_id", target_id); 89 value->SetInteger("target_id", target_id);
87 value->SetInteger("mask_layer_id", mask_layer_id); 90 value->SetInteger("mask_layer_id", mask_layer_id);
88 value->SetInteger("closest_ancestor_with_copy_request_id", 91 value->SetInteger("closest_ancestor_with_copy_request_id",
89 closest_ancestor_with_copy_request_id); 92 closest_ancestor_with_copy_request_id);
90 } 93 }
91 94
92 } // namespace cc 95 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698