From 35b80cde9225952bc9ec6afccffd480e77d5ad2e Mon Sep 17 00:00:00 2001 From: Pablo Gamito Date: Tue, 24 Aug 2021 11:03:51 +0200 Subject: Make frame number type consistent The frame numbers are ultimately stored as uint64_t so to avoid any implementation dependent casting we make sure all direct and indirect references to this value are stored as uint64_t Test: N/A Change-Id: I080c94b1007f2e884cf0fa3583bf51badc913a05 --- libs/hwui/renderthread/CanvasContext.cpp | 6 +++--- libs/hwui/renderthread/CanvasContext.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'libs/hwui/renderthread') 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&& 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&& 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 mSwapHistory; - int64_t mFrameNumber = -1; + uint64_t mFrameNumber = -1; int64_t mDamageId = 0; // last vsync for a dropped frame due to stuffed queue -- cgit v1.2.3-59-g8ed1b