Index: content/common/gpu/gpu_command_buffer_stub.h |
=================================================================== |
--- content/common/gpu/gpu_command_buffer_stub.h (revision 93137) |
+++ content/common/gpu/gpu_command_buffer_stub.h (working copy) |
@@ -51,9 +51,6 @@ |
// IPC::Message::Sender implementation: |
virtual bool Send(IPC::Message* msg); |
- // Whether this command buffer can currently handle IPC messages. |
- bool IsScheduled(); |
- |
// Get the GLContext associated with this object. |
gpu::GpuScheduler* scheduler() const { return scheduler_.get(); } |
@@ -90,6 +87,10 @@ |
void AcceleratedSurfaceBuffersSwapped(uint64 swap_buffers_count); |
#endif // defined(OS_MACOSX) || defined(TOUCH_UI) |
+ // Called when the command buffer was destroyed, and the stub should now |
+ // unblock itself and handle pending messages. |
+ void CommandBufferWasDestroyed(); |
+ |
// Register a callback to be Run() whenever the underlying scheduler receives |
// a set_token() call. The callback will be Run() with the just-set token as |
// its only parameter. Multiple callbacks may be registered. |
@@ -109,7 +110,6 @@ |
uint32 flush_count, |
IPC::Message* reply_message); |
void OnAsyncFlush(int32 put_offset, uint32 flush_count); |
- void OnRescheduled(); |
void OnCreateTransferBuffer(int32 size, |
int32 id_request, |
IPC::Message* reply_message); |
@@ -126,6 +126,8 @@ |
void OnSwapBuffers(); |
void OnCommandProcessed(); |
+ void HandleDeferredMessages(); |
+ void OnScheduled(); |
void OnParseError(); |
#if defined(OS_MACOSX) |
@@ -162,6 +164,7 @@ |
scoped_ptr<gpu::CommandBufferService> command_buffer_; |
scoped_ptr<gpu::GpuScheduler> scheduler_; |
+ std::queue<IPC::Message*> deferred_messages_; |
std::vector<base::Callback<void(int32)> > set_token_callbacks_; |
// SetParent may be called before Initialize, in which case we need to keep |