| Index: cc/output/begin_frame_args.cc
|
| diff --git a/cc/output/begin_frame_args.cc b/cc/output/begin_frame_args.cc
|
| index 7ef2c4842ac4b30610a7acd9dd416f5f5270fc8a..7b4e31d721a6715159145fdc5c9d729f3f8a21c9 100644
|
| --- a/cc/output/begin_frame_args.cc
|
| +++ b/cc/output/begin_frame_args.cc
|
| @@ -24,26 +24,37 @@ const char* BeginFrameArgs::TypeToString(BeginFrameArgsType type) {
|
| return "???";
|
| }
|
|
|
| +const uint64_t BeginFrameArgs::kInvalidFrameNumber = 0;
|
| +const uint64_t BeginFrameArgs::kStartingFrameNumber = 1;
|
| +
|
| BeginFrameArgs::BeginFrameArgs()
|
| - : frame_time(base::TimeTicks()),
|
| + : source_id(0),
|
| + sequence_number(kInvalidFrameNumber),
|
| + frame_time(base::TimeTicks()),
|
| deadline(base::TimeTicks()),
|
| interval(base::TimeDelta::FromMicroseconds(-1)),
|
| type(BeginFrameArgs::INVALID),
|
| - on_critical_path(true) {
|
| -}
|
| + on_critical_path(true) {}
|
|
|
| -BeginFrameArgs::BeginFrameArgs(base::TimeTicks frame_time,
|
| +BeginFrameArgs::BeginFrameArgs(uint64_t source_id,
|
| + uint64_t sequence_number,
|
| + base::TimeTicks frame_time,
|
| base::TimeTicks deadline,
|
| base::TimeDelta interval,
|
| BeginFrameArgs::BeginFrameArgsType type)
|
| - : frame_time(frame_time),
|
| + : source_id(source_id),
|
| + sequence_number(sequence_number),
|
| + frame_time(frame_time),
|
| deadline(deadline),
|
| interval(interval),
|
| type(type),
|
| on_critical_path(true) {
|
| + DCHECK_LT(kInvalidFrameNumber, sequence_number);
|
| }
|
|
|
| BeginFrameArgs BeginFrameArgs::Create(BeginFrameArgs::CreationLocation location,
|
| + uint64_t source_id,
|
| + uint64_t sequence_number,
|
| base::TimeTicks frame_time,
|
| base::TimeTicks deadline,
|
| base::TimeDelta interval,
|
| @@ -51,9 +62,11 @@ BeginFrameArgs BeginFrameArgs::Create(BeginFrameArgs::CreationLocation location,
|
| DCHECK_NE(type, BeginFrameArgs::INVALID);
|
| DCHECK_NE(type, BeginFrameArgs::BEGIN_FRAME_ARGS_TYPE_MAX);
|
| #ifdef NDEBUG
|
| - return BeginFrameArgs(frame_time, deadline, interval, type);
|
| + return BeginFrameArgs(source_id, sequence_number, frame_time, deadline,
|
| + interval, type);
|
| #else
|
| - BeginFrameArgs args = BeginFrameArgs(frame_time, deadline, interval, type);
|
| + BeginFrameArgs args(source_id, sequence_number, frame_time, deadline,
|
| + interval, type);
|
| args.created_from = location;
|
| return args;
|
| #endif
|
| @@ -70,6 +83,8 @@ BeginFrameArgs::AsValue() const {
|
| void BeginFrameArgs::AsValueInto(base::trace_event::TracedValue* state) const {
|
| state->SetString("type", "BeginFrameArgs");
|
| state->SetString("subtype", TypeToString(type));
|
| + state->SetInteger("source_id", source_id);
|
| + state->SetInteger("sequence_number", sequence_number);
|
| state->SetDouble("frame_time_us", frame_time.ToInternalValue());
|
| state->SetDouble("deadline_us", deadline.ToInternalValue());
|
| state->SetDouble("interval_us", interval.InMicroseconds());
|
| @@ -93,4 +108,24 @@ base::TimeDelta BeginFrameArgs::DefaultInterval() {
|
| return base::TimeDelta::FromMicroseconds(16666);
|
| }
|
|
|
| +BeginFrameAck::BeginFrameAck()
|
| + : source_id(0),
|
| + sequence_number(BeginFrameArgs::kInvalidFrameNumber),
|
| + latest_confirmed_frame(BeginFrameArgs::kInvalidFrameNumber),
|
| + remaining_frames(0),
|
| + has_damage(false) {}
|
| +
|
| +BeginFrameAck::BeginFrameAck(uint64_t source_id,
|
| + uint64_t sequence_number,
|
| + uint64_t latest_confirmed_frame,
|
| + uint32_t remaining_frames,
|
| + bool has_damage)
|
| + : source_id(source_id),
|
| + sequence_number(sequence_number),
|
| + latest_confirmed_frame(latest_confirmed_frame),
|
| + remaining_frames(remaining_frames),
|
| + has_damage(has_damage) {
|
| + DCHECK_LT(BeginFrameArgs::kInvalidFrameNumber, sequence_number);
|
| +}
|
| +
|
| } // namespace cc
|
|
|