diff options
author | jbauman <jbauman@chromium.org> | 2014-11-17 19:54:39 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-18 03:55:15 +0000 |
commit | 8f4e45a0ab2dbfd4b73d80853fe00692fb4da3ae (patch) | |
tree | e2904ef52c4db597ee1d346c8893f192b2eff8c9 /cc/surfaces/surface_aggregator.h | |
parent | 3d85c6dd6a6540699d3baf583780577327a0cd13 (diff) | |
download | chromium_src-8f4e45a0ab2dbfd4b73d80853fe00692fb4da3ae.zip chromium_src-8f4e45a0ab2dbfd4b73d80853fe00692fb4da3ae.tar.gz chromium_src-8f4e45a0ab2dbfd4b73d80853fe00692fb4da3ae.tar.bz2 |
Release resources from Surfaces not aggregated in current frame.
If a SurfaceAggregator stops referencing a surface, it should return all the resources it's referencing to that child so they can be destroyed.
BUG=339257
Review URL: https://codereview.chromium.org/720083002
Cr-Commit-Position: refs/heads/master@{#304556}
Diffstat (limited to 'cc/surfaces/surface_aggregator.h')
-rw-r--r-- | cc/surfaces/surface_aggregator.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h index 31d35dd..aeeb590 100644 --- a/cc/surfaces/surface_aggregator.h +++ b/cc/surfaces/surface_aggregator.h @@ -52,6 +52,10 @@ class CC_SURFACES_EXPORT SurfaceAggregator { SurfaceId surface_id); void CopyPasses(const DelegatedFrameData* frame_data, Surface* surface); + // Remove Surfaces that were referenced before but aren't currently + // referenced from the ResourceProvider. + void RemoveUnreferencedChildren(); + bool TakeResources(Surface* surface, const DelegatedFrameData* frame_data, RenderPassList* render_pass_list); |