diff options
| author | 2020-02-17 10:01:59 +0000 | |
|---|---|---|
| committer | 2020-02-17 10:01:59 +0000 | |
| commit | a61a7e1519e9db75d549d30baf3369b0dd27cde2 (patch) | |
| tree | 37a909697ce53e68c37a381d61e5603ff564d484 /libs/gui/FrameTimestamps.cpp | |
| parent | 4df87f6585a480b8f15eae69baa178c85114fbf1 (diff) | |
| parent | d33773bab9f29ebccb3ea87e227416561f449ca3 (diff) | |
Merge "Merge commit '753132194ff691e1533e354dddc2bc31d25e50a0' into manual_merge_753132194ff691e1533e354dddc2bc31d25e50a0"
Diffstat (limited to 'libs/gui/FrameTimestamps.cpp')
| -rw-r--r-- | libs/gui/FrameTimestamps.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/gui/FrameTimestamps.cpp b/libs/gui/FrameTimestamps.cpp index 6749c3cd6f..e2ea3f9ab1 100644 --- a/libs/gui/FrameTimestamps.cpp +++ b/libs/gui/FrameTimestamps.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "FrameEvents" +#include <LibGuiProperties.sysprop.h> #include <android-base/stringprintf.h> #include <cutils/compiler.h> // For CC_[UN]LIKELY #include <inttypes.h> @@ -167,6 +168,11 @@ struct FrameNumberEqual { } // namespace +const size_t FrameEventHistory::MAX_FRAME_HISTORY = + sysprop::LibGuiProperties::frame_event_history_size().value_or(8); + +FrameEventHistory::FrameEventHistory() : mFrames(std::vector<FrameEvents>(MAX_FRAME_HISTORY)) {} + FrameEventHistory::~FrameEventHistory() = default; FrameEvents* FrameEventHistory::getFrame(uint64_t frameNumber) { @@ -348,6 +354,9 @@ std::shared_ptr<FenceTime> ProducerFrameEventHistory::createFenceTime( // ConsumerFrameEventHistory // ============================================================================ +ConsumerFrameEventHistory::ConsumerFrameEventHistory() + : mFramesDirty(std::vector<FrameEventDirtyFields>(MAX_FRAME_HISTORY)) {} + ConsumerFrameEventHistory::~ConsumerFrameEventHistory() = default; void ConsumerFrameEventHistory::onDisconnect() { @@ -447,9 +456,8 @@ void ConsumerFrameEventHistory::addRelease(uint64_t frameNumber, mFramesDirty[mReleaseOffset].setDirty<FrameEvent::RELEASE>(); } -void ConsumerFrameEventHistory::getFrameDelta( - FrameEventHistoryDelta* delta, - const std::array<FrameEvents, MAX_FRAME_HISTORY>::iterator& frame) { +void ConsumerFrameEventHistory::getFrameDelta(FrameEventHistoryDelta* delta, + const std::vector<FrameEvents>::iterator& frame) { mProducerWantsEvents = true; size_t i = static_cast<size_t>(std::distance(mFrames.begin(), frame)); if (mFramesDirty[i].anyDirty()) { |