summaryrefslogtreecommitdiffstats
path: root/cc/surfaces/surface_aggregator.h
diff options
context:
space:
mode:
authorjbauman <jbauman@chromium.org>2014-11-17 19:54:39 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-18 03:55:15 +0000
commit8f4e45a0ab2dbfd4b73d80853fe00692fb4da3ae (patch)
treee2904ef52c4db597ee1d346c8893f192b2eff8c9 /cc/surfaces/surface_aggregator.h
parent3d85c6dd6a6540699d3baf583780577327a0cd13 (diff)
downloadchromium_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.h4
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);