Chromium Code Reviews| Index: cc/surfaces/surface_aggregator.h |
| diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h |
| index 17ea4c4312560ae9b5b96b83d478f07357658a51..b9a91e99f5785f70a3f927ac2419181eef0e710c 100644 |
| --- a/cc/surfaces/surface_aggregator.h |
| +++ b/cc/surfaces/surface_aggregator.h |
| @@ -29,7 +29,9 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
| public: |
| typedef base::hash_map<SurfaceId, int> SurfaceIndexMap; |
| - SurfaceAggregator(SurfaceManager* manager, ResourceProvider* provider); |
| + SurfaceAggregator(SurfaceManager* manager, |
| + ResourceProvider* provider, |
| + bool aggregate_only_damaged); |
| ~SurfaceAggregator(); |
| scoped_ptr<CompositorFrame> Aggregate(SurfaceId surface_id); |
| @@ -60,10 +62,10 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
| const gfx::Transform& target_transform, |
| const ClipData& clip_rect, |
| RenderPass* dest_pass); |
| - void CopySharedQuadState(const SharedQuadState* source_sqs, |
| - const gfx::Transform& target_transform, |
| - const ClipData& clip_rect, |
| - RenderPass* dest_render_pass); |
| + SharedQuadState* CopySharedQuadState(const SharedQuadState* source_sqs, |
| + const gfx::Transform& target_transform, |
| + const ClipData& clip_rect, |
| + RenderPass* dest_render_pass); |
| void CopyQuadsToPass( |
| const QuadList& source_quad_list, |
| const SharedQuadStateList& source_shared_quad_state_list, |
| @@ -72,7 +74,7 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
| const ClipData& clip_rect, |
| RenderPass* dest_pass, |
| SurfaceId surface_id); |
| - gfx::Rect ValidateAndCalculateDamageRect(SurfaceId surface_id); |
| + gfx::Rect PrewalkTree(SurfaceId surface_id); |
| void CopyPasses(const DelegatedFrameData* frame_data, Surface* surface); |
| // Remove Surfaces that were referenced before but aren't currently |
| @@ -92,6 +94,7 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
| RenderPassIdAllocatorMap; |
| RenderPassIdAllocatorMap render_pass_allocator_map_; |
| int next_render_pass_id_; |
| + const bool aggregate_only_damaged_; |
| typedef base::hash_map<SurfaceId, int> SurfaceToResourceChildIdMap; |
| SurfaceToResourceChildIdMap surface_id_to_resource_child_id_; |
| @@ -116,6 +119,11 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
| // This is the pass list for the aggregated frame. |
| RenderPassList* dest_pass_list_; |
| + // The root damage rect of the currently-aggregating frame. |
| + gfx::Rect root_damage_rect_; |
| + |
| + bool has_copy_requests_; |
|
danakj
2015/07/13 20:15:15
Can you comment about the lifetime/use of this var
|
| + |
| // Resource list for the aggregated frame. |
| TransferableResourceArray* dest_resource_list_; |