diff options
Diffstat (limited to 'libs/hwui/FrameInfo.h')
-rw-r--r-- | libs/hwui/FrameInfo.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/hwui/FrameInfo.h b/libs/hwui/FrameInfo.h index 45a367f525da..e9b2f4a9bb3b 100644 --- a/libs/hwui/FrameInfo.h +++ b/libs/hwui/FrameInfo.h @@ -28,15 +28,14 @@ namespace android { namespace uirenderer { -#define UI_THREAD_FRAME_INFO_SIZE 11 +static constexpr size_t UI_THREAD_FRAME_INFO_SIZE = 10; enum class FrameInfoIndex { Flags = 0, FrameTimelineVsyncId, IntendedVsync, Vsync, - OldestInputEvent, - NewestInputEvent, + InputEventId, HandleInputStart, AnimationStart, PerformTraversalsStart, @@ -56,13 +55,14 @@ enum class FrameInfoIndex { GpuCompleted, SwapBuffersCompleted, + DisplayPresentTime, // Must be the last value! // Also must be kept in sync with FrameMetrics.java#FRAME_STATS_COUNT NumIndexes }; -extern const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; +extern const std::array<const char*, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; namespace FrameInfoFlags { enum { @@ -80,6 +80,10 @@ public: explicit UiFrameInfoBuilder(int64_t* buffer) : mBuffer(buffer) { memset(mBuffer, 0, UI_THREAD_FRAME_INFO_SIZE * sizeof(int64_t)); set(FrameInfoIndex::FrameTimelineVsyncId) = INVALID_VSYNC_ID; + // The struct is zeroed by memset above. That also sets FrameInfoIndex::InputEventId to + // equal android::os::IInputConstants::INVALID_INPUT_EVENT_ID == 0. + // Therefore, we can skip setting the value for InputEventId here. If the value for + // INVALID_INPUT_EVENT_ID changes, this code would have to be updated, as well. set(FrameInfoIndex::FrameDeadline) = std::numeric_limits<int64_t>::max(); } |