OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_OUTPUT_BEGIN_FRAME_ARGS_H_ | 5 #ifndef CC_OUTPUT_BEGIN_FRAME_ARGS_H_ |
6 #define CC_OUTPUT_BEGIN_FRAME_ARGS_H_ | 6 #define CC_OUTPUT_BEGIN_FRAME_ARGS_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 base::TimeDelta interval, | 115 base::TimeDelta interval, |
116 BeginFrameArgsType type); | 116 BeginFrameArgsType type); |
117 }; | 117 }; |
118 | 118 |
119 // Sent by a BeginFrameObserver as acknowledgment of completing a BeginFrame. | 119 // Sent by a BeginFrameObserver as acknowledgment of completing a BeginFrame. |
120 struct CC_EXPORT BeginFrameAck { | 120 struct CC_EXPORT BeginFrameAck { |
121 BeginFrameAck(); | 121 BeginFrameAck(); |
122 BeginFrameAck(uint32_t source_id, | 122 BeginFrameAck(uint32_t source_id, |
123 uint64_t sequence_number, | 123 uint64_t sequence_number, |
124 uint64_t latest_confirmed_sequence_number, | 124 uint64_t latest_confirmed_sequence_number, |
125 uint32_t remaining_frames, | |
126 bool has_damage); | 125 bool has_damage); |
127 | 126 |
128 // Creates a BeginFrameAck for a manual BeginFrame. Used when clients produce | 127 // Creates a BeginFrameAck for a manual BeginFrame. Used when clients produce |
129 // a CompositorFrame without prior BeginFrame, e.g. for synchronous drawing. | 128 // a CompositorFrame without prior BeginFrame, e.g. for synchronous drawing. |
130 static BeginFrameAck CreateManualAckWithDamage(); | 129 static BeginFrameAck CreateManualAckWithDamage(); |
131 | 130 |
132 // Sequence number of the BeginFrame that is acknowledged. | 131 // Sequence number of the BeginFrame that is acknowledged. |
133 uint64_t sequence_number; | 132 uint64_t sequence_number; |
134 | 133 |
135 // Sequence number of the latest BeginFrame that was positively acknowledged | 134 // Sequence number of the latest BeginFrame that was positively acknowledged |
(...skipping 25 matching lines...) Expand all Loading... |
161 // observers according to above comment. | 160 // observers according to above comment. |
162 uint64_t latest_confirmed_sequence_number; | 161 uint64_t latest_confirmed_sequence_number; |
163 | 162 |
164 // Source identifier of the BeginFrame that is acknowledged. The | 163 // Source identifier of the BeginFrame that is acknowledged. The |
165 // BeginFrameSource that receives the acknowledgment uses this to discard | 164 // BeginFrameSource that receives the acknowledgment uses this to discard |
166 // BeginFrameAcks for BeginFrames sent by a different source. Such a situation | 165 // BeginFrameAcks for BeginFrames sent by a different source. Such a situation |
167 // may occur when the BeginFrameSource of the observer changes while a | 166 // may occur when the BeginFrameSource of the observer changes while a |
168 // BeginFrame from the old source is still in flight. | 167 // BeginFrame from the old source is still in flight. |
169 uint32_t source_id; // |source_id| after above fields for packing. | 168 uint32_t source_id; // |source_id| after above fields for packing. |
170 | 169 |
171 // Number of BeginFrames queued at the observer at time of acknowledgment. | |
172 // TODO(eseckler): Remove this field and replace with ack-tracking if needed. | |
173 uint32_t remaining_frames; | |
174 | |
175 // |true| if the observer has produced damage (e.g. sent a CompositorFrame or | 170 // |true| if the observer has produced damage (e.g. sent a CompositorFrame or |
176 // damaged a surface) as part of responding to the BeginFrame. | 171 // damaged a surface) as part of responding to the BeginFrame. |
177 bool has_damage; | 172 bool has_damage; |
178 }; | 173 }; |
179 | 174 |
180 } // namespace cc | 175 } // namespace cc |
181 | 176 |
182 #endif // CC_OUTPUT_BEGIN_FRAME_ARGS_H_ | 177 #endif // CC_OUTPUT_BEGIN_FRAME_ARGS_H_ |
OLD | NEW |