summaryrefslogtreecommitdiffstats
path: root/cc/trees/draw_property_utils.h
diff options
context:
space:
mode:
authorajuma <ajuma@chromium.org>2015-09-04 07:20:20 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-04 14:20:59 +0000
commitd301953f7a9c5ce542ebca832a26b234df81ce07 (patch)
treea6d230e387950e615d81969044d1573dfffd431b /cc/trees/draw_property_utils.h
parent1589a736b563ba3b5314a31f8d37be7dc3e79dc4 (diff)
downloadchromium_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.h80
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_