Chromium Code Reviews| 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_) |