blob: 71cc9a81a09f9d4171d6b90fb3b56e10c9887f1d [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",
25 "IntendedVsync",
26 "Vsync",
27 "OldestInputEvent",
28 "NewestInputEvent",
29 "HandleInputStart",
30 "AnimationStart",
31 "PerformTraversalsStart",
32 "DrawStart",
33 "SyncQueued",
34 "SyncStart",
35 "IssueDrawCommandsStart",
36 "SwapBuffers",
37 "FrameCompleted",
38 "DequeueBufferDuration",
39 "QueueBufferDuration",
John Reck4db3d172015-06-02 15:58:43 -070040};
41
John Reck1bcacfd2017-11-03 10:12:19 -070042static_assert((sizeof(FrameInfoNames) / sizeof(FrameInfoNames[0])) ==
43 static_cast<int>(FrameInfoIndex::NumIndexes),
44 "size mismatch: FrameInfoNames doesn't match the enum!");
John Reck2d5b8d72016-07-28 15:36:11 -070045
John Reck65ddb152016-08-02 09:38:26 -070046static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 16,
John Reck1bcacfd2017-11-03 10:12:19 -070047 "Must update value in FrameMetrics.java#FRAME_STATS_COUNT (and here)");
John Reck65ddb152016-08-02 09:38:26 -070048
John Reckba6adf62015-02-19 14:36:50 -080049void FrameInfo::importUiThreadInfo(int64_t* info) {
50 memcpy(mFrameInfo, info, UI_THREAD_FRAME_INFO_SIZE * sizeof(int64_t));
51}
52
53} /* namespace uirenderer */
54} /* namespace android */