diff options
author | ajuma <ajuma@chromium.org> | 2015-09-04 07:20:20 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-04 14:20:59 +0000 |
commit | d301953f7a9c5ce542ebca832a26b234df81ce07 (patch) | |
tree | a6d230e387950e615d81969044d1573dfffd431b /cc/trees/draw_property_utils.h | |
parent | 1589a736b563ba3b5314a31f8d37be7dc3e79dc4 (diff) | |
download | chromium_src-d301953f7a9c5ce542ebca832a26b234df81ce07.zip chromium_src-d301953f7a9c5ce542ebca832a26b234df81ce07.tar.gz chromium_src-d301953f7a9c5ce542ebca832a26b234df81ce07.tar.bz2 |
cc: Avoid duplicate work when computing draw properties using property trees
This adds a ComputeLayerDrawPropertiesUsingPropertyTrees function and a
ComputeSurfaceDrawPropertiesUsingPropertyTrees function that compute
these properties together, avoiding re-computing values that are needed
by the computation of more than one property.
BUG=497817
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1310283002
Cr-Commit-Position: refs/heads/master@{#347400}
Diffstat (limited to 'cc/trees/draw_property_utils.h')
-rw-r--r-- | cc/trees/draw_property_utils.h | 80 |
1 files changed, 14 insertions, 66 deletions
diff --git a/cc/trees/draw_property_utils.h b/cc/trees/draw_property_utils.h index 889a9a8..1291e0f 100644 --- a/cc/trees/draw_property_utils.h +++ b/cc/trees/draw_property_utils.h @@ -16,8 +16,10 @@ class Transform; namespace cc { class ClipTree; +struct DrawProperties; class Layer; class LayerImpl; +struct RenderSurfaceDrawProperties; class RenderSurfaceImpl; class EffectTree; class TransformTree; @@ -74,24 +76,20 @@ ComputeVisibleRectsUsingPropertyTrees(LayerImpl* root_layer, PropertyTrees* property_trees, LayerImplList* update_layer_list); -gfx::Transform CC_EXPORT -DrawTransformFromPropertyTrees(const Layer* layer, const TransformTree& tree); - -gfx::Transform CC_EXPORT DrawTransformOfRenderSurfaceFromPropertyTrees( - const RenderSurfaceImpl* render_Surface, - const TransformTree& tree); +void CC_EXPORT ComputeLayerDrawPropertiesUsingPropertyTrees( + const LayerImpl* layer, + const PropertyTrees* property_trees, + bool layers_always_allowed_lcd_text, + bool can_use_lcd_text, + DrawProperties* draw_properties); -bool CC_EXPORT -RenderSurfaceIsClippedFromPropertyTrees(const RenderSurfaceImpl* render_surface, - const ClipTree& tree); +void CC_EXPORT ComputeSurfaceDrawPropertiesUsingPropertyTrees( + RenderSurfaceImpl* render_surface, + const PropertyTrees* property_trees, + RenderSurfaceDrawProperties* draw_properties); -gfx::Rect CC_EXPORT ClipRectOfRenderSurfaceFromPropertyTrees( - const RenderSurfaceImpl* render_surface, - const ClipTree& clip_tree); - -gfx::Transform CC_EXPORT ScreenSpaceTransformOfRenderSurfaceFromPropertyTrees( - const RenderSurfaceImpl* render_surface, - const TransformTree& tree); +gfx::Transform CC_EXPORT +DrawTransformFromPropertyTrees(const Layer* layer, const TransformTree& tree); gfx::Transform CC_EXPORT DrawTransformFromPropertyTrees(const LayerImpl* layer, @@ -105,56 +103,6 @@ gfx::Transform CC_EXPORT ScreenSpaceTransformFromPropertyTrees(const LayerImpl* layer, const TransformTree& tree); -bool CC_EXPORT -ScreenSpaceTransformIsAnimatingFromPropertyTrees(const Layer* layer, - const TransformTree& tree); - -bool CC_EXPORT -ScreenSpaceTransformIsAnimatingFromPropertyTrees(const LayerImpl* layer, - const TransformTree& tree); - -float CC_EXPORT -MaximumAnimationTargetScaleFromPropertyTrees(const LayerImpl* layer, - const TransformTree& tree); - -float CC_EXPORT -StartingAnimationScaleFromPropertyTrees(const LayerImpl* layer, - const TransformTree& tree); - -float CC_EXPORT DrawOpacityFromPropertyTrees(const LayerImpl* layer, - const EffectTree& tree); - -float CC_EXPORT -DrawOpacityOfRenderSurfaceFromPropertyTrees(RenderSurfaceImpl* render_surface, - const EffectTree& tree); - -bool CC_EXPORT -CanUseLcdTextFromPropertyTrees(const LayerImpl* layer, - bool layers_always_allowed_lcd_text, - bool can_use_lcd_text, - PropertyTrees* property_trees); - -gfx::Rect CC_EXPORT DrawableContentRectOfSurfaceFromPropertyTrees( - const RenderSurfaceImpl* render_surface, - const TransformTree& transform_tree); - -gfx::Rect CC_EXPORT -DrawableContentRectFromPropertyTrees(const LayerImpl* layer, - const TransformTree& transform_tree); - -gfx::Rect CC_EXPORT -ClipRectFromPropertyTrees(const LayerImpl* layer, - const TransformTree& transform_tree); - -gfx::Transform CC_EXPORT DrawTransformOfRenderSurfaceReplicaFromPropertyTrees( - const RenderSurfaceImpl* render_surface, - const TransformTree& tree); - -gfx::Transform CC_EXPORT -ScreenSpaceTransformOfRenderSurfaceReplicaFromPropertyTrees( - const RenderSurfaceImpl* render_surface, - const TransformTree& tree); - } // namespace cc #endif // CC_TREES_DRAW_PROPERTY_UTILS_H_ |