Index: cc/scheduler/scheduler_state_machine_unittest.cc |
diff --git a/cc/scheduler/scheduler_state_machine_unittest.cc b/cc/scheduler/scheduler_state_machine_unittest.cc |
index 117c7788e54e9436fe3ac4ab7e0bb5890cc07de5..001a2298d09057932780e17b3628aec526185dd0 100644 |
--- a/cc/scheduler/scheduler_state_machine_unittest.cc |
+++ b/cc/scheduler/scheduler_state_machine_unittest.cc |
@@ -35,11 +35,10 @@ class StateMachine : public SchedulerStateMachine { |
bool NeedsForcedRedraw() const { return needs_forced_redraw_; } |
bool CanDraw() const { return can_draw_; } |
- bool InsideVSync() const { return inside_vsync_; } |
bool Visible() const { return visible_; } |
}; |
-TEST(SchedulerStateMachineTest, TestNextActionBeginsFrameIfNeeded) { |
+TEST(SchedulerStateMachineTest, TestNextActionBeginsMainFrameIfNeeded) { |
SchedulerSettings default_scheduler_settings; |
// If no commit needed, do nothing. |
@@ -52,39 +51,39 @@ TEST(SchedulerStateMachineTest, TestNextActionBeginsFrameIfNeeded) { |
state.SetNeedsRedraw(false); |
state.SetVisible(true); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
} |
- // If commit requested but can_begin_frame is still false, do nothing. |
+ // If commit requested but can_start is still false, do nothing. |
{ |
StateMachine state(default_scheduler_settings); |
state.SetCommitState(SchedulerStateMachine::COMMIT_STATE_IDLE); |
state.SetNeedsRedraw(false); |
state.SetVisible(true); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
} |
- // If commit requested, begin a frame. |
+ // If commit requested, begin a main frame. |
{ |
StateMachine state(default_scheduler_settings); |
state.SetCommitState(SchedulerStateMachine::COMMIT_STATE_IDLE); |
state.SetCanStart(); |
state.SetNeedsRedraw(false); |
state.SetVisible(true); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
} |
// Begin the frame, make sure needs_commit and commit_state update correctly. |
@@ -94,11 +93,12 @@ TEST(SchedulerStateMachineTest, TestNextActionBeginsFrameIfNeeded) { |
state.UpdateState(state.NextAction()); |
state.DidCreateAndInitializeOutputSurface(); |
state.SetVisible(true); |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
EXPECT_FALSE(state.NeedsCommit()); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
} |
} |
@@ -108,7 +108,7 @@ TEST(SchedulerStateMachineTest, TestSetForcedRedrawDoesNotSetsNormalRedraw) { |
state.SetCanDraw(true); |
state.SetNeedsForcedRedraw(); |
EXPECT_FALSE(state.RedrawPending()); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
} |
TEST(SchedulerStateMachineTest, |
@@ -122,8 +122,8 @@ TEST(SchedulerStateMachineTest, |
state.SetCanDraw(true); |
state.SetNeedsRedraw(); |
EXPECT_TRUE(state.RedrawPending()); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
// We're drawing now. |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
@@ -134,8 +134,10 @@ TEST(SchedulerStateMachineTest, |
// Failing the draw makes us require a commit. |
state.DidDrawIfPossibleCompleted(false); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_TRUE(state.RedrawPending()); |
EXPECT_TRUE(state.CommitPending()); |
} |
@@ -152,8 +154,8 @@ TEST(SchedulerStateMachineTest, |
state.SetCanDraw(true); |
state.SetNeedsRedraw(); |
EXPECT_TRUE(state.RedrawPending()); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
// We're drawing now. |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
@@ -162,14 +164,15 @@ TEST(SchedulerStateMachineTest, |
EXPECT_FALSE(state.RedrawPending()); |
EXPECT_FALSE(state.CommitPending()); |
- // While still in the same vsync callback, set needs redraw again. |
- // This should not redraw. |
+ // While still in the same begin frame callback on the main thread, |
+ // set needs redraw again. This should not redraw. |
state.SetNeedsRedraw(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Failing the draw makes us require a commit. |
state.DidDrawIfPossibleCompleted(false); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
EXPECT_TRUE(state.RedrawPending()); |
} |
@@ -185,14 +188,16 @@ TEST(SchedulerStateMachineTest, |
// Start a commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_TRUE(state.CommitPending()); |
// Then initiate a draw. |
state.SetNeedsRedraw(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -205,7 +210,7 @@ TEST(SchedulerStateMachineTest, |
EXPECT_TRUE(state.CommitPending()); |
// Finish the commit. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_COMMIT); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -226,14 +231,16 @@ TEST(SchedulerStateMachineTest, |
// Start a commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_TRUE(state.CommitPending()); |
// Then initiate a draw. |
state.SetNeedsRedraw(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -257,7 +264,7 @@ TEST(SchedulerStateMachineTest, |
EXPECT_TRUE(state.CommitPending()); |
// Finish the commit. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_COMMIT); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -279,14 +286,16 @@ TEST(SchedulerStateMachineTest, |
// Start a commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_TRUE(state.CommitPending()); |
// Then initiate a draw. |
state.SetNeedsRedraw(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -300,7 +309,7 @@ TEST(SchedulerStateMachineTest, |
// Finish the commit. Note, we should not yet be forcing a draw, but should |
// continue the commit as usual. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_COMMIT); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -309,7 +318,8 @@ TEST(SchedulerStateMachineTest, |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestFailedDrawIsRetriedNextVSync) { |
+TEST(SchedulerStateMachineTest, |
+ TestFailedDrawIsRetriedInNextBeginFrameForImplThread) { |
SchedulerSettings default_scheduler_settings; |
SchedulerStateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -320,8 +330,8 @@ TEST(SchedulerStateMachineTest, TestFailedDrawIsRetriedNextVSync) { |
// Start a draw. |
state.SetNeedsRedraw(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
EXPECT_TRUE(state.RedrawPending()); |
@@ -332,13 +342,14 @@ TEST(SchedulerStateMachineTest, TestFailedDrawIsRetriedNextVSync) { |
EXPECT_TRUE(state.RedrawPending()); |
// We should not be trying to draw again now, but we have a commit pending. |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
- state.DidLeaveVSync(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ state.DidLeaveBeginFrame(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
- // We should try draw again in the next vsync. |
+ // We should try to draw again in the next begin frame on the impl thread. |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
} |
@@ -351,32 +362,33 @@ TEST(SchedulerStateMachineTest, TestDoestDrawTwiceInSameFrame) { |
state.SetVisible(true); |
state.SetCanDraw(true); |
state.SetNeedsRedraw(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE); |
- // While still in the same vsync callback, set needs redraw again. |
- // This should not redraw. |
+ // While still in the same begin frame for the impl thread, set needs redraw |
+ // again. This should not redraw. |
state.SetNeedsRedraw(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Move to another frame. This should now draw. |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
- state.DidEnterVSync(); |
+ state.DidLeaveBeginFrame(); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE); |
state.DidDrawIfPossibleCompleted(true); |
- EXPECT_FALSE(state.VSyncCallbackNeeded()); |
+ EXPECT_FALSE(state.BeginFrameNeededByImplThread()); |
} |
-TEST(SchedulerStateMachineTest, TestNextActionDrawsOnVSync) { |
+TEST(SchedulerStateMachineTest, TestNextActionDrawsOnBeginFrame) { |
SchedulerSettings default_scheduler_settings; |
- // When not on vsync, or on vsync but not visible, don't draw. |
+ // When not in BeginFrame, or in BeginFrame but not visible, |
+ // don't draw. |
size_t num_commit_states = |
sizeof(all_commit_states) / sizeof(SchedulerStateMachine::CommitState); |
for (size_t i = 0; i < num_commit_states; ++i) { |
@@ -388,7 +400,7 @@ TEST(SchedulerStateMachineTest, TestNextActionDrawsOnVSync) { |
state.SetCommitState(all_commit_states[i]); |
bool visible = j; |
if (!visible) { |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
state.SetVisible(false); |
} else { |
state.SetVisible(true); |
@@ -405,8 +417,9 @@ TEST(SchedulerStateMachineTest, TestNextActionDrawsOnVSync) { |
} |
} |
- // When on vsync, or not on vsync but needs_forced_dedraw set, should always |
- // draw except if you're ready to commit, in which case commit. |
+ // When in BeginFrame, or not in BeginFrame but needs_forced_dedraw |
+ // set, should always draw except if you're ready to commit, in which case |
+ // commit. |
for (size_t i = 0; i < num_commit_states; ++i) { |
for (size_t j = 0; j < 2; ++j) { |
StateMachine state(default_scheduler_settings); |
@@ -417,7 +430,7 @@ TEST(SchedulerStateMachineTest, TestNextActionDrawsOnVSync) { |
state.SetCommitState(all_commit_states[i]); |
bool forced_draw = j; |
if (!forced_draw) { |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
state.SetNeedsRedraw(true); |
state.SetVisible(true); |
} else { |
@@ -435,12 +448,12 @@ TEST(SchedulerStateMachineTest, TestNextActionDrawsOnVSync) { |
} |
// Case 1: needs_commit=false. |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
EXPECT_EQ(expected_action, state.NextAction()); |
// Case 2: needs_commit=true. |
state.SetNeedsCommit(); |
- EXPECT_TRUE(state.VSyncCallbackNeeded()); |
+ EXPECT_TRUE(state.BeginFrameNeededByImplThread()); |
EXPECT_EQ(expected_action, state.NextAction()); |
} |
} |
@@ -452,7 +465,7 @@ TEST(SchedulerStateMachineTest, TestNoCommitStatesRedrawWhenInvisible) { |
size_t num_commit_states = |
sizeof(all_commit_states) / sizeof(SchedulerStateMachine::CommitState); |
for (size_t i = 0; i < num_commit_states; ++i) { |
- // There shouldn't be any drawing regardless of vsync. |
+ // There shouldn't be any drawing regardless of BeginFrame. |
for (size_t j = 0; j < 2; ++j) { |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -463,7 +476,7 @@ TEST(SchedulerStateMachineTest, TestNoCommitStatesRedrawWhenInvisible) { |
state.SetNeedsRedraw(true); |
state.SetNeedsForcedRedraw(false); |
if (j == 1) |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
// Case 1: needs_commit=false. |
EXPECT_NE(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, |
@@ -483,7 +496,7 @@ TEST(SchedulerStateMachineTest, TestCanRedraw_StopsDraw) { |
size_t num_commit_states = |
sizeof(all_commit_states) / sizeof(SchedulerStateMachine::CommitState); |
for (size_t i = 0; i < num_commit_states; ++i) { |
- // There shouldn't be any drawing regardless of vsync. |
+ // There shouldn't be any drawing regardless of BeginFrame. |
for (size_t j = 0; j < 2; ++j) { |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -494,7 +507,7 @@ TEST(SchedulerStateMachineTest, TestCanRedraw_StopsDraw) { |
state.SetNeedsRedraw(true); |
state.SetNeedsForcedRedraw(false); |
if (j == 1) |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
state.SetCanDraw(false); |
EXPECT_NE(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, |
@@ -516,7 +529,8 @@ TEST(SchedulerStateMachineTest, |
state.SetNeedsRedraw(true); |
state.SetVisible(true); |
state.SetCanDraw(false); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
TEST(SchedulerStateMachineTest, TestsetNeedsCommitIsNotLost) { |
@@ -530,7 +544,8 @@ TEST(SchedulerStateMachineTest, TestsetNeedsCommitIsNotLost) { |
state.SetCanDraw(true); |
// Begin the frame. |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
@@ -540,17 +555,17 @@ TEST(SchedulerStateMachineTest, TestsetNeedsCommitIsNotLost) { |
EXPECT_TRUE(state.NeedsCommit()); |
// Let the frame finish. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
state.CommitState()); |
- // Expect to commit regardless of vsync state. |
- state.DidLeaveVSync(); |
+ // Expect to commit regardless of BeginFrame state. |
+ state.DidLeaveBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
- // Commit and make sure we draw on next vsync |
+ // Commit and make sure we draw on next BeginFrame |
state.UpdateState(SchedulerStateMachine::ACTION_COMMIT); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, |
@@ -559,8 +574,9 @@ TEST(SchedulerStateMachineTest, TestsetNeedsCommitIsNotLost) { |
state.DidDrawIfPossibleCompleted(true); |
// Verify that another commit will begin. |
- state.DidLeaveVSync(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ state.DidLeaveBeginFrame(); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
TEST(SchedulerStateMachineTest, TestFullCycle) { |
@@ -574,17 +590,19 @@ TEST(SchedulerStateMachineTest, TestFullCycle) { |
// Start clean and set commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
// Begin the frame. |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
EXPECT_FALSE(state.NeedsCommit()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Tell the scheduler the frame finished. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
state.CommitState()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
@@ -595,15 +613,15 @@ TEST(SchedulerStateMachineTest, TestFullCycle) { |
state.CommitState()); |
EXPECT_TRUE(state.NeedsRedraw()); |
- // Expect to do nothing until vsync. |
+ // Expect to do nothing until BeginFrame. |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- // At vsync, draw. |
- state.DidEnterVSync(); |
+ // At BeginFrame, draw. |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
// Should be synchronized, no draw needed, no action needed. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_IDLE, state.CommitState()); |
@@ -622,10 +640,12 @@ TEST(SchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween) { |
// Start clean and set commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
// Begin the frame. |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
EXPECT_FALSE(state.NeedsCommit()); |
@@ -636,7 +656,7 @@ TEST(SchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween) { |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Tell the scheduler the frame finished. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
state.CommitState()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
@@ -647,20 +667,21 @@ TEST(SchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween) { |
state.CommitState()); |
EXPECT_TRUE(state.NeedsRedraw()); |
- // Expect to do nothing until vsync. |
+ // Expect to do nothing until BeginFrame. |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- // At vsync, draw. |
- state.DidEnterVSync(); |
+ // At BeginFrame, draw. |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
// Should be synchronized, no draw needed, no action needed. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_IDLE, state.CommitState()); |
EXPECT_FALSE(state.NeedsRedraw()); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
TEST(SchedulerStateMachineTest, TestRequestCommitInvisible) { |
@@ -673,7 +694,7 @@ TEST(SchedulerStateMachineTest, TestRequestCommitInvisible) { |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes) { |
+TEST(SchedulerStateMachineTest, TestGoesInvisibleBeforeFinishCommit) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -684,18 +705,20 @@ TEST(SchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes) { |
// Start clean and set commit. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
// Begin the frame while visible. |
- state.UpdateState(SchedulerStateMachine::ACTION_BEGIN_FRAME); |
+ state.UpdateState( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
EXPECT_FALSE(state.NeedsCommit()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- // Become invisible and abort the BeginFrame. |
+ // Become invisible and abort the main thread's begin frame. |
state.SetVisible(false); |
- state.BeginFrameAborted(); |
+ state.BeginFrameAbortedByMainThread(); |
// We should now be back in the idle state as if we didn't start a frame at |
// all. |
@@ -707,7 +730,8 @@ TEST(SchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes) { |
// We should be beginning a frame now. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_IDLE, state.CommitState()); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
// Begin the frame. |
state.UpdateState(state.NextAction()); |
@@ -760,7 +784,8 @@ TEST(SchedulerStateMachineTest, TestContextLostWhenCompletelyIdle) { |
state.DidCreateAndInitializeOutputSurface(); |
// When the context is recreated, we should begin a commit. |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
} |
@@ -793,18 +818,19 @@ TEST(SchedulerStateMachineTest, |
state.DidCreateAndInitializeOutputSurface(); |
// When the context is recreated, we should begin a commit |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
// Once the context is recreated, whether we draw should be based on |
// SetCanDraw. |
state.SetNeedsRedraw(true); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.SetCanDraw(false); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
state.SetCanDraw(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
} |
TEST(SchedulerStateMachineTest, TestContextLostWhileCommitInProgress) { |
@@ -818,17 +844,19 @@ TEST(SchedulerStateMachineTest, TestContextLostWhileCommitInProgress) { |
// Get a commit in flight. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
// Set damage and expect a draw. |
state.SetNeedsRedraw(true); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
- // Cause a lost context while the begin frame is in flight. |
+ // Cause a lost context while the begin frame is in flight |
+ // for the main thread. |
state.DidLoseOutputSurface(); |
// Ask for another draw. Expect nothing happens. |
@@ -836,7 +864,7 @@ TEST(SchedulerStateMachineTest, TestContextLostWhileCommitInProgress) { |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Finish the frame, and commit. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(state.NextAction()); |
@@ -846,11 +874,12 @@ TEST(SchedulerStateMachineTest, TestContextLostWhileCommitInProgress) { |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(state.NextAction()); |
- // Expect to be told to begin context recreation, independent of vsync state. |
- state.DidEnterVSync(); |
+ // Expect to be told to begin context recreation, independent of |
+ // BeginFrame state. |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
state.NextAction()); |
} |
@@ -867,17 +896,19 @@ TEST(SchedulerStateMachineTest, |
// Get a commit in flight. |
state.SetNeedsCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
// Set damage and expect a draw. |
state.SetNeedsRedraw(true); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
- // Cause a lost context while the begin frame is in flight. |
+ // Cause a lost context while the begin frame is in flight |
+ // for the main thread. |
state.DidLoseOutputSurface(); |
// Ask for another draw and also set needs commit. Expect nothing happens. |
@@ -886,7 +917,7 @@ TEST(SchedulerStateMachineTest, |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
// Finish the frame, and commit. |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(state.NextAction()); |
@@ -896,11 +927,12 @@ TEST(SchedulerStateMachineTest, |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.NextAction()); |
state.UpdateState(state.NextAction()); |
- // Expect to be told to begin context recreation, independent of vsync state |
- state.DidEnterVSync(); |
+ // Expect to be told to begin context recreation, independent of |
+ // BeginFrame state |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
state.NextAction()); |
} |
@@ -919,23 +951,24 @@ TEST(SchedulerStateMachineTest, TestFinishAllRenderingWhileContextLost) { |
// Ask a forced redraw and verify it ocurrs. |
state.SetNeedsForcedRedraw(true); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
// Clear the forced redraw bit. |
state.SetNeedsForcedRedraw(false); |
- // Expect to be told to begin context recreation, independent of vsync state |
+ // Expect to be told to begin context recreation, independent of |
+ // BeginFrame state |
EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
state.NextAction()); |
state.UpdateState(state.NextAction()); |
// Ask a forced redraw and verify it ocurrs. |
state.SetNeedsForcedRedraw(true); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
} |
TEST(SchedulerStateMachineTest, DontDrawBeforeCommitAfterLostOutputSurface) { |
@@ -957,10 +990,12 @@ TEST(SchedulerStateMachineTest, DontDrawBeforeCommitAfterLostOutputSurface) { |
state.DidCreateAndInitializeOutputSurface(); |
EXPECT_FALSE(state.RedrawPending()); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestBeginFrameWhenInvisibleAndForceCommit) { |
+TEST(SchedulerStateMachineTest, |
+ TestSendBeginFrameToMainThreadWhenInvisibleAndForceCommit) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -969,24 +1004,23 @@ TEST(SchedulerStateMachineTest, TestBeginFrameWhenInvisibleAndForceCommit) { |
state.SetVisible(false); |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
TEST(SchedulerStateMachineTest, |
- TestBeginFrameWhenCanBeginFrameFalseAndForceCommit) { |
+ TestSendBeginFrameToMainThreadWhenCanStartFalseAndForceCommit) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
- state.SetCanStart(); |
- state.UpdateState(state.NextAction()); |
- state.DidCreateAndInitializeOutputSurface(); |
state.SetVisible(true); |
state.SetCanDraw(true); |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestBeginFrameWhenCommitInProgress) { |
+TEST(SchedulerStateMachineTest, TestFinishCommitWhenCommitInProgress) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -996,7 +1030,7 @@ TEST(SchedulerStateMachineTest, TestBeginFrameWhenCommitInProgress) { |
state.SetCommitState(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS); |
state.SetNeedsCommit(); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(state.NextAction()); |
@@ -1006,7 +1040,7 @@ TEST(SchedulerStateMachineTest, TestBeginFrameWhenCommitInProgress) { |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestBeginFrameWhenForcedCommitInProgress) { |
+TEST(SchedulerStateMachineTest, TestFinishCommitWhenForcedCommitInProgress) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1017,19 +1051,19 @@ TEST(SchedulerStateMachineTest, TestBeginFrameWhenForcedCommitInProgress) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
state.UpdateState(state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW, |
state.CommitState()); |
- // If we are waiting for forced draw then we know a begin frame is already in |
- // flight. |
+ // If we are waiting for forced draw then we know a begin frame is already |
+ // in flight for the main thread. |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestBeginFrameWhenContextLost) { |
+TEST(SchedulerStateMachineTest, TestSendBeginFrameToMainThreadWhenContextLost) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1040,10 +1074,11 @@ TEST(SchedulerStateMachineTest, TestBeginFrameWhenContextLost) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
state.DidLoseOutputSurface(); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
} |
-TEST(SchedulerStateMachineTest, TestImmediateBeginFrame) { |
+TEST(SchedulerStateMachineTest, TestImmediateFinishCommit) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1056,7 +1091,7 @@ TEST(SchedulerStateMachineTest, TestImmediateBeginFrame) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
state.UpdateState(state.NextAction()); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
state.CommitState()); |
@@ -1065,20 +1100,20 @@ TEST(SchedulerStateMachineTest, TestImmediateBeginFrame) { |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW, |
state.CommitState()); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
state.SetNeedsForcedRedraw(true); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
state.UpdateState(state.NextAction()); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
- // Should be waiting for the normal begin frame. |
+ // Should be waiting for the normal begin frame from the main thread. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()); |
} |
-TEST(SchedulerStateMachineTest, TestImmediateBeginFrameDuringCommit) { |
+TEST(SchedulerStateMachineTest, TestImmediateFinishCommitDuringCommit) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1095,7 +1130,7 @@ TEST(SchedulerStateMachineTest, TestImmediateBeginFrameDuringCommit) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
state.UpdateState(state.NextAction()); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
state.CommitState()); |
@@ -1104,20 +1139,21 @@ TEST(SchedulerStateMachineTest, TestImmediateBeginFrameDuringCommit) { |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW, |
state.CommitState()); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
state.SetNeedsForcedRedraw(true); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
state.UpdateState(state.NextAction()); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
- // Should be waiting for the normal begin frame. |
+ // Should be waiting for the normal begin frame from the main thread. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()) << state.ToString(); |
} |
-TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileInvisible) { |
+TEST(SchedulerStateMachineTest, |
+ ImmediateBeginFrameAbortedByMainThreadWhileInvisible) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1132,7 +1168,7 @@ TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileInvisible) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
state.UpdateState(state.NextAction()); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
@@ -1142,28 +1178,28 @@ TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileInvisible) { |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW, |
state.CommitState()); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
state.SetNeedsForcedRedraw(true); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
state.UpdateState(state.NextAction()); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
- // Should be waiting for the normal begin frame. |
+ // Should be waiting for the main thread's begin frame. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, |
state.CommitState()) << state.ToString(); |
- // Become invisible and abort the "normal" begin frame. |
+ // Become invisible and abort the main thread's begin frame. |
state.SetVisible(false); |
- state.BeginFrameAborted(); |
+ state.BeginFrameAbortedByMainThread(); |
// Should be back in the idle state, but needing a commit. |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_IDLE, state.CommitState()); |
EXPECT_TRUE(state.NeedsCommit()); |
} |
-TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileCantDraw) { |
+TEST(SchedulerStateMachineTest, ImmediateFinishCommitWhileCantDraw) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
state.SetCanStart(); |
@@ -1178,7 +1214,7 @@ TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileCantDraw) { |
state.SetNeedsCommit(); |
state.SetNeedsForcedCommit(); |
state.UpdateState(state.NextAction()); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_READY_TO_COMMIT, |
@@ -1188,13 +1224,13 @@ TEST(SchedulerStateMachineTest, ImmediateBeginFrameWhileCantDraw) { |
EXPECT_EQ(SchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW, |
state.CommitState()); |
- state.DidEnterVSync(); |
+ state.DidEnterBeginFrame(); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
state.SetNeedsForcedRedraw(true); |
EXPECT_EQ(SchedulerStateMachine::ACTION_DRAW_FORCED, state.NextAction()); |
state.UpdateState(state.NextAction()); |
state.DidDrawIfPossibleCompleted(true); |
- state.DidLeaveVSync(); |
+ state.DidLeaveBeginFrame(); |
} |
TEST(SchedulerStateMachineTest, ReportIfNotDrawing) { |
@@ -1239,14 +1275,15 @@ TEST(SchedulerStateMachineTest, ReportIfNotDrawingFromAcquiredTextures) { |
state.UpdateState(state.NextAction()); |
EXPECT_TRUE(state.DrawSuspendedUntilCommit()); |
- EXPECT_EQ(SchedulerStateMachine::ACTION_BEGIN_FRAME, state.NextAction()); |
+ EXPECT_EQ(SchedulerStateMachine::ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD, |
+ state.NextAction()); |
state.UpdateState(state.NextAction()); |
EXPECT_TRUE(state.DrawSuspendedUntilCommit()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_NONE, state.NextAction()); |
- state.BeginFrameComplete(); |
+ state.FinishCommit(); |
EXPECT_TRUE(state.DrawSuspendedUntilCommit()); |
EXPECT_EQ(SchedulerStateMachine::ACTION_COMMIT, state.NextAction()); |