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

Commit 68304b27 authored by Matt Buckley's avatar Matt Buckley Committed by Android (Google) Code Review
Browse files

Merge "Revert "Check for adpf cpu hints for SurfaceFlinger during init""

parents 981595df 618c43f7
Loading
Loading
Loading
Loading
+14 −30
Original line number Diff line number Diff line
@@ -681,21 +681,22 @@ void SurfaceFlinger::bootFinished() {

        readPersistentProperties();
        mPowerAdvisor->onBootFinished();

        // try to enable power hint session again using mendel flag now that boot is finished,
        // but only if we didn't already try earlier
        if (!mPowerAdvisor->usePowerHintSession() && mFlagManager.use_adpf_cpu_hint()) {
            mPowerAdvisor->enablePowerHint(true);
            // check again to make sure it's actually supported
            if (mPowerAdvisor->usePowerHintSession()) {
                startPowerHintSession();
        const bool powerHintEnabled = mFlagManager.use_adpf_cpu_hint();
        mPowerAdvisor->enablePowerHint(powerHintEnabled);
        const bool powerHintUsed = mPowerAdvisor->usePowerHintSession();
        ALOGD("Power hint is %s",
              powerHintUsed ? "supported" : (powerHintEnabled ? "unsupported" : "disabled"));
        if (powerHintUsed) {
            std::optional<pid_t> renderEngineTid = getRenderEngine().getRenderEngineTid();
            std::vector<int32_t> tidList;
            tidList.emplace_back(gettid());
            if (renderEngineTid.has_value()) {
                tidList.emplace_back(*renderEngineTid);
            }
            if (!mPowerAdvisor->startPowerHintSession(tidList)) {
                ALOGW("Cannot start power hint session");
            }
        }

        ALOGD("Power hint session is %s",
              mPowerAdvisor->usePowerHintSession()
                      ? "enabled"
                      : (!mPowerAdvisor->supportsPowerHintSession() ? "unsupported" : "disabled"));

        mBootStage = BootStage::FINISHED;

@@ -820,11 +821,6 @@ void SurfaceFlinger::init() {

    mPowerAdvisor->init();

    mPowerAdvisor->enablePowerHint(mFlagManager.use_adpf_cpu_hint());
    if (mPowerAdvisor->usePowerHintSession()) {
        startPowerHintSession();
    }

    char primeShaderCache[PROPERTY_VALUE_MAX];
    property_get("service.sf.prime_shader_cache", primeShaderCache, "1");
    if (atoi(primeShaderCache)) {
@@ -7116,18 +7112,6 @@ bool SurfaceFlinger::commitCreatedLayers(VsyncId vsyncId) {
    return true;
}

void SurfaceFlinger::startPowerHintSession() const {
    std::optional<pid_t> renderEngineTid = getRenderEngine().getRenderEngineTid();
    std::vector<int32_t> tidList;
    tidList.emplace_back(gettid());
    if (renderEngineTid.has_value()) {
        tidList.emplace_back(*renderEngineTid);
    }
    if (!mPowerAdvisor->startPowerHintSession(tidList)) {
        ALOGW("Cannot start power hint session");
    }
}

// gui::ISurfaceComposer

binder::Status SurfaceComposerAIDL::bootFinished() {
+0 −2
Original line number Diff line number Diff line
@@ -1360,8 +1360,6 @@ private:
        bool early = false;
    } mPowerHintSessionMode;

    void startPowerHintSession() const;

    nsecs_t mAnimationTransactionTimeout = s2ns(5);

    friend class SurfaceComposerAIDL;