OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "CCLayerTreeHostImpl.h" | 7 #include "CCLayerTreeHostImpl.h" |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "CCAppendQuadsData.h" | 10 #include "CCAppendQuadsData.h" |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 | 257 |
258 void CCLayerTreeHostImpl::FrameData::appendRenderPass(scoped_ptr<CCRenderPass> r
enderPass) | 258 void CCLayerTreeHostImpl::FrameData::appendRenderPass(scoped_ptr<CCRenderPass> r
enderPass) |
259 { | 259 { |
260 CCRenderPass* pass = renderPass.get(); | 260 CCRenderPass* pass = renderPass.get(); |
261 renderPasses.push_back(pass); | 261 renderPasses.push_back(pass); |
262 renderPassesById.set(pass->id(), renderPass.Pass()); | 262 renderPassesById.set(pass->id(), renderPass.Pass()); |
263 } | 263 } |
264 | 264 |
265 bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame) | 265 bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame) |
266 { | 266 { |
267 ASSERT(!frame.renderPasses.size()); | 267 ASSERT(frame.renderPasses.empty()); |
268 | 268 |
269 calculateRenderSurfaceLayerList(*frame.renderSurfaceLayerList); | 269 calculateRenderSurfaceLayerList(*frame.renderSurfaceLayerList); |
270 | 270 |
271 TRACE_EVENT1("cc", "CCLayerTreeHostImpl::calculateRenderPasses", "renderSurf
aceLayerList.size()", static_cast<long long unsigned>(frame.renderSurfaceLayerLi
st->size())); | 271 TRACE_EVENT1("cc", "CCLayerTreeHostImpl::calculateRenderPasses", "renderSurf
aceLayerList.size()", static_cast<long long unsigned>(frame.renderSurfaceLayerLi
st->size())); |
272 | 272 |
273 // Create the render passes in dependency order. | 273 // Create the render passes in dependency order. |
274 for (int surfaceIndex = frame.renderSurfaceLayerList->size() - 1; surfaceInd
ex >= 0 ; --surfaceIndex) { | 274 for (int surfaceIndex = frame.renderSurfaceLayerList->size() - 1; surfaceInd
ex >= 0 ; --surfaceIndex) { |
275 CCLayerImpl* renderSurfaceLayer = (*frame.renderSurfaceLayerList)[surfac
eIndex]; | 275 CCLayerImpl* renderSurfaceLayer = (*frame.renderSurfaceLayerList)[surfac
eIndex]; |
276 renderSurfaceLayer->renderSurface()->appendRenderPasses(frame); | 276 renderSurfaceLayer->renderSurface()->appendRenderPasses(frame); |
277 } | 277 } |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 | 549 |
550 void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou
ble intervalInSeconds) | 550 void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou
ble intervalInSeconds) |
551 { | 551 { |
552 m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds); | 552 m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds); |
553 } | 553 } |
554 | 554 |
555 void CCLayerTreeHostImpl::drawLayers(const FrameData& frame) | 555 void CCLayerTreeHostImpl::drawLayers(const FrameData& frame) |
556 { | 556 { |
557 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers"); | 557 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers"); |
558 ASSERT(canDraw()); | 558 ASSERT(canDraw()); |
559 ASSERT(frame.renderPasses.size()); | 559 ASSERT(!frame.renderPasses.empty()); |
560 | 560 |
561 // FIXME: use the frame begin time from the overall compositor scheduler. | 561 // FIXME: use the frame begin time from the overall compositor scheduler. |
562 // This value is currently inaccessible because it is up in Chromium's | 562 // This value is currently inaccessible because it is up in Chromium's |
563 // RenderWidget. | 563 // RenderWidget. |
564 m_fpsCounter->markBeginningOfFrame(currentTime()); | 564 m_fpsCounter->markBeginningOfFrame(currentTime()); |
565 | 565 |
566 if (m_settings.showDebugRects()) | 566 if (m_settings.showDebugRects()) |
567 m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(),
*frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, settings()); | 567 m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(),
*frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, settings()); |
568 | 568 |
569 // Because the contents of the HUD depend on everything else in the frame, t
he contents | 569 // Because the contents of the HUD depend on everything else in the frame, t
he contents |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1322 | 1322 |
1323 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat
ionController(); | 1323 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat
ionController(); |
1324 if (scrollbarController && scrollbarController->animate(monotonicTime)) | 1324 if (scrollbarController && scrollbarController->animate(monotonicTime)) |
1325 m_client->setNeedsRedrawOnImplThread(); | 1325 m_client->setNeedsRedrawOnImplThread(); |
1326 | 1326 |
1327 for (size_t i = 0; i < layer->children().size(); ++i) | 1327 for (size_t i = 0; i < layer->children().size(); ++i) |
1328 animateScrollbarsRecursive(layer->children()[i], monotonicTime); | 1328 animateScrollbarsRecursive(layer->children()[i], monotonicTime); |
1329 } | 1329 } |
1330 | 1330 |
1331 } // namespace cc | 1331 } // namespace cc |
OLD | NEW |