Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3864)

Unified Diff: cc/scheduler/scheduler_state_machine.cc

Issue 227413011: Remove old texture path in TextureLayer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/scheduler/scheduler_state_machine.h ('k') | cc/scheduler/scheduler_state_machine_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler/scheduler_state_machine.cc
diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
index 0a30ab747b0f6e36d14139602bef1115eb7d168c..886868dd377a5671515e3e9d92995c2c76c7a181 100644
--- a/cc/scheduler/scheduler_state_machine.cc
+++ b/cc/scheduler/scheduler_state_machine.cc
@@ -18,7 +18,6 @@ SchedulerStateMachine::SchedulerStateMachine(const SchedulerSettings& settings)
output_surface_state_(OUTPUT_SURFACE_LOST),
begin_impl_frame_state_(BEGIN_IMPL_FRAME_STATE_IDLE),
commit_state_(COMMIT_STATE_IDLE),
- texture_state_(LAYER_TEXTURE_STATE_UNLOCKED),
forced_redraw_state_(FORCED_REDRAW_STATE_IDLE),
readback_state_(READBACK_STATE_IDLE),
commit_count_(0),
@@ -32,7 +31,6 @@ SchedulerStateMachine::SchedulerStateMachine(const SchedulerSettings& settings)
needs_manage_tiles_(false),
swap_used_incomplete_tile_(false),
needs_commit_(false),
- main_thread_needs_layer_textures_(false),
inside_poll_for_anticipated_draw_triggers_(false),
visible_(false),
can_start_(false),
@@ -101,19 +99,6 @@ const char* SchedulerStateMachine::CommitStateToString(CommitState state) {
return "???";
}
-const char* SchedulerStateMachine::TextureStateToString(TextureState state) {
- switch (state) {
- case LAYER_TEXTURE_STATE_UNLOCKED:
- return "LAYER_TEXTURE_STATE_UNLOCKED";
- case LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD:
- return "LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD";
- case LAYER_TEXTURE_STATE_ACQUIRED_BY_IMPL_THREAD:
- return "LAYER_TEXTURE_STATE_ACQUIRED_BY_IMPL_THREAD";
- }
- NOTREACHED();
- return "???";
-}
-
const char* SchedulerStateMachine::SynchronousReadbackStateToString(
SynchronousReadbackState state) {
switch (state) {
@@ -174,8 +159,6 @@ const char* SchedulerStateMachine::ActionToString(Action action) {
return "ACTION_DRAW_AND_READBACK";
case ACTION_BEGIN_OUTPUT_SURFACE_CREATION:
return "ACTION_BEGIN_OUTPUT_SURFACE_CREATION";
- case ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD:
- return "ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD";
case ACTION_MANAGE_TILES:
return "ACTION_MANAGE_TILES";
}
@@ -191,8 +174,6 @@ scoped_ptr<base::Value> SchedulerStateMachine::AsValue() const {
major_state->SetString("begin_impl_frame_state",
BeginImplFrameStateToString(begin_impl_frame_state_));
major_state->SetString("commit_state", CommitStateToString(commit_state_));
- major_state->SetString("texture_state_",
- TextureStateToString(texture_state_));
major_state->SetString("output_surface_state_",
OutputSurfaceStateToString(output_surface_state_));
major_state->SetString(
@@ -254,8 +235,6 @@ scoped_ptr<base::Value> SchedulerStateMachine::AsValue() const {
minor_state->SetBoolean("swap_used_incomplete_tile",
swap_used_incomplete_tile_);
minor_state->SetBoolean("needs_commit", needs_commit_);
- minor_state->SetBoolean("main_thread_needs_layer_textures",
- main_thread_needs_layer_textures_);
minor_state->SetBoolean("visible", visible_);
minor_state->SetBoolean("can_start", can_start_);
minor_state->SetBoolean("can_draw", can_draw_);
@@ -317,11 +296,6 @@ bool SchedulerStateMachine::PendingDrawsShouldBeAborted() const {
if (PendingActivationsShouldBeForced())
return true;
- // Impl thread should not draw anymore when texture is acquired by main thread
- // because texture is controlled under main thread.
- if (texture_state_ == LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD)
- return true;
-
// Additional states where we should abort draws.
// Note: We don't force activation in these cases because doing so would
// result in checkerboarding on resize, becoming visible, etc.
@@ -406,15 +380,6 @@ bool SchedulerStateMachine::ShouldDraw() const {
return needs_redraw_;
}
-bool SchedulerStateMachine::ShouldAcquireLayerTexturesForMainThread() const {
- if (!main_thread_needs_layer_textures_)
- return false;
- if (texture_state_ == LAYER_TEXTURE_STATE_UNLOCKED)
- return true;
- DCHECK_EQ(texture_state_, LAYER_TEXTURE_STATE_ACQUIRED_BY_IMPL_THREAD);
- return false;
-}
-
bool SchedulerStateMachine::ShouldActivatePendingTree() const {
// There is nothing to activate.
if (!has_pending_tree_)
@@ -551,8 +516,6 @@ bool SchedulerStateMachine::ShouldManageTiles() const {
}
SchedulerStateMachine::Action SchedulerStateMachine::NextAction() const {
- if (ShouldAcquireLayerTexturesForMainThread())
- return ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD;
if (ShouldUpdateVisibleTiles())
return ACTION_UPDATE_VISIBLE_TILES;
if (ShouldActivatePendingTree())
@@ -583,11 +546,6 @@ void SchedulerStateMachine::CheckInvariants() {
// timeout simultaneously.
DCHECK(!(forced_redraw_state_ == FORCED_REDRAW_STATE_WAITING_FOR_DRAW &&
readback_state_ == READBACK_STATE_WAITING_FOR_DRAW_AND_READBACK));
-
- // Main thread should never have the texture locked when there is a pending
- // tree or active tree is not drawn for the first time.
- if (has_pending_tree_ || active_tree_needs_first_draw_)
- DCHECK(texture_state_ != LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD);
}
void SchedulerStateMachine::UpdateState(Action action) {
@@ -651,11 +609,6 @@ void SchedulerStateMachine::UpdateState(Action action) {
DCHECK(!active_tree_needs_first_draw_);
return;
- case ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD:
- texture_state_ = LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD;
- main_thread_needs_layer_textures_ = false;
- return;
-
case ACTION_MANAGE_TILES:
UpdateStateOnManageTiles();
return;
@@ -736,13 +689,6 @@ void SchedulerStateMachine::UpdateStateOnCommit(bool commit_was_aborted) {
if (draw_if_possible_failed_)
last_frame_number_swap_performed_ = -1;
- // If we are planing to draw with the new commit, lock the layer textures for
- // use on the impl thread. Otherwise, leave them unlocked.
- if (has_pending_tree_ || needs_redraw_)
- texture_state_ = LAYER_TEXTURE_STATE_ACQUIRED_BY_IMPL_THREAD;
- else
- texture_state_ = LAYER_TEXTURE_STATE_UNLOCKED;
-
if (continuous_painting_)
needs_commit_ = true;
}
@@ -805,9 +751,6 @@ void SchedulerStateMachine::UpdateStateOnDraw(bool did_swap) {
if (commit_state_ == COMMIT_STATE_WAITING_FOR_FIRST_DRAW)
commit_state_ = COMMIT_STATE_IDLE;
- if (texture_state_ == LAYER_TEXTURE_STATE_ACQUIRED_BY_IMPL_THREAD)
- texture_state_ = LAYER_TEXTURE_STATE_UNLOCKED;
-
needs_redraw_ = false;
draw_if_possible_failed_ = false;
active_tree_needs_first_draw_ = false;
@@ -820,12 +763,6 @@ void SchedulerStateMachine::UpdateStateOnManageTiles() {
needs_manage_tiles_ = false;
}
-void SchedulerStateMachine::SetMainThreadNeedsLayerTextures() {
- DCHECK(!main_thread_needs_layer_textures_);
- DCHECK_NE(texture_state_, LAYER_TEXTURE_STATE_ACQUIRED_BY_MAIN_THREAD);
- main_thread_needs_layer_textures_ = true;
-}
-
void SchedulerStateMachine::SetSkipNextBeginMainFrameToReduceLatency() {
skip_next_begin_main_frame_to_reduce_latency_ = true;
}
« no previous file with comments | « cc/scheduler/scheduler_state_machine.h ('k') | cc/scheduler/scheduler_state_machine_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698