Chromium Code Reviews| Index: gpu/ipc/client/command_buffer_proxy_impl.h |
| diff --git a/gpu/ipc/client/command_buffer_proxy_impl.h b/gpu/ipc/client/command_buffer_proxy_impl.h |
| index 453d7b790c506bed40a045bf75db93c895f2d77c..f7af384698d0bbd73bfd2eb470958602ce5b0da6 100644 |
| --- a/gpu/ipc/client/command_buffer_proxy_impl.h |
| +++ b/gpu/ipc/client/command_buffer_proxy_impl.h |
| @@ -101,7 +101,6 @@ class GPU_EXPORT CommandBufferProxyImpl |
| unsigned usage) override; |
| void SignalQuery(uint32_t query, const base::Closure& callback) override; |
| void SetLock(base::Lock* lock) override; |
| - bool IsGpuChannelLost() override; |
| void EnsureWorkVisible() override; |
| gpu::CommandBufferNamespace GetNamespaceID() const override; |
| gpu::CommandBufferId GetCommandBufferID() const override; |
| @@ -167,7 +166,6 @@ class GPU_EXPORT CommandBufferProxyImpl |
| bool Send(IPC::Message* msg); |
| // Message handlers: |
| - void OnUpdateState(const gpu::CommandBuffer::State& state); |
| void OnDestroyed(gpu::error::ContextLostReason reason, |
| gpu::error::Error error); |
| void OnConsoleMessage(const GPUCommandBufferConsoleMessage& message); |
| @@ -177,21 +175,37 @@ class GPU_EXPORT CommandBufferProxyImpl |
| void OnUpdateVSyncParameters(base::TimeTicks timebase, |
| base::TimeDelta interval); |
| - // Try to read an updated copy of the state from shared memory. |
| - void TryUpdateState(); |
| - |
| // Updates the highest verified release fence sync. |
| void UpdateVerifiedReleases(uint32_t verified_flush); |
| - // Loses the context after we received an invalid message from the GPU |
| - // process. Will call the lost context callback reentrantly if any. |
| - void InvalidGpuMessage(); |
| + // Try to read an updated copy of the state from shared memory, and calls |
| + // OnGpuStateError() if the new state has an error. |
| + void TryUpdateState(); |
| + // Like the above but does not call the error event handler if the new state |
| + // has an error. |
| + void TryUpdateStateDontReportError(); |
| + // Sets the state, and calls OnGpuStateError() if the new state has an error. |
| + void SetStateFromSyncReply(const gpu::CommandBuffer::State& state); |
| // Loses the context after we received an invalid reply from the GPU |
| - // process. Will post a task to call the lost context callback if any. |
| - void InvalidGpuReply(); |
| + // process. |
| + void OnGpuSyncReplyError(); |
| + |
| + // Loses the context when receiving a message from the GPU process. |
| + void OnGpuAsyncMessageError(gpu::error::ContextLostReason reason, |
| + gpu::error::Error error); |
| + |
| + // Loses the context after we receive an error state from the GPU process. |
| + void OnGpuStateError(); |
| + |
| + // Sets an error on the last_state_ and loses the context due to client-side |
| + // errors. |
| + void OnClientError(gpu::error::Error error); |
| - void InvalidGpuReplyOnClientThread(); |
| + // Helper methods, don't call these directly. |
| + void DestroyChannelInFreshCallStack(); |
| + void LockAndDestroyChannel(); |
| + void DestroyChannel(); |
|
piman
2016/04/29 01:35:28
nit: we don't really destroy the channel (it's alm
danakj
2016/04/29 02:34:41
Ah ya, done in Patch set 7.
|
| // The shared memory area used to update state. |
| gpu::CommandBufferSharedState* shared_state() const; |