| Index: gpu/ipc/service/gpu_channel.cc
|
| diff --git a/gpu/ipc/service/gpu_channel.cc b/gpu/ipc/service/gpu_channel.cc
|
| index c4014d1f6271facca4a037d94667a45f07aa522a..568e6be21bd474a2638e15221dbe86b3eef3c7e8 100644
|
| --- a/gpu/ipc/service/gpu_channel.cc
|
| +++ b/gpu/ipc/service/gpu_channel.cc
|
| @@ -792,8 +792,10 @@ void GpuChannel::HandleMessage(
|
| HandleMessageHelper(msg);
|
|
|
| // If we get descheduled or yield while processing a message.
|
| - if (stub && stub->HasUnprocessedCommands()) {
|
| - DCHECK_EQ((uint32_t)GpuCommandBufferMsg_AsyncFlush::ID, msg.type());
|
| + if ((stub && stub->HasUnprocessedCommands()) ||
|
| + !message_queue->IsScheduled()) {
|
| + DCHECK((uint32_t)GpuCommandBufferMsg_AsyncFlush::ID == msg.type() ||
|
| + (uint32_t)GpuCommandBufferMsg_WaitSyncToken::ID == msg.type());
|
| message_queue->PauseMessageProcessing();
|
| } else {
|
| message_queue->FinishMessageProcessing();
|
|
|