| 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 "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/test/null_task_runner.h" | 8 #include "base/test/null_task_runner.h" |
| 9 #include "base/test/simple_test_tick_clock.h" | 9 #include "base/test/simple_test_tick_clock.h" |
| 10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 // Don't draw and swap in deadline while swap throttled. | 471 // Don't draw and swap in deadline while swap throttled. |
| 472 EXPECT_EQ(3, client_.draw_and_swap_count()); | 472 EXPECT_EQ(3, client_.draw_and_swap_count()); |
| 473 scheduler_.BeginFrameDeadlineForTest(); | 473 scheduler_.BeginFrameDeadlineForTest(); |
| 474 EXPECT_EQ(3, client_.draw_and_swap_count()); | 474 EXPECT_EQ(3, client_.draw_and_swap_count()); |
| 475 | 475 |
| 476 // Deadline triggers normally once not swap throttled. | 476 // Deadline triggers normally once not swap throttled. |
| 477 // Damage from previous BeginFrame should cary over, so don't damage again. | 477 // Damage from previous BeginFrame should cary over, so don't damage again. |
| 478 base::TimeTicks expected_deadline = | 478 base::TimeTicks expected_deadline = |
| 479 scheduler_.LastUsedBeginFrameArgs().deadline - | 479 scheduler_.LastUsedBeginFrameArgs().deadline - |
| 480 BeginFrameArgs::DefaultEstimatedParentDrawTime(); | 480 BeginFrameArgs::DefaultEstimatedParentDrawTime(); |
| 481 scheduler_.DidSwapBuffersComplete(); | 481 scheduler_.DidReceiveSwapBuffersAck(); |
| 482 BeginFrameForTest(); | 482 BeginFrameForTest(); |
| 483 EXPECT_EQ(expected_deadline, | 483 EXPECT_EQ(expected_deadline, |
| 484 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); | 484 scheduler_.DesiredBeginFrameDeadlineTimeForTest()); |
| 485 // Still waiting for surface 2. Once it updates, deadline should trigger | 485 // Still waiting for surface 2. Once it updates, deadline should trigger |
| 486 // immediately again. | 486 // immediately again. |
| 487 scheduler_.SurfaceDamaged(sid2); | 487 scheduler_.SurfaceDamaged(sid2); |
| 488 EXPECT_EQ(scheduler_.DesiredBeginFrameDeadlineTimeForTest(), | 488 EXPECT_EQ(scheduler_.DesiredBeginFrameDeadlineTimeForTest(), |
| 489 base::TimeTicks()); | 489 base::TimeTicks()); |
| 490 // Draw and swap now that we aren't throttled. | 490 // Draw and swap now that we aren't throttled. |
| 491 EXPECT_EQ(3, client_.draw_and_swap_count()); | 491 EXPECT_EQ(3, client_.draw_and_swap_count()); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 522 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 522 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 523 | 523 |
| 524 BeginFrameForTest(); | 524 BeginFrameForTest(); |
| 525 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 525 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 526 | 526 |
| 527 scheduler_.BeginFrameDeadlineForTest(); | 527 scheduler_.BeginFrameDeadlineForTest(); |
| 528 scheduler_.DidSwapBuffers(); | 528 scheduler_.DidSwapBuffers(); |
| 529 BeginFrameForTest(); | 529 BeginFrameForTest(); |
| 530 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 530 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 531 | 531 |
| 532 scheduler_.DidSwapBuffersComplete(); | 532 scheduler_.DidReceiveSwapBuffersAck(); |
| 533 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 533 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 534 | 534 |
| 535 scheduler_.DisplayResized(); | 535 scheduler_.DisplayResized(); |
| 536 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 536 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 537 | 537 |
| 538 scheduler_.SetNewRootSurface(root_surface_id); | 538 scheduler_.SetNewRootSurface(root_surface_id); |
| 539 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 539 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 540 | 540 |
| 541 scheduler_.SurfaceDamaged(sid1); | 541 scheduler_.SurfaceDamaged(sid1); |
| 542 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 542 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 543 | 543 |
| 544 scheduler_.SetRootSurfaceResourcesLocked(true); | 544 scheduler_.SetRootSurfaceResourcesLocked(true); |
| 545 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 545 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 546 | 546 |
| 547 scheduler_.OutputSurfaceLost(); | 547 scheduler_.OutputSurfaceLost(); |
| 548 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); | 548 EXPECT_EQ(++count, scheduler_.scheduler_begin_frame_deadline_count()); |
| 549 } | 549 } |
| 550 | 550 |
| 551 } // namespace | 551 } // namespace |
| 552 } // namespace cc | 552 } // namespace cc |
| OLD | NEW |