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

Commit d3db6154 authored by Marin Shalamanov's avatar Marin Shalamanov Committed by Android (Google) Code Review
Browse files

Merge "SF: remove changeRefreshRateLocked"

parents 3ca1e797 a63f9ae7
Loading
Loading
Loading
Loading
+15 −19
Original line number Diff line number Diff line
@@ -1776,24 +1776,6 @@ void SurfaceFlinger::getCompositorTiming(CompositorTiming* compositorTiming) {
    *compositorTiming = getBE().mCompositorTiming;
}

void SurfaceFlinger::changeRefreshRateLocked(const RefreshRate& refreshRate,
                                             Scheduler::ModeEvent event) {
    const auto display = getDefaultDisplayDeviceLocked();
    if (!display || mBootStage != BootStage::FINISHED) {
        return;
    }
    ATRACE_CALL();

    // Don't do any updating if the current fps is the same as the new one.
    if (!display->refreshRateConfigs().isModeAllowed(refreshRate.getModeId())) {
        ALOGV("Skipping mode %d as it is not part of allowed modes",
              refreshRate.getModeId().value());
        return;
    }

    setDesiredActiveMode({refreshRate.getMode(), event});
}

void SurfaceFlinger::onComposerHalHotplug(hal::HWDisplayId hwcDisplayId,
                                          hal::Connection connection) {
    const bool connected = connection == hal::Connection::CONNECTED;
@@ -3128,7 +3110,21 @@ void SurfaceFlinger::changeRefreshRate(const RefreshRate& refreshRate, Scheduler
    // Scheduler::chooseRefreshRateForContent

    ConditionalLock lock(mStateLock, std::this_thread::get_id() != mMainThreadId);
    changeRefreshRateLocked(refreshRate, event);

    const auto display = getDefaultDisplayDeviceLocked();
    if (!display || mBootStage != BootStage::FINISHED) {
        return;
    }
    ATRACE_CALL();

    // Don't do any updating if the current fps is the same as the new one.
    if (!display->refreshRateConfigs().isModeAllowed(refreshRate.getModeId())) {
        ALOGV("Skipping mode %d as it is not part of allowed modes",
              refreshRate.getModeId().value());
        return;
    }

    setDesiredActiveMode({refreshRate.getMode(), event});
}

void SurfaceFlinger::triggerOnFrameRateOverridesChanged() {
+1 −5
Original line number Diff line number Diff line
@@ -651,7 +651,7 @@ private:

    // Toggles hardware VSYNC by calling into HWC.
    void setVsyncEnabled(bool) override;
    // Initiates a refresh rate change to be applied on invalidate.
    // Initiates a refresh rate change to be applied on commit.
    void changeRefreshRate(const Scheduler::RefreshRate&, Scheduler::ModeEvent) override;
    // Called when kernel idle timer has expired. Used to update the refresh rate overlay.
    void kernelTimerChanged(bool expired) override;
@@ -961,10 +961,6 @@ private:
        getHwComposer().setVsyncEnabled(id, enabled);
    }

    // Sets the refresh rate by switching active configs, if they are available for
    // the desired refresh rate.
    void changeRefreshRateLocked(const RefreshRate&, Scheduler::ModeEvent) REQUIRES(mStateLock);

    struct FenceWithFenceTime {
        sp<Fence> fence = Fence::NO_FENCE;
        std::shared_ptr<FenceTime> fenceTime = FenceTime::NO_FENCE;