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

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

Issue 2655233006: cc : Clean up cc clip tree (Closed)
Patch Set: blink_tests Created 3 years, 9 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 2018 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 } 2029 }
2030 } 2030 }
2031 // Add an entry to the cache. 2031 // Add an entry to the cache.
2032 cached_data_.draw_transforms[transform_id].push_back(DrawTransformData()); 2032 cached_data_.draw_transforms[transform_id].push_back(DrawTransformData());
2033 DrawTransformData& data = cached_data_.draw_transforms[transform_id].back(); 2033 DrawTransformData& data = cached_data_.draw_transforms[transform_id].back();
2034 data.update_number = -1; 2034 data.update_number = -1;
2035 data.target_id = dest_id; 2035 data.target_id = dest_id;
2036 return data; 2036 return data;
2037 } 2037 }
2038 2038
2039 ClipRectData& PropertyTrees::FetchClipRectFromCache(int clip_id,
weiliangc 2017/03/14 22:04:30 Could we return pointer here to make cache miss mo
jaydasika 2017/03/16 20:33:31 I haven't tried it, so I don't know if it effects
2040 int target_id) {
2041 ClipNode* clip_node = clip_tree.Node(clip_id);
2042 for (auto& data : clip_node->cached_clip_rects) {
2043 if (data.target_id == target_id || data.target_id == -1)
2044 return data;
2045 }
2046 clip_node->cached_clip_rects.push_back(ClipRectData());
2047 return clip_node->cached_clip_rects.back();
2048 }
2049
2039 DrawTransforms& PropertyTrees::GetDrawTransforms(int transform_id, 2050 DrawTransforms& PropertyTrees::GetDrawTransforms(int transform_id,
2040 int effect_id) const { 2051 int effect_id) const {
2041 const EffectNode* effect_node = effect_tree.Node(effect_id); 2052 const EffectNode* effect_node = effect_tree.Node(effect_id);
2042 int dest_id = effect_node->transform_id; 2053 int dest_id = effect_node->transform_id;
2043 2054
2044 DrawTransformData& data = 2055 DrawTransformData& data =
2045 FetchDrawTransformsDataFromCache(transform_id, dest_id); 2056 FetchDrawTransformsDataFromCache(transform_id, dest_id);
2046 2057
2047 DCHECK(data.update_number != cached_data_.transform_tree_update_number || 2058 DCHECK(data.update_number != cached_data_.transform_tree_update_number ||
2048 data.target_id != EffectTree::kInvalidNodeId); 2059 data.target_id != EffectTree::kInvalidNodeId);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
2114 const EffectNode* effect_node = effect_tree.Node(effect_id); 2125 const EffectNode* effect_node = effect_tree.Node(effect_id);
2115 2126
2116 if (effect_node->surface_contents_scale.x() != 0.0 && 2127 if (effect_node->surface_contents_scale.x() != 0.0 &&
2117 effect_node->surface_contents_scale.y() != 0.0) 2128 effect_node->surface_contents_scale.y() != 0.0)
2118 screen_space_transform.Scale(1.0 / effect_node->surface_contents_scale.x(), 2129 screen_space_transform.Scale(1.0 / effect_node->surface_contents_scale.x(),
2119 1.0 / effect_node->surface_contents_scale.y()); 2130 1.0 / effect_node->surface_contents_scale.y());
2120 return screen_space_transform; 2131 return screen_space_transform;
2121 } 2132 }
2122 2133
2123 } // namespace cc 2134 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698