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..9e19d6df63f26082971ca4163125373417eb4827 100644 |
--- a/gpu/ipc/service/gpu_channel.cc |
+++ b/gpu/ipc/service/gpu_channel.cc |
@@ -792,8 +792,9 @@ 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 (!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(); |