Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eece765c authored by Rachel Lee's avatar Rachel Lee Committed by Presubmit Automerger Backend
Browse files

[automerge] Avoid vsync enabled when in DOZE mode (AOD). 2p: 8f96ec4b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/17513357

Bug: 219109873
Change-Id: Id2c2ff2b6dffeac1a2b2518996c22e40d72d9f49
parents a4eea76f 8f96ec4b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -376,6 +376,11 @@ void HWComposer::setVsyncEnabled(PhysicalDisplayId displayId, hal::Vsync enabled
    }

    ATRACE_CALL();
    if (displayData.powerMode == hal::PowerMode::DOZE && enabled == hal::Vsync::ENABLE) {
        ALOGV("%s will not enable vsync for display %s due to power mode %s", __FUNCTION__,
              to_string(displayId).c_str(), to_string(displayData.powerMode).c_str());
        return;
    }
    auto error = displayData.hwcDisplay->setVsyncEnabled(enabled);
    RETURN_IF_HWC_ERROR(error, displayId);

@@ -552,6 +557,7 @@ status_t HWComposer::setPowerMode(PhysicalDisplayId displayId, hal::PowerMode mo
        setVsyncEnabled(displayId, hal::Vsync::DISABLE);
    }

    mDisplayData[displayId].powerMode = mode;
    const auto& displayData = mDisplayData[displayId];
    auto& hwcDisplay = displayData.hwcDisplay;
    switch (mode) {
+2 −0
Original line number Diff line number Diff line
@@ -462,6 +462,8 @@ private:
        std::mutex vsyncEnabledLock;
        hal::Vsync vsyncEnabled GUARDED_BY(vsyncEnabledLock) = hal::Vsync::DISABLE;

        hal::PowerMode powerMode = hal::PowerMode::ON;

        nsecs_t lastHwVsync = 0;
    };