OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "cc/surfaces/display_scheduler.h" | 5 #include "cc/surfaces/display_scheduler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 DCHECK(inside_begin_frame_deadline_interval_); | 359 DCHECK(inside_begin_frame_deadline_interval_); |
360 | 360 |
361 bool did_draw = AttemptDrawAndSwap(); | 361 bool did_draw = AttemptDrawAndSwap(); |
362 DidFinishFrame(did_draw); | 362 DidFinishFrame(did_draw); |
363 } | 363 } |
364 | 364 |
365 void DisplayScheduler::DidFinishFrame(bool did_draw) { | 365 void DisplayScheduler::DidFinishFrame(bool did_draw) { |
366 // TODO(eseckler): Determine and set correct |ack.latest_confirmed_frame|. | 366 // TODO(eseckler): Determine and set correct |ack.latest_confirmed_frame|. |
367 BeginFrameAck ack(current_begin_frame_args_.source_id, | 367 BeginFrameAck ack(current_begin_frame_args_.source_id, |
368 current_begin_frame_args_.sequence_number, | 368 current_begin_frame_args_.sequence_number, |
369 current_begin_frame_args_.sequence_number, 0, did_draw); | 369 current_begin_frame_args_.sequence_number, did_draw); |
370 begin_frame_source_->DidFinishFrame(this, ack); | 370 begin_frame_source_->DidFinishFrame(this, ack); |
371 } | 371 } |
372 | 372 |
373 void DisplayScheduler::DidSwapBuffers() { | 373 void DisplayScheduler::DidSwapBuffers() { |
374 pending_swaps_++; | 374 pending_swaps_++; |
375 TRACE_EVENT_ASYNC_BEGIN1("cc", "DisplayScheduler:pending_swaps", this, | 375 TRACE_EVENT_ASYNC_BEGIN1("cc", "DisplayScheduler:pending_swaps", this, |
376 "pending_frames", pending_swaps_); | 376 "pending_frames", pending_swaps_); |
377 } | 377 } |
378 | 378 |
379 void DisplayScheduler::DidReceiveSwapBuffersAck() { | 379 void DisplayScheduler::DidReceiveSwapBuffersAck() { |
380 pending_swaps_--; | 380 pending_swaps_--; |
381 TRACE_EVENT_ASYNC_END1("cc", "DisplayScheduler:pending_swaps", this, | 381 TRACE_EVENT_ASYNC_END1("cc", "DisplayScheduler:pending_swaps", this, |
382 "pending_frames", pending_swaps_); | 382 "pending_frames", pending_swaps_); |
383 ScheduleBeginFrameDeadline(); | 383 ScheduleBeginFrameDeadline(); |
384 } | 384 } |
385 | 385 |
386 } // namespace cc | 386 } // namespace cc |
OLD | NEW |