Loading services/surfaceflinger/Scheduler/VsyncSchedule.cpp +1 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <ftl/fake_guard.h> #include <gui/TraceUtils.h> #include <scheduler/Fps.h> #include <scheduler/Timer.h> Loading Loading @@ -145,14 +144,6 @@ void VsyncSchedule::startPeriodTransition(Period period, bool force) { } bool VsyncSchedule::addResyncSample(TimePoint timestamp, ftl::Optional<Period> hwcVsyncPeriod) { ATRACE_CALL(); if (mClearTimestampsOnNextSample) { ATRACE_FORMAT("clearing sample after HW vsync enabled", __func__); getTracker().resetModel(); mClearTimestampsOnNextSample = false; } bool needsHwVsync = false; bool periodFlushed = false; { Loading @@ -179,7 +170,7 @@ void VsyncSchedule::enableHardwareVsync() { void VsyncSchedule::enableHardwareVsyncLocked() { if (mHwVsyncState == HwVsyncState::Disabled) { mClearTimestampsOnNextSample = true; getTracker().resetModel(); mRequestHardwareVsync(mId, true); mHwVsyncState = HwVsyncState::Enabled; } Loading services/surfaceflinger/Scheduler/VsyncSchedule.h +0 −5 Original line number Diff line number Diff line Loading @@ -150,11 +150,6 @@ private: // device is off. HwVsyncState mPendingHwVsyncState GUARDED_BY(kMainThreadContext) = HwVsyncState::Disabled; // Whether to reset the timestamps stored in the vsync model on the next hw vsync sample. This // is to avoid clearing the model when hw vsync is enabled, in order to be consistent with the // stale timestamps. Instead, clear the model on the first hw vsync callback. bool mClearTimestampsOnNextSample = false; class PredictedVsyncTracer; using TracerPtr = std::unique_ptr<PredictedVsyncTracer>; Loading services/surfaceflinger/tests/unittests/SurfaceFlinger_SetPowerModeInternalTest.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -91,16 +91,18 @@ struct EventThreadIsSupportedVariant : public EventThreadBaseSupportedVariant { }; struct DispSyncIsSupportedVariant { static void setupStartPeriodTransitionCallExpectations(DisplayTransactionTest* test) { static void setupResetModelCallExpectations(DisplayTransactionTest* test) { auto vsyncSchedule = test->mFlinger.scheduler()->getVsyncSchedule(); EXPECT_CALL(static_cast<mock::VsyncController&>(vsyncSchedule->getController()), startPeriodTransition(DEFAULT_VSYNC_PERIOD, false)) .Times(1); EXPECT_CALL(static_cast<mock::VSyncTracker&>(vsyncSchedule->getTracker()), resetModel()) .Times(1); } }; struct DispSyncNotSupportedVariant { static void setupStartPeriodTransitionCallExpectations(DisplayTransactionTest* /* test */) {} static void setupResetModelCallExpectations(DisplayTransactionTest* /* test */) {} }; // -------------------------------------------------------------------- Loading @@ -123,7 +125,7 @@ struct TransitionOffToOnVariant : public TransitionVariantCommon<PowerMode::OFF, static void setupCallExpectations(DisplayTransactionTest* test) { Case::setupComposerCallExpectations(test, IComposerClient::PowerMode::ON); Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupRepaintEverythingCallExpectations(test); } Loading Loading @@ -184,7 +186,7 @@ struct TransitionDozeSuspendToDozeVariant template <typename Case> static void setupCallExpectations(DisplayTransactionTest* test) { Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupComposerCallExpectations(test, Case::Doze::ACTUAL_POWER_MODE_FOR_DOZE); } }; Loading @@ -202,7 +204,7 @@ struct TransitionDozeSuspendToOnVariant template <typename Case> static void setupCallExpectations(DisplayTransactionTest* test) { Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupComposerCallExpectations(test, IComposerClient::PowerMode::ON); } }; Loading Loading
services/surfaceflinger/Scheduler/VsyncSchedule.cpp +1 −10 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include <ftl/fake_guard.h> #include <gui/TraceUtils.h> #include <scheduler/Fps.h> #include <scheduler/Timer.h> Loading Loading @@ -145,14 +144,6 @@ void VsyncSchedule::startPeriodTransition(Period period, bool force) { } bool VsyncSchedule::addResyncSample(TimePoint timestamp, ftl::Optional<Period> hwcVsyncPeriod) { ATRACE_CALL(); if (mClearTimestampsOnNextSample) { ATRACE_FORMAT("clearing sample after HW vsync enabled", __func__); getTracker().resetModel(); mClearTimestampsOnNextSample = false; } bool needsHwVsync = false; bool periodFlushed = false; { Loading @@ -179,7 +170,7 @@ void VsyncSchedule::enableHardwareVsync() { void VsyncSchedule::enableHardwareVsyncLocked() { if (mHwVsyncState == HwVsyncState::Disabled) { mClearTimestampsOnNextSample = true; getTracker().resetModel(); mRequestHardwareVsync(mId, true); mHwVsyncState = HwVsyncState::Enabled; } Loading
services/surfaceflinger/Scheduler/VsyncSchedule.h +0 −5 Original line number Diff line number Diff line Loading @@ -150,11 +150,6 @@ private: // device is off. HwVsyncState mPendingHwVsyncState GUARDED_BY(kMainThreadContext) = HwVsyncState::Disabled; // Whether to reset the timestamps stored in the vsync model on the next hw vsync sample. This // is to avoid clearing the model when hw vsync is enabled, in order to be consistent with the // stale timestamps. Instead, clear the model on the first hw vsync callback. bool mClearTimestampsOnNextSample = false; class PredictedVsyncTracer; using TracerPtr = std::unique_ptr<PredictedVsyncTracer>; Loading
services/surfaceflinger/tests/unittests/SurfaceFlinger_SetPowerModeInternalTest.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -91,16 +91,18 @@ struct EventThreadIsSupportedVariant : public EventThreadBaseSupportedVariant { }; struct DispSyncIsSupportedVariant { static void setupStartPeriodTransitionCallExpectations(DisplayTransactionTest* test) { static void setupResetModelCallExpectations(DisplayTransactionTest* test) { auto vsyncSchedule = test->mFlinger.scheduler()->getVsyncSchedule(); EXPECT_CALL(static_cast<mock::VsyncController&>(vsyncSchedule->getController()), startPeriodTransition(DEFAULT_VSYNC_PERIOD, false)) .Times(1); EXPECT_CALL(static_cast<mock::VSyncTracker&>(vsyncSchedule->getTracker()), resetModel()) .Times(1); } }; struct DispSyncNotSupportedVariant { static void setupStartPeriodTransitionCallExpectations(DisplayTransactionTest* /* test */) {} static void setupResetModelCallExpectations(DisplayTransactionTest* /* test */) {} }; // -------------------------------------------------------------------- Loading @@ -123,7 +125,7 @@ struct TransitionOffToOnVariant : public TransitionVariantCommon<PowerMode::OFF, static void setupCallExpectations(DisplayTransactionTest* test) { Case::setupComposerCallExpectations(test, IComposerClient::PowerMode::ON); Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupRepaintEverythingCallExpectations(test); } Loading Loading @@ -184,7 +186,7 @@ struct TransitionDozeSuspendToDozeVariant template <typename Case> static void setupCallExpectations(DisplayTransactionTest* test) { Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupComposerCallExpectations(test, Case::Doze::ACTUAL_POWER_MODE_FOR_DOZE); } }; Loading @@ -202,7 +204,7 @@ struct TransitionDozeSuspendToOnVariant template <typename Case> static void setupCallExpectations(DisplayTransactionTest* test) { Case::EventThread::setupEnableVsyncCallExpectations(test); Case::DispSync::setupStartPeriodTransitionCallExpectations(test); Case::DispSync::setupResetModelCallExpectations(test); Case::setupComposerCallExpectations(test, IComposerClient::PowerMode::ON); } }; Loading