Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index fe85134336c21be3891e6fa31f9b5cb0285e7c4f..82328c94c7ca44c6f0f053d7adf399ce3eabd4b5 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -291,6 +291,12 @@ void LayerTreeHostImpl::BeginMainFrameAborted(CommitEarlyOutReason reason) { |
void LayerTreeHostImpl::BeginCommit() { |
TRACE_EVENT0("cc", "LayerTreeHostImpl::BeginCommit"); |
+ // Ensure all textures are returned so partial texture updates can happen |
+ // during the commit. Impl-side-painting doesn't upload during commits, so |
+ // is unaffected. |
+ if (!settings_.impl_side_painting) |
+ output_surface_->ForceReclaimResources(); |
+ |
if (UsePendingTreeForSync()) |
CreatePendingTree(); |
} |