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

Commit acca6320 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

parents 36cc4a11 cc604d15
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -376,6 +376,11 @@ void HWComposer::setVsyncEnabled(PhysicalDisplayId displayId, hal::Vsync enabled
    }
    }


    ATRACE_CALL();
    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);
    auto error = displayData.hwcDisplay->setVsyncEnabled(enabled);
    RETURN_IF_HWC_ERROR(error, displayId);
    RETURN_IF_HWC_ERROR(error, displayId);


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


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


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

        nsecs_t lastHwVsync = 0;
        nsecs_t lastHwVsync = 0;
    };
    };