Index: cc/trees/thread_proxy.cc |
diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc |
index 5c6533a43745501937d9987bf48cff0cd98263ef..62992d7c064035fc66e281fe34a81167fc0fd27d 100644 |
--- a/cc/trees/thread_proxy.cc |
+++ b/cc/trees/thread_proxy.cc |
@@ -538,6 +538,12 @@ void ThreadProxy::SetNeedsRedrawOnImplThread() { |
scheduler_on_impl_thread_->SetNeedsRedraw(); |
} |
+void ThreadProxy::SetNeedsManageTilesOnImplThread() { |
+ DCHECK(IsImplThread()); |
+ TRACE_EVENT0("cc", "ThreadProxy::SetNeedsManageTilesOnImplThread"); |
+ scheduler_on_impl_thread_->SetNeedsManageTiles(); |
+} |
+ |
void ThreadProxy::SetNeedsRedrawRectOnImplThread(gfx::Rect damage_rect) { |
DCHECK(IsImplThread()); |
layer_tree_host_impl_->SetViewportDamage(damage_rect); |
@@ -1137,12 +1143,6 @@ DrawSwapReadbackResult ThreadProxy::DrawSwapReadbackInternal( |
50); |
} |
- // Update the tile state after drawing. This prevents manage tiles from |
- // being in the critical path for getting things on screen, but still |
- // makes sure that tile state is updated on a semi-regular basis. |
- if (layer_tree_host_impl_->settings().impl_side_painting) |
- layer_tree_host_impl_->ManageTiles(); |
- |
return result; |
} |
@@ -1187,6 +1187,13 @@ void ThreadProxy::ScheduledActionAcquireLayerTexturesForMainThread() { |
texture_acquisition_completion_event_on_impl_thread_ = NULL; |
} |
+void ThreadProxy::ScheduledActionManageTiles() { |
+ TRACE_EVENT0("cc", "ThreadProxy::ScheduledActionManageTiles"); |
+ // Only impl-side painting has threaded raster. |
+ if (layer_tree_host_impl_->settings().impl_side_painting) |
reveman
2013/09/11 15:27:45
nit: maybe move this conditional to LTHI where we
brianderson
2013/09/11 17:10:30
Should we also have a DCHECK to make sure SetNeeds
epennerAtGoogle
2013/09/11 18:43:00
Done.
epennerAtGoogle
2013/09/11 18:43:00
Done.
|
+ layer_tree_host_impl_->ManageTiles(); |
+} |
+ |
DrawSwapReadbackResult ThreadProxy::ScheduledActionDrawAndSwapIfPossible() { |
TRACE_EVENT0("cc", "ThreadProxy::ScheduledActionDrawAndSwap"); |
bool forced_draw = false; |