Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: cc/layer_tree_host_impl.cc

Issue 11414017: cc: handling debug settings in new LayerTreeDebugState structure (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: global and local hudLayerSettings in layerTreeHost Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/layer_tree_host_impl.cc
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
index 8c2df3c2052a7f927423534bf3c84204da99f5fc..388a78bdec76e86bdc5277f373c85a2f25945a55 100644
--- a/cc/layer_tree_host_impl.cc
+++ b/cc/layer_tree_host_impl.cc
@@ -12,7 +12,6 @@
#include "cc/damage_tracker.h"
#include "cc/debug_rect_history.h"
#include "cc/delay_based_time_source.h"
-#include "cc/font_atlas.h"
#include "cc/frame_rate_counter.h"
#include "cc/geometry.h"
#include "cc/gl_renderer.h"
@@ -402,10 +401,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->settings().showOccludingRects)
+ occlusionTracker.setOccludingScreenSpaceRectsContainer(&frame.occludingScreenSpaceRects);
+ if (m_hudLayerImpl->settings().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;
@@ -711,13 +712,13 @@ 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_hudLayerImpl->settings().showDebugInfo()) {
egraether 2012/11/20 21:30:30 prevent updating when nothing is displayed.
+ if (m_hudLayerImpl->settings().showDebugRects())
+ m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, frame.nonOccludingScreenSpaceRects, m_hudLayerImpl->settings());
m_hudLayerImpl->updateHudTexture(m_resourceProvider.get());
+ }
m_renderer->drawFrame(frame.renderPasses, frame.renderPassesById);

Powered by Google App Engine
This is Rietveld 408576698