diff options
Diffstat (limited to 'services/surfaceflinger/Scheduler/MessageQueue.cpp')
-rw-r--r-- | services/surfaceflinger/Scheduler/MessageQueue.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/services/surfaceflinger/Scheduler/MessageQueue.cpp b/services/surfaceflinger/Scheduler/MessageQueue.cpp index 294783ab34..a339375db0 100644 --- a/services/surfaceflinger/Scheduler/MessageQueue.cpp +++ b/services/surfaceflinger/Scheduler/MessageQueue.cpp @@ -125,8 +125,15 @@ void MessageQueue::vsyncCallback(nsecs_t vsyncTime, nsecs_t targetWakeupTime, ns mFlinger->mDolphinWrapper.dolphinTrackVsyncSignal(vsyncTime, targetWakeupTime, readyTime); } - if (mFlinger->mSmoMo) { - mFlinger->mSmoMo->OnVsync(vsyncTime); + SmomoIntf *smoMo = nullptr; + for (auto &instance: mFlinger->mSmomoInstances) { + if (instance.displayId == 0) { + smoMo = instance.smoMo; + break; + } + } + if (smoMo) { + smoMo->OnVsync(vsyncTime); } mHandler->dispatchInvalidate(mVsync.tokenManager->generateTokenForPredictions( |