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

Commit cb50bbda authored by Xiang Wang's avatar Xiang Wang
Browse files

Check ADPF SF flag in PowerAdvisor only after boot is completed

Bug: 334974544
Test: atest libcompositionengine_test PowerAdvisorTest
Change-Id: I3523b8af04a1e9354e8212addf1c826dbe37a35b
parent 7fb4a671
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -325,6 +325,7 @@ protected:
    virtual void setHintSessionGpuFence(std::unique_ptr<FenceTime>&& gpuFence) = 0;
    virtual void setHintSessionRequiresRenderEngine(bool requiresRenderEngine) = 0;
    virtual bool isPowerHintSessionEnabled() = 0;
    virtual bool isPowerHintSessionGpuReportingEnabled() = 0;
    virtual void cacheClientCompositionRequests(uint32_t cacheSize) = 0;
    virtual bool canPredictCompositionStrategy(const CompositionRefreshArgs&) = 0;
};
+1 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ public:

private:
    bool isPowerHintSessionEnabled() override;
    bool isPowerHintSessionGpuReportingEnabled() override;
    void setHintSessionGpuStart(TimePoint startTime) override;
    void setHintSessionGpuFence(std::unique_ptr<FenceTime>&& gpuFence) override;
    void setHintSessionRequiresRenderEngine(bool requiresRenderEngine) override;
+1 −0
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ protected:
    void setHintSessionGpuFence(std::unique_ptr<FenceTime>&& gpuFence) override;
    void setHintSessionRequiresRenderEngine(bool requiresRenderEngine) override;
    bool isPowerHintSessionEnabled() override;
    bool isPowerHintSessionGpuReportingEnabled() override;
    void dumpBase(std::string&) const;

    // Implemented by the final implementation for the final state it uses.
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ public:
    MOCK_METHOD(void, setHintSessionGpuFence, (std::unique_ptr<FenceTime> && gpuFence));
    MOCK_METHOD(void, setHintSessionRequiresRenderEngine, (bool requiresRenderEngine));
    MOCK_METHOD(bool, isPowerHintSessionEnabled, ());
    MOCK_METHOD(bool, isPowerHintSessionGpuReportingEnabled, ());
};

} // namespace android::compositionengine::mock
+4 −0
Original line number Diff line number Diff line
@@ -412,6 +412,10 @@ bool Display::isPowerHintSessionEnabled() {
    return mPowerAdvisor != nullptr && mPowerAdvisor->usePowerHintSession();
}

bool Display::isPowerHintSessionGpuReportingEnabled() {
    return mPowerAdvisor != nullptr && mPowerAdvisor->supportsGpuReporting();
}

// For ADPF GPU v0 this is expected to set start time to when the GPU commands are submitted with
// fence returned, i.e. when RenderEngine flushes the commands and returns the draw fence.
void Display::setHintSessionGpuStart(TimePoint startTime) {
Loading