diff options
-rw-r--r-- | libs/hwui/FrameMetricsObserver.h | 6 | ||||
-rw-r--r-- | libs/hwui/FrameMetricsReporter.cpp | 2 | ||||
-rw-r--r-- | libs/hwui/FrameMetricsReporter.h | 2 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 6 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.h | 4 | ||||
-rw-r--r-- | libs/hwui/tests/unit/FrameMetricsReporterTests.cpp | 14 |
6 files changed, 17 insertions, 17 deletions
diff --git a/libs/hwui/FrameMetricsObserver.h b/libs/hwui/FrameMetricsObserver.h index 2ae790106fae..498ec5793cab 100644 --- a/libs/hwui/FrameMetricsObserver.h +++ b/libs/hwui/FrameMetricsObserver.h @@ -26,11 +26,11 @@ public: virtual void notify(const int64_t* buffer) = 0; bool waitForPresentTime() const { return mWaitForPresentTime; }; - void reportMetricsFrom(int64_t frameNumber, int32_t surfaceControlId) { + void reportMetricsFrom(uint64_t frameNumber, int32_t surfaceControlId) { mAttachedFrameNumber = frameNumber; mSurfaceControlId = surfaceControlId; }; - int64_t attachedFrameNumber() const { return mAttachedFrameNumber; }; + uint64_t attachedFrameNumber() const { return mAttachedFrameNumber; }; int32_t attachedSurfaceControlId() const { return mSurfaceControlId; }; /** @@ -64,7 +64,7 @@ private: // The frame number the metrics observer was attached on. Metrics will be sent from this frame // number (inclusive) onwards in the case that the surface id is equal to mSurfaceControlId. - int64_t mAttachedFrameNumber; + uint64_t mAttachedFrameNumber; }; } // namespace uirenderer diff --git a/libs/hwui/FrameMetricsReporter.cpp b/libs/hwui/FrameMetricsReporter.cpp index a5b1897e8cd1..ee32ea17bfaf 100644 --- a/libs/hwui/FrameMetricsReporter.cpp +++ b/libs/hwui/FrameMetricsReporter.cpp @@ -20,7 +20,7 @@ namespace android { namespace uirenderer { void FrameMetricsReporter::reportFrameMetrics(const int64_t* stats, bool hasPresentTime, - int64_t frameNumber, int32_t surfaceControlId) { + uint64_t frameNumber, int32_t surfaceControlId) { FatVector<sp<FrameMetricsObserver>, 10> copy; { std::lock_guard lock(mObserversLock); diff --git a/libs/hwui/FrameMetricsReporter.h b/libs/hwui/FrameMetricsReporter.h index 95ca77e487f3..7e51df7ce6fc 100644 --- a/libs/hwui/FrameMetricsReporter.h +++ b/libs/hwui/FrameMetricsReporter.h @@ -69,7 +69,7 @@ public: * stats of frames that are from "old" surfaces (i.e. with surfaceControlIds older than the one * the observer was attached on) nor those that are from "old" frame numbers. */ - void reportFrameMetrics(const int64_t* stats, bool hasPresentTime, int64_t frameNumber, + void reportFrameMetrics(const int64_t* stats, bool hasPresentTime, uint64_t frameNumber, int32_t surfaceControlId); private: diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index e6d31d6cdf41..c5ae0431e06b 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -513,7 +513,7 @@ nsecs_t CanvasContext::draw() { mContentDrawBounds, mOpaque, mLightInfo, mRenderNodes, &(profiler())); - int64_t frameCompleteNr = getFrameNumber(); + uint64_t frameCompleteNr = getFrameNumber(); waitOnFences(); @@ -704,7 +704,7 @@ void CanvasContext::addFrameMetricsObserver(FrameMetricsObserver* observer) { // We want to make sure we aren't reporting frames that have already been queued by the // BufferQueueProducer on the rendner thread but are still pending the callback to report their // their frame metrics. - int64_t nextFrameNumber = getFrameNumber(); + uint64_t nextFrameNumber = getFrameNumber(); observer->reportMetricsFrom(nextFrameNumber, mSurfaceControlGenerationId); mFrameMetricsReporter->addObserver(observer); } @@ -890,7 +890,7 @@ void CanvasContext::enqueueFrameWork(std::function<void()>&& func) { mFrameFences.push_back(CommonPool::async(std::move(func))); } -int64_t CanvasContext::getFrameNumber() { +uint64_t CanvasContext::getFrameNumber() { // mFrameNumber is reset to -1 when the surface changes or we swap buffers if (mFrameNumber == -1 && mNativeSurface.get()) { mFrameNumber = ANativeWindow_getNextFrameId(mNativeSurface->getNativeWindow()); diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h index b21dc75372e3..852cbda6c313 100644 --- a/libs/hwui/renderthread/CanvasContext.h +++ b/libs/hwui/renderthread/CanvasContext.h @@ -173,7 +173,7 @@ public: // Used to queue up work that needs to be completed before this frame completes void enqueueFrameWork(std::function<void()>&& func); - int64_t getFrameNumber(); + uint64_t getFrameNumber(); void waitOnFences(); @@ -281,7 +281,7 @@ private: // Need at least 4 because we do quad buffer. Add a 5th for good measure. RingBuffer<SwapHistory, 5> mSwapHistory; - int64_t mFrameNumber = -1; + uint64_t mFrameNumber = -1; int64_t mDamageId = 0; // last vsync for a dropped frame due to stuffed queue diff --git a/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp b/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp index 6c1aee0cb6cb..fb04700bbf70 100644 --- a/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp +++ b/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp @@ -44,7 +44,7 @@ TEST(FrameMetricsReporter, reportsAllFramesIfNoFromFrameIsSpecified) { const int64_t* stats; bool hasPresentTime = false; - int64_t frameNumber = 0; + uint64_t frameNumber = 1; int32_t surfaceControlId = 0; reporter->reportFrameMetrics(stats, hasPresentTime, frameNumber, surfaceControlId); @@ -69,7 +69,7 @@ TEST(FrameMetricsReporter, respectsWaitForPresentTimeUnset) { const int64_t* stats; bool hasPresentTime = false; - int64_t frameNumber = 3; + uint64_t frameNumber = 3; int32_t surfaceControlId = 0; EXPECT_CALL(*observer, notify).Times(1); @@ -88,7 +88,7 @@ TEST(FrameMetricsReporter, respectsWaitForPresentTimeSet) { const int64_t* stats; bool hasPresentTime = false; - int64_t frameNumber = 3; + uint64_t frameNumber = 3; int32_t surfaceControlId = 0; EXPECT_CALL(*observer, notify).Times(0); @@ -136,9 +136,9 @@ TEST(FrameMetricsReporter, doesNotReportsFramesBeforeSpecifiedFromFrame) { bool hasPresentTime = false; std::vector<uint64_t> frameNumbers{1, 10}; - std::vector<uint32_t> surfaceControlIds{0, 1, 10}; + std::vector<int32_t> surfaceControlIds{0, 1, 10}; for (uint64_t frameNumber : frameNumbers) { - for (uint32_t surfaceControlId : surfaceControlIds) { + for (int32_t surfaceControlId : surfaceControlIds) { auto reporter = std::make_shared<FrameMetricsReporter>(); auto observer = @@ -161,7 +161,7 @@ TEST(FrameMetricsReporter, doesNotReportsFramesBeforeSpecifiedFromFrame) { TEST(FrameMetricsReporter, canRemoveObservers) { const int64_t* stats; bool hasPresentTime = false; - int64_t frameNumber = 3; + uint64_t frameNumber = 3; int32_t surfaceControlId = 0; auto reporter = std::make_shared<FrameMetricsReporter>(); @@ -183,7 +183,7 @@ TEST(FrameMetricsReporter, canRemoveObservers) { TEST(FrameMetricsReporter, canSupportMultipleObservers) { const int64_t* stats; bool hasPresentTime = false; - int64_t frameNumber = 3; + uint64_t frameNumber = 3; int32_t surfaceControlId = 0; auto reporter = std::make_shared<FrameMetricsReporter>(); |