FrameTimestamps.h revision ce796e78a57018f186b062199c75d94545318aca
1ce796e78a57018f186b062199c75d94545318acaPablo Ceballos/*
2ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * Copyright 2016 The Android Open Source Project
3ce796e78a57018f186b062199c75d94545318acaPablo Ceballos *
4ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * Licensed under the Apache License, Version 2.0 (the "License");
5ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * you may not use this file except in compliance with the License.
6ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * You may obtain a copy of the License at
7ce796e78a57018f186b062199c75d94545318acaPablo Ceballos *
8ce796e78a57018f186b062199c75d94545318acaPablo Ceballos *      http://www.apache.org/licenses/LICENSE-2.0
9ce796e78a57018f186b062199c75d94545318acaPablo Ceballos *
10ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * Unless required by applicable law or agreed to in writing, software
11ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * distributed under the License is distributed on an "AS IS" BASIS,
12ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * See the License for the specific language governing permissions and
14ce796e78a57018f186b062199c75d94545318acaPablo Ceballos * limitations under the License.
15ce796e78a57018f186b062199c75d94545318acaPablo Ceballos */
16ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
17ce796e78a57018f186b062199c75d94545318acaPablo Ceballos#ifndef ANDROID_GUI_FRAMETIMESTAMPS_H
18ce796e78a57018f186b062199c75d94545318acaPablo Ceballos#define ANDROID_GUI_FRAMETIMESTAMPS_H
19ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
20ce796e78a57018f186b062199c75d94545318acaPablo Ceballos#include <utils/Timers.h>
21ce796e78a57018f186b062199c75d94545318acaPablo Ceballos#include <utils/Flattenable.h>
22ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
23ce796e78a57018f186b062199c75d94545318acaPablo Ceballosnamespace android {
24ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
25ce796e78a57018f186b062199c75d94545318acaPablo Ceballosstruct FrameTimestamps : public LightFlattenablePod<FrameTimestamps> {
26ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    FrameTimestamps() :
27ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        frameNumber(0),
28ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        postedTime(0),
29ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        acquireTime(0),
30ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        refreshStartTime(0),
31ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        glCompositionDoneTime(0),
32ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        displayRetireTime(0),
33ce796e78a57018f186b062199c75d94545318acaPablo Ceballos        releaseTime(0) {}
34ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
35ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    uint64_t frameNumber;
36ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t postedTime;
37ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t acquireTime;
38ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t refreshStartTime;
39ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t glCompositionDoneTime;
40ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t displayRetireTime;
41ce796e78a57018f186b062199c75d94545318acaPablo Ceballos    nsecs_t releaseTime;
42ce796e78a57018f186b062199c75d94545318acaPablo Ceballos};
43ce796e78a57018f186b062199c75d94545318acaPablo Ceballos
44ce796e78a57018f186b062199c75d94545318acaPablo Ceballos} // namespace android
45ce796e78a57018f186b062199c75d94545318acaPablo Ceballos#endif
46