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

Side by Side Diff: cc/scheduler/scheduler_state_machine.cc

Issue 1997473003: cc: Remove unnecessary DCHECK and dead code from scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert waterfall config Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/scheduler/scheduler_state_machine.h" 5 #include "cc/scheduler/scheduler_state_machine.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 needs_begin_main_frame_ = false; 556 needs_begin_main_frame_ = false;
557 send_begin_main_frame_funnel_ = true; 557 send_begin_main_frame_funnel_ = true;
558 last_frame_number_begin_main_frame_sent_ = current_frame_number_; 558 last_frame_number_begin_main_frame_sent_ = current_frame_number_;
559 } 559 }
560 560
561 void SchedulerStateMachine::WillCommit(bool commit_has_no_updates) { 561 void SchedulerStateMachine::WillCommit(bool commit_has_no_updates) {
562 DCHECK(!has_pending_tree_ || 562 DCHECK(!has_pending_tree_ ||
563 (settings_.main_frame_before_activation_enabled && 563 (settings_.main_frame_before_activation_enabled &&
564 commit_has_no_updates)); 564 commit_has_no_updates));
565 commit_count_++; 565 commit_count_++;
566 last_commit_had_no_updates_ = commit_has_no_updates;
566 567
567 if (commit_has_no_updates || settings_.main_frame_before_activation_enabled) { 568 if (commit_has_no_updates || settings_.main_frame_before_activation_enabled) {
568 begin_main_frame_state_ = BEGIN_MAIN_FRAME_STATE_IDLE; 569 begin_main_frame_state_ = BEGIN_MAIN_FRAME_STATE_IDLE;
569 } else { 570 } else {
570 begin_main_frame_state_ = BEGIN_MAIN_FRAME_STATE_WAITING_FOR_ACTIVATION; 571 begin_main_frame_state_ = BEGIN_MAIN_FRAME_STATE_WAITING_FOR_ACTIVATION;
571 } 572 }
572 573
573 // Pending tree only exists if commit had updates. 574 if (!commit_has_no_updates) {
574 if (!commit_has_no_updates) 575 // Pending tree only exists if commit had updates.
575 has_pending_tree_ = true; 576 has_pending_tree_ = true;
576 577 pending_tree_is_ready_for_activation_ = false;
577 wait_for_ready_to_draw_ = 578 wait_for_ready_to_draw_ = settings_.commit_to_active_tree;
578 !commit_has_no_updates && settings_.commit_to_active_tree; 579 }
579 580
580 // Update state related to forced draws. 581 // Update state related to forced draws.
581 if (forced_redraw_state_ == FORCED_REDRAW_STATE_WAITING_FOR_COMMIT) { 582 if (forced_redraw_state_ == FORCED_REDRAW_STATE_WAITING_FOR_COMMIT) {
582 forced_redraw_state_ = has_pending_tree_ 583 forced_redraw_state_ = has_pending_tree_
583 ? FORCED_REDRAW_STATE_WAITING_FOR_ACTIVATION 584 ? FORCED_REDRAW_STATE_WAITING_FOR_ACTIVATION
584 : FORCED_REDRAW_STATE_WAITING_FOR_DRAW; 585 : FORCED_REDRAW_STATE_WAITING_FOR_DRAW;
585 } 586 }
586 587
587 // Update the output surface state. 588 // Update the output surface state.
588 DCHECK_NE(output_surface_state_, OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION);
589 if (output_surface_state_ == OUTPUT_SURFACE_WAITING_FOR_FIRST_COMMIT) { 589 if (output_surface_state_ == OUTPUT_SURFACE_WAITING_FOR_FIRST_COMMIT) {
590 if (has_pending_tree_) { 590 output_surface_state_ = has_pending_tree_
591 output_surface_state_ = OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION; 591 ? OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION
592 } else { 592 : OUTPUT_SURFACE_ACTIVE;
593 output_surface_state_ = OUTPUT_SURFACE_ACTIVE;
594 }
595 } 593 }
596
597 // Update state if there's no updates heading for the active tree, but we need
598 // to do a forced draw.
599 if (commit_has_no_updates &&
600 forced_redraw_state_ == FORCED_REDRAW_STATE_WAITING_FOR_DRAW) {
601 DCHECK(!has_pending_tree_);
602 needs_redraw_ = true;
603 }
604
605 // This post-commit work is common to both completed and aborted commits.
606 pending_tree_is_ready_for_activation_ = false;
607
608 last_commit_had_no_updates_ = commit_has_no_updates;
609 } 594 }
610 595
611 void SchedulerStateMachine::WillActivate() { 596 void SchedulerStateMachine::WillActivate() {
612 if (begin_main_frame_state_ == 597 if (begin_main_frame_state_ ==
613 BEGIN_MAIN_FRAME_STATE_WAITING_FOR_ACTIVATION) { 598 BEGIN_MAIN_FRAME_STATE_WAITING_FOR_ACTIVATION) {
614 begin_main_frame_state_ = settings_.commit_to_active_tree 599 begin_main_frame_state_ = settings_.commit_to_active_tree
615 ? BEGIN_MAIN_FRAME_STATE_WAITING_FOR_DRAW 600 ? BEGIN_MAIN_FRAME_STATE_WAITING_FOR_DRAW
616 : BEGIN_MAIN_FRAME_STATE_IDLE; 601 : BEGIN_MAIN_FRAME_STATE_IDLE;
617 } 602 }
618 603
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
1120 case OUTPUT_SURFACE_ACTIVE: 1105 case OUTPUT_SURFACE_ACTIVE:
1121 case OUTPUT_SURFACE_WAITING_FOR_FIRST_COMMIT: 1106 case OUTPUT_SURFACE_WAITING_FOR_FIRST_COMMIT:
1122 case OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION: 1107 case OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION:
1123 return true; 1108 return true;
1124 } 1109 }
1125 NOTREACHED(); 1110 NOTREACHED();
1126 return false; 1111 return false;
1127 } 1112 }
1128 1113
1129 } // namespace cc 1114 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698