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

Commit 2365a09c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[TimeStats] Track RenderEngine time per frame."

parents 71462784 e4034bba
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ cc_defaults {
        "liblayers_proto",
        "liblog",
        "libnativewindow",
        "libprotobuf-cpp-lite",
        "libsync",
        "libtimestats_proto",
        "libui",
@@ -28,6 +29,7 @@ cc_defaults {
    static_libs: [
        "libmath",
        "librenderengine",
        "libtimestats",
        "libtrace_proto",
    ],
    header_libs: [
+6 −2
Original line number Diff line number Diff line
@@ -16,10 +16,11 @@

#pragma once

#include <memory>

#include <TimeStats/TimeStats.h>
#include <utils/Timers.h>

#include <memory>

namespace android {

class HWComposer;
@@ -55,6 +56,9 @@ public:
    virtual renderengine::RenderEngine& getRenderEngine() const = 0;
    virtual void setRenderEngine(std::unique_ptr<renderengine::RenderEngine>) = 0;

    virtual TimeStats& getTimeStats() const = 0;
    virtual void setTimeStats(const std::shared_ptr<TimeStats>&) = 0;

    virtual bool needsAnotherUpdate() const = 0;
    virtual nsecs_t getLastFrameRefreshTimestamp() const = 0;

+4 −0
Original line number Diff line number Diff line
@@ -36,6 +36,9 @@ public:
    renderengine::RenderEngine& getRenderEngine() const override;
    void setRenderEngine(std::unique_ptr<renderengine::RenderEngine>) override;

    TimeStats& getTimeStats() const override;
    void setTimeStats(const std::shared_ptr<TimeStats>&) override;

    bool needsAnotherUpdate() const override;
    nsecs_t getLastFrameRefreshTimestamp() const override;

@@ -56,6 +59,7 @@ public:
private:
    std::unique_ptr<HWComposer> mHwComposer;
    std::unique_ptr<renderengine::RenderEngine> mRenderEngine;
    std::shared_ptr<TimeStats> mTimeStats;
    bool mNeedsAnotherUpdate = false;
    nsecs_t mRefreshStartTime = 0;
};
+3 −0
Original line number Diff line number Diff line
@@ -41,6 +41,9 @@ public:
    MOCK_CONST_METHOD0(getRenderEngine, renderengine::RenderEngine&());
    MOCK_METHOD1(setRenderEngine, void(std::unique_ptr<renderengine::RenderEngine>));

    MOCK_CONST_METHOD0(getTimeStats, TimeStats&());
    MOCK_METHOD1(setTimeStats, void(const std::shared_ptr<TimeStats>&));

    MOCK_CONST_METHOD0(needsAnotherUpdate, bool());
    MOCK_CONST_METHOD0(getLastFrameRefreshTimestamp, nsecs_t());

+8 −0
Original line number Diff line number Diff line
@@ -64,6 +64,14 @@ void CompositionEngine::setRenderEngine(std::unique_ptr<renderengine::RenderEngi
    mRenderEngine = std::move(renderEngine);
}

TimeStats& CompositionEngine::getTimeStats() const {
    return *mTimeStats.get();
}

void CompositionEngine::setTimeStats(const std::shared_ptr<TimeStats>& timeStats) {
    mTimeStats = timeStats;
}

bool CompositionEngine::needsAnotherUpdate() const {
    return mNeedsAnotherUpdate;
}
Loading