| Index: components/mus/gles2/command_buffer_driver.cc
|
| diff --git a/components/mus/gles2/command_buffer_driver.cc b/components/mus/gles2/command_buffer_driver.cc
|
| index 798bb564f80bd52822834114aa8ed97f8b10647c..64244d8bfc893ce52f6129d13cfdb08ec947adbe 100644
|
| --- a/components/mus/gles2/command_buffer_driver.cc
|
| +++ b/components/mus/gles2/command_buffer_driver.cc
|
| @@ -153,6 +153,10 @@ bool CommandBufferDriver::Initialize(
|
| &CommandBufferDriver::OnFenceSyncRelease, base::Unretained(this)));
|
| decoder_->SetWaitFenceSyncCallback(base::Bind(
|
| &CommandBufferDriver::OnWaitFenceSync, base::Unretained(this)));
|
| + decoder_->SetDescheduleUntilFinishedCallback(base::Bind(
|
| + &CommandBufferDriver::OnDescheduleUntilFinished, base::Unretained(this)));
|
| + decoder_->SetRescheduleAfterFinishedCallback(base::Bind(
|
| + &CommandBufferDriver::OnRescheduleAfterFinished, base::Unretained(this)));
|
|
|
| gpu::gles2::DisallowedFeatures disallowed_features;
|
|
|
| @@ -516,6 +520,21 @@ bool CommandBufferDriver::OnWaitFenceSync(
|
| return executor_->scheduled();
|
| }
|
|
|
| +void CommandBufferDriver::OnDescheduleUntilFinished() {
|
| + DCHECK(CalledOnValidThread());
|
| + DCHECK(IsScheduled());
|
| + DCHECK(executor_->HasMoreIdleWork());
|
| +
|
| + executor_->SetScheduled(false);
|
| +}
|
| +
|
| +void CommandBufferDriver::OnRescheduleAfterFinished() {
|
| + DCHECK(CalledOnValidThread());
|
| + DCHECK(!executor_->scheduled());
|
| +
|
| + executor_->SetScheduled(true);
|
| +}
|
| +
|
| void CommandBufferDriver::OnParseError() {
|
| DCHECK(CalledOnValidThread());
|
| gpu::CommandBuffer::State state = GetLastState();
|
|
|