diff options
author | khushalsagar <khushalsagar@chromium.org> | 2016-03-08 14:46:15 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-08 22:47:40 +0000 |
commit | 683c197c138288b04557257369b4ac15c5421f11 (patch) | |
tree | c786e92ce43a3652a168c1843100f8e17239bfd3 /cc/scheduler/scheduler_settings.h | |
parent | 15ab7da28b3d2e6391f58dda69b3407b4d207778 (diff) | |
download | chromium_src-683c197c138288b04557257369b4ac15c5421f11.zip chromium_src-683c197c138288b04557257369b4ac15c5421f11.tar.gz chromium_src-683c197c138288b04557257369b4ac15c5421f11.tar.bz2 |
cc: Fix for releasing output surface during commit.
In the remote compositor we can get into a state where the LTH on the
client requests a BeginMainFrame and then releases the output surface.
The server will still send a commit but we can't push this commit till
the client initializes a new output surface.
At the same time the scheduler will not request a new output surface
till it clears the pipeline of the previous commit.
This change adds a setting to the Scheduler to allow it to request a new
output surface, while there is a commit pending. The RemoteChannelImpl
queues any protos received if the output is released and process them
when a new output surface is initialized.
BUG=586210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1691143002
Cr-Commit-Position: refs/heads/master@{#379947}
Diffstat (limited to 'cc/scheduler/scheduler_settings.h')
-rw-r--r-- | cc/scheduler/scheduler_settings.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/cc/scheduler/scheduler_settings.h b/cc/scheduler/scheduler_settings.h index 7fd4447..d16e47c 100644 --- a/cc/scheduler/scheduler_settings.h +++ b/cc/scheduler/scheduler_settings.h @@ -30,6 +30,7 @@ class CC_EXPORT SchedulerSettings { bool timeout_and_draw_when_animation_checkerboards; bool using_synchronous_renderer_compositor; bool throttle_frame_production; + bool abort_commit_before_output_surface_creation; int maximum_number_of_failed_draws_before_draw_is_forced; base::TimeDelta background_frame_interval; |