| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index 69eb10bc8f3370fa110d4f2f11566e3f104072c9..26721ad38ee9a6119b7ff3d4aa3ef61aa2b06590 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -387,10 +387,12 @@ bool LayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
|
| OcclusionTrackerImpl occlusionTracker(m_rootLayerImpl->renderSurface()->contentRect(), recordMetricsForFrame);
|
| occlusionTracker.setMinimumTrackingSize(m_settings.minimumOcclusionTrackingSize);
|
|
|
| - if (settings().showOccludingRects)
|
| - occlusionTracker.setOccludingScreenSpaceRectsContainer(&frame.occludingScreenSpaceRects);
|
| - if (settings().showNonOccludingRects)
|
| - occlusionTracker.setNonOccludingScreenSpaceRectsContainer(&frame.nonOccludingScreenSpaceRects);
|
| + if (m_hudLayerImpl) {
|
| + if (m_hudLayerImpl->flags().showOccludingRects)
|
| + occlusionTracker.setOccludingScreenSpaceRectsContainer(&frame.occludingScreenSpaceRects);
|
| + if (m_hudLayerImpl->flags().showNonOccludingRects)
|
| + occlusionTracker.setNonOccludingScreenSpaceRectsContainer(&frame.nonOccludingScreenSpaceRects);
|
| + }
|
|
|
| // Add quads to the Render passes in FrontToBack order to allow for testing occlusion and performing culling during the tree walk.
|
| typedef LayerIterator<LayerImpl, std::vector<LayerImpl*>, RenderSurfaceImpl, LayerIteratorActions::FrontToBack> LayerIteratorType;
|
| @@ -694,13 +696,12 @@ void LayerTreeHostImpl::drawLayers(const FrameData& frame)
|
| // RenderWidget.
|
| m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now());
|
|
|
| - if (m_settings.showDebugRects())
|
| - m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, frame.nonOccludingScreenSpaceRects, settings());
|
| -
|
| // Because the contents of the HUD depend on everything else in the frame, the contents
|
| // of its texture are updated as the last thing before the frame is drawn.
|
| - if (m_hudLayerImpl)
|
| + if (m_hudLayerImpl) {
|
| + m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, frame.nonOccludingScreenSpaceRects, m_hudLayerImpl->flags());
|
| m_hudLayerImpl->updateHudTexture(m_resourceProvider.get());
|
| + }
|
|
|
| m_renderer->drawFrame(frame.renderPasses, frame.renderPassesById);
|
|
|
|
|