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

Commit e42c1844 authored by Rachel Lee's avatar Rachel Lee Committed by Automerger Merge Worker
Browse files

Merge "Avoid vsync enabled when in DOZE mode (AOD)." into tm-dev am: cc604d15 am: acca6320

parents 51d68c65 acca6320
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;
    };