Add FrameEvents::isValidTimestamp
Refactor only.
Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Change-Id: I86653ac14186ca509f58a94047f25a7b74231b30
diff --git a/include/gui/FrameTimestamps.h b/include/gui/FrameTimestamps.h
index 174c5ea..0c4af46 100644
--- a/include/gui/FrameTimestamps.h
+++ b/include/gui/FrameTimestamps.h
@@ -52,6 +52,16 @@
// A collection of timestamps corresponding to a single frame.
struct FrameEvents {
+ static constexpr auto EVENT_COUNT =
+ static_cast<size_t>(FrameEvent::EVENT_COUNT);
+ static_assert(EVENT_COUNT <= 32, "Event count sanity check failed.");
+ static constexpr nsecs_t TIMESTAMP_PENDING =
+ std::numeric_limits<nsecs_t>::max();
+
+ static inline bool isValidTimestamp(nsecs_t time) {
+ return time != TIMESTAMP_PENDING;
+ }
+
bool hasPostedInfo() const;
bool hasRequestedPresentInfo() const;
bool hasLatchInfo() const;
@@ -67,10 +77,6 @@
void checkFencesForCompletion();
void dump(String8& outString) const;
- static constexpr size_t EVENT_COUNT =
- static_cast<size_t>(FrameEvent::EVENT_COUNT);
- static_assert(EVENT_COUNT <= 32, "Event count sanity check failed.");
-
bool valid{false};
uint64_t frameNumber{0};
@@ -81,12 +87,12 @@
bool addRetireCalled{false};
bool addReleaseCalled{false};
- nsecs_t postedTime{-1};
- nsecs_t requestedPresentTime{-1};
- nsecs_t latchTime{-1};
- nsecs_t firstRefreshStartTime{-1};
- nsecs_t lastRefreshStartTime{-1};
- nsecs_t dequeueReadyTime{-1};
+ nsecs_t postedTime{TIMESTAMP_PENDING};
+ nsecs_t requestedPresentTime{TIMESTAMP_PENDING};
+ nsecs_t latchTime{TIMESTAMP_PENDING};
+ nsecs_t firstRefreshStartTime{TIMESTAMP_PENDING};
+ nsecs_t lastRefreshStartTime{TIMESTAMP_PENDING};
+ nsecs_t dequeueReadyTime{TIMESTAMP_PENDING};
std::shared_ptr<FenceTime> acquireFence{FenceTime::NO_FENCE};
std::shared_ptr<FenceTime> gpuCompositionDoneFence{FenceTime::NO_FENCE};
@@ -273,12 +279,12 @@
bool mAddRetireCalled{0};
bool mAddReleaseCalled{0};
- nsecs_t mPostedTime{0};
- nsecs_t mRequestedPresentTime{0};
- nsecs_t mLatchTime{0};
- nsecs_t mFirstRefreshStartTime{0};
- nsecs_t mLastRefreshStartTime{0};
- nsecs_t mDequeueReadyTime{0};
+ nsecs_t mPostedTime{FrameEvents::TIMESTAMP_PENDING};
+ nsecs_t mRequestedPresentTime{FrameEvents::TIMESTAMP_PENDING};
+ nsecs_t mLatchTime{FrameEvents::TIMESTAMP_PENDING};
+ nsecs_t mFirstRefreshStartTime{FrameEvents::TIMESTAMP_PENDING};
+ nsecs_t mLastRefreshStartTime{FrameEvents::TIMESTAMP_PENDING};
+ nsecs_t mDequeueReadyTime{FrameEvents::TIMESTAMP_PENDING};
FenceTime::Snapshot mGpuCompositionDoneFence;
FenceTime::Snapshot mDisplayPresentFence;