| 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 "cc/thread_proxy.h" | 5 #include "cc/thread_proxy.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 #include "cc/delay_based_time_source.h" | 9 #include "cc/delay_based_time_source.h" |
| 10 #include "cc/draw_quad.h" | 10 #include "cc/draw_quad.h" |
| (...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 { | 697 { |
| 698 TRACE_EVENT0("cc", "ThreadProxy::scheduledActionCommit"); | 698 TRACE_EVENT0("cc", "ThreadProxy::scheduledActionCommit"); |
| 699 DCHECK(isImplThread()); | 699 DCHECK(isImplThread()); |
| 700 DCHECK(m_commitCompletionEventOnImplThread); | 700 DCHECK(m_commitCompletionEventOnImplThread); |
| 701 DCHECK(m_currentResourceUpdateControllerOnImplThread); | 701 DCHECK(m_currentResourceUpdateControllerOnImplThread); |
| 702 | 702 |
| 703 // Complete all remaining texture updates. | 703 // Complete all remaining texture updates. |
| 704 m_currentResourceUpdateControllerOnImplThread->finalize(); | 704 m_currentResourceUpdateControllerOnImplThread->finalize(); |
| 705 m_currentResourceUpdateControllerOnImplThread.reset(); | 705 m_currentResourceUpdateControllerOnImplThread.reset(); |
| 706 | 706 |
| 707 // If there are linked evicted backings, these backings' resources may be pu
t into the | |
| 708 // impl tree, so we can't draw yet. Determine this before clearing all evict
ed backings. | |
| 709 bool newImplTreeHasNoEvictedResources = !m_layerTreeHost->contentsTextureMan
ager()->linkedEvictedBackingsExist(); | |
| 710 | |
| 711 m_layerTreeHostImpl->beginCommit(); | 707 m_layerTreeHostImpl->beginCommit(); |
| 712 m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get()); | 708 m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get()); |
| 713 m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get()); | 709 m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get()); |
| 714 | |
| 715 if (newImplTreeHasNoEvictedResources) { | |
| 716 if (m_layerTreeHostImpl->contentsTexturesPurged()) | |
| 717 m_layerTreeHostImpl->resetContentsTexturesPurged(); | |
| 718 } | |
| 719 | |
| 720 m_layerTreeHostImpl->commitComplete(); | 710 m_layerTreeHostImpl->commitComplete(); |
| 721 | 711 |
| 722 m_nextFrameIsNewlyCommittedFrameOnImplThread = true; | 712 m_nextFrameIsNewlyCommittedFrameOnImplThread = true; |
| 723 | 713 |
| 724 if (m_layerTreeHost->settings().implSidePainting && m_layerTreeHost->blocksP
endingCommit()) | 714 if (m_layerTreeHost->settings().implSidePainting && m_layerTreeHost->blocksP
endingCommit()) |
| 725 { | 715 { |
| 726 // For some layer types in impl-side painting, the commit is held until | 716 // For some layer types in impl-side painting, the commit is held until |
| 727 // the pending tree is activated. | 717 // the pending tree is activated. |
| 728 TRACE_EVENT_INSTANT0("cc", "HoldCommit"); | 718 TRACE_EVENT_INSTANT0("cc", "HoldCommit"); |
| 729 m_completionEventForCommitHeldOnTreeActivation = m_commitCompletionEvent
OnImplThread; | 719 m_completionEventForCommitHeldOnTreeActivation = m_commitCompletionEvent
OnImplThread; |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1071 } | 1061 } |
| 1072 | 1062 |
| 1073 void ThreadProxy::capturePictureOnImplThread(CompletionEvent* completion, skia::
RefPtr<SkPicture>* picture) | 1063 void ThreadProxy::capturePictureOnImplThread(CompletionEvent* completion, skia::
RefPtr<SkPicture>* picture) |
| 1074 { | 1064 { |
| 1075 DCHECK(isImplThread()); | 1065 DCHECK(isImplThread()); |
| 1076 *picture = m_layerTreeHostImpl->capturePicture(); | 1066 *picture = m_layerTreeHostImpl->capturePicture(); |
| 1077 completion->signal(); | 1067 completion->signal(); |
| 1078 } | 1068 } |
| 1079 | 1069 |
| 1080 } // namespace cc | 1070 } // namespace cc |
| OLD | NEW |