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

Side by Side Diff: cc/thread_proxy.cc

Issue 11879012: cc: Redraw incomplete frames when new texture uploads finish (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@decouple_draw3b
Patch Set: Created 7 years, 11 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
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 "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 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 return m_commitRequested; 433 return m_commitRequested;
434 } 434 }
435 435
436 void ThreadProxy::setNeedsRedrawOnImplThread() 436 void ThreadProxy::setNeedsRedrawOnImplThread()
437 { 437 {
438 DCHECK(isImplThread()); 438 DCHECK(isImplThread());
439 TRACE_EVENT0("cc", "ThreadProxy::setNeedsRedrawOnImplThread"); 439 TRACE_EVENT0("cc", "ThreadProxy::setNeedsRedrawOnImplThread");
440 m_schedulerOnImplThread->setNeedsRedraw(); 440 m_schedulerOnImplThread->setNeedsRedraw();
441 } 441 }
442 442
443 void ThreadProxy::setNeedsRedrawOnVisibleTextureUploadOnImplThread()
444 {
445 m_schedulerOnImplThread->setNeedsRedrawOnVisibleTextureUpload();
446 }
447
443 void ThreadProxy::mainThreadHasStoppedFlinging() 448 void ThreadProxy::mainThreadHasStoppedFlinging()
444 { 449 {
445 if (m_inputHandlerOnImplThread) 450 if (m_inputHandlerOnImplThread)
446 m_inputHandlerOnImplThread->mainThreadHasStoppedFlinging(); 451 m_inputHandlerOnImplThread->mainThreadHasStoppedFlinging();
447 } 452 }
448 453
449 void ThreadProxy::start() 454 void ThreadProxy::start()
450 { 455 {
451 DCHECK(isMainThread()); 456 DCHECK(isMainThread());
452 DCHECK(Proxy::implThread()); 457 DCHECK(Proxy::implThread());
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 ScheduledActionDrawAndSwapResult ThreadProxy::scheduledActionDrawAndSwapIfPossib le() 846 ScheduledActionDrawAndSwapResult ThreadProxy::scheduledActionDrawAndSwapIfPossib le()
842 { 847 {
843 return scheduledActionDrawAndSwapInternal(false); 848 return scheduledActionDrawAndSwapInternal(false);
844 } 849 }
845 850
846 ScheduledActionDrawAndSwapResult ThreadProxy::scheduledActionDrawAndSwapForced() 851 ScheduledActionDrawAndSwapResult ThreadProxy::scheduledActionDrawAndSwapForced()
847 { 852 {
848 return scheduledActionDrawAndSwapInternal(true); 853 return scheduledActionDrawAndSwapInternal(true);
849 } 854 }
850 855
856 void ThreadProxy::scheduledActionCheckForNewVisibleTextures()
857 {
858 if (m_layerTreeHostImpl->checkForCompletedSetPixels())
859 m_schedulerOnImplThread->setNeedsRedraw();
860 else
861 m_schedulerOnImplThread->setNeedsRedrawOnVisibleTextureUpload();
862 }
863
851 void ThreadProxy::didAnticipatedDrawTimeChange(base::TimeTicks time) 864 void ThreadProxy::didAnticipatedDrawTimeChange(base::TimeTicks time)
852 { 865 {
853 if (!m_currentResourceUpdateControllerOnImplThread) 866 if (!m_currentResourceUpdateControllerOnImplThread)
854 return; 867 return;
855 868
856 m_currentResourceUpdateControllerOnImplThread->performMoreUpdates(time); 869 m_currentResourceUpdateControllerOnImplThread->performMoreUpdates(time);
857 } 870 }
858 871
859 void ThreadProxy::readyToFinalizeTextureUpdates() 872 void ThreadProxy::readyToFinalizeTextureUpdates()
860 { 873 {
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 } 1056 }
1044 1057
1045 void ThreadProxy::capturePictureOnImplThread(CompletionEvent* completion, skia:: RefPtr<SkPicture>* picture) 1058 void ThreadProxy::capturePictureOnImplThread(CompletionEvent* completion, skia:: RefPtr<SkPicture>* picture)
1046 { 1059 {
1047 DCHECK(isImplThread()); 1060 DCHECK(isImplThread());
1048 *picture = m_layerTreeHostImpl->capturePicture(); 1061 *picture = m_layerTreeHostImpl->capturePicture();
1049 completion->signal(); 1062 completion->signal();
1050 } 1063 }
1051 1064
1052 } // namespace cc 1065 } // namespace cc
OLDNEW
« no previous file with comments | « cc/thread_proxy.h ('k') | cc/tile_manager.h » ('j') | cc/tile_manager.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698