Loading services/surfaceflinger/Scheduler/VSyncReactor.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -14,11 +14,13 @@ * limitations under the License. */ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #undef LOG_TAG #define LOG_TAG "VSyncReactor" //#define LOG_NDEBUG 0 #include "VSyncReactor.h" #include <log/log.h> #include <utils/Trace.h> #include "TimeKeeper.h" #include "VSyncDispatch.h" #include "VSyncTracker.h" Loading Loading @@ -186,6 +188,7 @@ void VSyncReactor::endPeriodTransition() { } void VSyncReactor::setPeriod(nsecs_t period) { ATRACE_INT64("VSR-setPeriod", period); std::lock_guard lk(mMutex); mLastHwVsync.reset(); if (period == getPeriod()) { Loading services/surfaceflinger/SurfaceFlinger.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -885,7 +885,7 @@ void SurfaceFlinger::setDesiredActiveConfig(const ActiveConfigInfo& info) { repaintEverythingForHWC(); // Start receiving vsync samples now, so that we can detect a period // switch. mScheduler->resyncToHardwareVsync(true, getVsyncPeriod()); mScheduler->resyncToHardwareVsync(true, refreshRate.vsyncPeriod); // As we called to set period, we will call to onRefreshRateChangeCompleted once // DispSync model is locked. mVSyncModulator->onRefreshRateChangeInitiated(); Loading Loading @@ -962,9 +962,9 @@ void SurfaceFlinger::desiredActiveConfigChangeDone() { mDesiredActiveConfig.event = Scheduler::ConfigEvent::None; mDesiredActiveConfigChanged = false; mScheduler->resyncToHardwareVsync(true, getVsyncPeriod()); auto refreshRate = auto const refreshRate = mRefreshRateConfigs->getRefreshRateFromConfigId(mDesiredActiveConfig.configId); mScheduler->resyncToHardwareVsync(true, refreshRate.vsyncPeriod); mPhaseConfiguration->setRefreshRateFps(refreshRate.fps); mVSyncModulator->setPhaseOffsets(mPhaseConfiguration->getCurrentOffsets()); } Loading Loading
services/surfaceflinger/Scheduler/VSyncReactor.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -14,11 +14,13 @@ * limitations under the License. */ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #undef LOG_TAG #define LOG_TAG "VSyncReactor" //#define LOG_NDEBUG 0 #include "VSyncReactor.h" #include <log/log.h> #include <utils/Trace.h> #include "TimeKeeper.h" #include "VSyncDispatch.h" #include "VSyncTracker.h" Loading Loading @@ -186,6 +188,7 @@ void VSyncReactor::endPeriodTransition() { } void VSyncReactor::setPeriod(nsecs_t period) { ATRACE_INT64("VSR-setPeriod", period); std::lock_guard lk(mMutex); mLastHwVsync.reset(); if (period == getPeriod()) { Loading
services/surfaceflinger/SurfaceFlinger.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -885,7 +885,7 @@ void SurfaceFlinger::setDesiredActiveConfig(const ActiveConfigInfo& info) { repaintEverythingForHWC(); // Start receiving vsync samples now, so that we can detect a period // switch. mScheduler->resyncToHardwareVsync(true, getVsyncPeriod()); mScheduler->resyncToHardwareVsync(true, refreshRate.vsyncPeriod); // As we called to set period, we will call to onRefreshRateChangeCompleted once // DispSync model is locked. mVSyncModulator->onRefreshRateChangeInitiated(); Loading Loading @@ -962,9 +962,9 @@ void SurfaceFlinger::desiredActiveConfigChangeDone() { mDesiredActiveConfig.event = Scheduler::ConfigEvent::None; mDesiredActiveConfigChanged = false; mScheduler->resyncToHardwareVsync(true, getVsyncPeriod()); auto refreshRate = auto const refreshRate = mRefreshRateConfigs->getRefreshRateFromConfigId(mDesiredActiveConfig.configId); mScheduler->resyncToHardwareVsync(true, refreshRate.vsyncPeriod); mPhaseConfiguration->setRefreshRateFps(refreshRate.fps); mVSyncModulator->setPhaseOffsets(mPhaseConfiguration->getCurrentOffsets()); } Loading