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 bb1be9856d093663f5533a2c4a6cff40c0a50cfd..90cf216cbdd0472445a477c51e172271fbd4ffb1 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -328,7 +328,7 @@ void LayerTreeHostImpl::CommitComplete() { |
// more lazily when needed prior to drawing. |
sync_tree()->UpdateDrawProperties(); |
// Start working on newly created tiles immediately if needed. |
- if (tile_manager_ && tile_priorities_dirty_) |
+ if (tile_manager_ && tile_priorities_dirty_ && !use_gpu_rasterization_) |
vmiura
2014/11/20 02:27:11
Remove check for use_gpu_rasterization_, as we che
vmiura
2014/11/20 02:53:45
I take that back, since we need to run the "else"
|
ManageTiles(); |
else |
NotifyReadyToActivate(); |
@@ -402,11 +402,23 @@ void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time) { |
AnimateTopControls(monotonic_time); |
} |
+void LayerTreeHostImpl::RasterizeTiles() { |
+ if (!tile_manager_) |
+ return; |
+ if (!tile_priorities_dirty_) |
+ return; |
+ |
+ tile_priorities_dirty_ = false; |
+ tile_manager_->RasterizeTiles(global_tile_state_); |
+} |
+ |
void LayerTreeHostImpl::ManageTiles() { |
if (!tile_manager_) |
return; |
if (!tile_priorities_dirty_) |
return; |
+ if (use_gpu_rasterization_) |
+ return; |
tile_priorities_dirty_ = false; |
tile_manager_->ManageTiles(global_tile_state_); |
@@ -1044,6 +1056,9 @@ DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) { |
bool ok = active_tree_->UpdateDrawProperties(); |
DCHECK(ok) << "UpdateDrawProperties failed during draw"; |
+ if (use_gpu_rasterization_) |
+ RasterizeTiles(); |
brianderson
2014/11/20 02:40:19
Should we only RasterizeTiles if draw_result == DR
reveman
2014/11/20 15:20:59
How you considered rasterizing at draw time instea
vmiura
2014/11/20 18:28:57
I put it here in the prototype as it needs to be d
reveman
2014/11/20 19:07:54
Why before CalculateRenderPasses()?
|
+ |
frame->render_surface_layer_list = &active_tree_->RenderSurfaceLayerList(); |
frame->render_passes.clear(); |
frame->render_passes_by_id.clear(); |
@@ -1835,7 +1850,7 @@ void LayerTreeHostImpl::SetVisible(bool visible) { |
// Evict tiles immediately if invisible since this tab may never get another |
// draw or timer tick. |
- if (!visible_) |
+ if (!visible_ && !use_gpu_rasterization_) |
vmiura
2014/11/20 02:27:11
Remove check for use_gpu_rasterization_, as we che
|
ManageTiles(); |
if (!renderer_) |