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

Side by Side Diff: cc/CCThreadProxy.cpp

Issue 10933095: cc: Remove resource updates from scheduler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "CCThreadProxy.h" 7 #include "CCThreadProxy.h"
8 8
9 #include "CCDelayBasedTimeSource.h" 9 #include "CCDelayBasedTimeSource.h"
10 #include "CCDrawQuad.h" 10 #include "CCDrawQuad.h"
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 m_resetContentsTexturesPurgedAfterCommitOnImplThread = true; 586 m_resetContentsTexturesPurgedAfterCommitOnImplThread = true;
587 } else if (m_layerTreeHostImpl->contentsTexturesPurged()) { 587 } else if (m_layerTreeHostImpl->contentsTexturesPurged()) {
588 // We purged the content textures on the impl thread between the time we 588 // We purged the content textures on the impl thread between the time we
589 // posted the beginFrame task and now, meaning we have a bunch of 589 // posted the beginFrame task and now, meaning we have a bunch of
590 // uploads that are now invalid. Clear the uploads (they all go to 590 // uploads that are now invalid. Clear the uploads (they all go to
591 // content textures), and kick another commit to fill them again. 591 // content textures), and kick another commit to fill them again.
592 queue->clearUploads(); 592 queue->clearUploads();
593 setNeedsCommitOnImplThread(); 593 setNeedsCommitOnImplThread();
594 } 594 }
595 595
596 bool hasResourceUpdates = queue->hasMoreUpdates(); 596 m_currentTextureUpdateControllerOnImplThread = CCTextureUpdateController::cr eate(this, CCProxy::implThread(), queue, m_layerTreeHostImpl->resourceProvider() , m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->rendere r()->textureUploader());
597 if (hasResourceUpdates) 597 m_currentTextureUpdateControllerOnImplThread->start();
598 m_currentTextureUpdateControllerOnImplThread = CCTextureUpdateController ::create(this, CCProxy::implThread(), queue, m_layerTreeHostImpl->resourceProvid er(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->ren derer()->textureUploader()); 598
599 m_commitCompletionEventOnImplThread = completion; 599 m_commitCompletionEventOnImplThread = completion;
600
601 m_schedulerOnImplThread->beginFrameComplete(hasResourceUpdates);
602 } 600 }
603 601
604 void CCThreadProxy::beginFrameAbortedOnImplThread() 602 void CCThreadProxy::beginFrameAbortedOnImplThread()
605 { 603 {
606 TRACE_EVENT0("cc", "CCThreadProxy::beginFrameAbortedOnImplThread"); 604 TRACE_EVENT0("cc", "CCThreadProxy::beginFrameAbortedOnImplThread");
607 ASSERT(isImplThread()); 605 ASSERT(isImplThread());
608 ASSERT(m_schedulerOnImplThread); 606 ASSERT(m_schedulerOnImplThread);
609 ASSERT(m_schedulerOnImplThread->commitPending()); 607 ASSERT(m_schedulerOnImplThread->commitPending());
610 608
611 m_schedulerOnImplThread->beginFrameAborted(); 609 m_schedulerOnImplThread->beginFrameAborted();
612 } 610 }
613 611
614 void CCThreadProxy::scheduledActionUpdateMoreResources(double monotonicTimeLimit ) 612 void CCThreadProxy::scheduledActionUpdateMoreResources(double)
jamesr 2012/09/17 06:57:38 why is this function still here? what's it do?
reveman 2012/09/17 15:32:52 Nothing. As I mentioned in my initial comment, the
615 { 613 {
616 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionUpdateMoreResources"); 614 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionUpdateMoreResources");
617 ASSERT(m_currentTextureUpdateControllerOnImplThread);
618 m_currentTextureUpdateControllerOnImplThread->updateMoreTextures(monotonicTi meLimit);
619 } 615 }
620 616
621 void CCThreadProxy::scheduledActionCommit() 617 void CCThreadProxy::scheduledActionCommit()
622 { 618 {
623 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionCommit"); 619 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionCommit");
624 ASSERT(isImplThread()); 620 ASSERT(isImplThread());
625 ASSERT(m_commitCompletionEventOnImplThread); 621 ASSERT(m_commitCompletionEventOnImplThread);
622 ASSERT(m_currentTextureUpdateControllerOnImplThread);
626 623
624 // Complete remaining updates.
625 m_currentTextureUpdateControllerOnImplThread->updateAllTexturesNow();
627 m_currentTextureUpdateControllerOnImplThread.clear(); 626 m_currentTextureUpdateControllerOnImplThread.clear();
628 627
629 m_layerTreeHostImpl->beginCommit(); 628 m_layerTreeHostImpl->beginCommit();
630 629
631 m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get()); 630 m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get());
632 m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get()); 631 m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get());
633 632
634 if (m_resetContentsTexturesPurgedAfterCommitOnImplThread) { 633 if (m_resetContentsTexturesPurgedAfterCommitOnImplThread) {
635 m_resetContentsTexturesPurgedAfterCommitOnImplThread = false; 634 m_resetContentsTexturesPurgedAfterCommitOnImplThread = false;
636 m_layerTreeHostImpl->resetContentsTexturesPurged(); 635 m_layerTreeHostImpl->resetContentsTexturesPurged();
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 } 756 }
758 757
759 CCScheduledActionDrawAndSwapResult CCThreadProxy::scheduledActionDrawAndSwapForc ed() 758 CCScheduledActionDrawAndSwapResult CCThreadProxy::scheduledActionDrawAndSwapForc ed()
760 { 759 {
761 return scheduledActionDrawAndSwapInternal(true); 760 return scheduledActionDrawAndSwapInternal(true);
762 } 761 }
763 762
764 void CCThreadProxy::updateTexturesCompleted() 763 void CCThreadProxy::updateTexturesCompleted()
765 { 764 {
766 ASSERT(isImplThread()); 765 ASSERT(isImplThread());
767 m_schedulerOnImplThread->updateResourcesComplete(); 766 m_schedulerOnImplThread->beginFrameComplete(false);
768 } 767 }
769 768
770 void CCThreadProxy::didCommitAndDrawFrame() 769 void CCThreadProxy::didCommitAndDrawFrame()
771 { 770 {
772 ASSERT(isMainThread()); 771 ASSERT(isMainThread());
773 if (!m_layerTreeHost) 772 if (!m_layerTreeHost)
774 return; 773 return;
775 m_layerTreeHost->didCommitAndDrawFrame(); 774 m_layerTreeHost->didCommitAndDrawFrame();
776 } 775 }
777 776
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 } 912 }
914 913
915 void CCThreadProxy::implSideRenderingStatsOnImplThread(CCCompletionEvent* comple tion, CCRenderingStats* stats) 914 void CCThreadProxy::implSideRenderingStatsOnImplThread(CCCompletionEvent* comple tion, CCRenderingStats* stats)
916 { 915 {
917 ASSERT(isImplThread()); 916 ASSERT(isImplThread());
918 m_layerTreeHostImpl->renderingStats(*stats); 917 m_layerTreeHostImpl->renderingStats(*stats);
919 completion->signal(); 918 completion->signal();
920 } 919 }
921 920
922 } // namespace WebCore 921 } // namespace WebCore
OLDNEW
« cc/CCTextureUpdateController.cpp ('K') | « cc/CCTextureUpdateControllerTest.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698