blob: fd18d2f9192de7414a81938201e75560c171a3b1 [file] [log] [blame]
John Reckba6adf62015-02-19 14:36:50 -08001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#include "FrameInfo.h"
17
18#include <cstring>
19
20namespace android {
21namespace uirenderer {
22
John Reck2a8bb052015-06-03 09:52:01 -070023const std::string FrameInfoNames[] = {
John Reck1bcacfd2017-11-03 10:12:19 -070024 "Flags",
Steven Thomas6fabb5a2020-08-21 16:56:08 -070025 "FrameTimelineVsyncId",
John Reck1bcacfd2017-11-03 10:12:19 -070026 "IntendedVsync",
27 "Vsync",
28 "OldestInputEvent",
29 "NewestInputEvent",
30 "HandleInputStart",
31 "AnimationStart",
32 "PerformTraversalsStart",
33 "DrawStart",
Ady Abrahamdfb13982020-10-05 17:59:09 -070034 "FrameDeadline",
John Reck1bcacfd2017-11-03 10:12:19 -070035 "SyncQueued",
36 "SyncStart",
37 "IssueDrawCommandsStart",
38 "SwapBuffers",
39 "FrameCompleted",
40 "DequeueBufferDuration",
41 "QueueBufferDuration",
Stan Iliev7203e1f2019-07-25 13:12:02 -040042 "GpuCompleted",
John Reck4db3d172015-06-02 15:58:43 -070043};
44
John Reck1bcacfd2017-11-03 10:12:19 -070045static_assert((sizeof(FrameInfoNames) / sizeof(FrameInfoNames[0])) ==
46 static_cast<int>(FrameInfoIndex::NumIndexes),
47 "size mismatch: FrameInfoNames doesn't match the enum!");
John Reck2d5b8d72016-07-28 15:36:11 -070048
Ady Abrahamdfb13982020-10-05 17:59:09 -070049static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 19,
John Reck1bcacfd2017-11-03 10:12:19 -070050 "Must update value in FrameMetrics.java#FRAME_STATS_COUNT (and here)");
John Reck65ddb152016-08-02 09:38:26 -070051
John Reckba6adf62015-02-19 14:36:50 -080052void FrameInfo::importUiThreadInfo(int64_t* info) {
53 memcpy(mFrameInfo, info, UI_THREAD_FRAME_INFO_SIZE * sizeof(int64_t));
54}
55
56} /* namespace uirenderer */
57} /* namespace android */