diff options
Diffstat (limited to 'chromium/gpu/ipc/client/command_buffer_proxy_impl.cc')
-rw-r--r-- | chromium/gpu/ipc/client/command_buffer_proxy_impl.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc b/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc index 57827e5ffc2..d1405a8425c 100644 --- a/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc +++ b/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc @@ -637,7 +637,10 @@ void CommandBufferProxyImpl::TakeFrontBuffer(const gpu::Mailbox& mailbox) { if (last_state_.error != gpu::error::kNoError) return; - Send(new GpuCommandBufferMsg_TakeFrontBuffer(route_id_, mailbox)); + // TakeFrontBuffer should be a deferred message so that it's sequenced + // correctly with respect to preceding ReturnFrontBuffer messages. + last_flush_id_ = channel_->EnqueueDeferredMessage( + GpuCommandBufferMsg_TakeFrontBuffer(route_id_, mailbox)); } void CommandBufferProxyImpl::ReturnFrontBuffer(const gpu::Mailbox& mailbox, |