diff options
Diffstat (limited to 'gpu/command_buffer/service/command_buffer_service.h')
-rw-r--r-- | gpu/command_buffer/service/command_buffer_service.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gpu/command_buffer/service/command_buffer_service.h b/gpu/command_buffer/service/command_buffer_service.h index c3bb841..c53a4bc 100644 --- a/gpu/command_buffer/service/command_buffer_service.h +++ b/gpu/command_buffer/service/command_buffer_service.h @@ -31,12 +31,9 @@ class GPU_EXPORT CommandBufferService : public CommandBuffer { virtual State FlushSync(int32 put_offset, int32 last_known_get) OVERRIDE; virtual void SetGetBuffer(int32 transfer_buffer_id) OVERRIDE; virtual void SetGetOffset(int32 get_offset) OVERRIDE; - virtual int32 CreateTransferBuffer(size_t size, int32 id_request) OVERRIDE; - virtual int32 RegisterTransferBuffer(base::SharedMemory* shared_memory, - size_t size, - int32 id_request) OVERRIDE; + virtual Buffer CreateTransferBuffer(size_t size, int32* id) OVERRIDE; virtual void DestroyTransferBuffer(int32 id) OVERRIDE; - virtual Buffer GetTransferBuffer(int32 handle) OVERRIDE; + virtual Buffer GetTransferBuffer(int32 id) OVERRIDE; virtual void SetToken(int32 token) OVERRIDE; virtual void SetParseError(error::Error error) OVERRIDE; virtual void SetContextLostReason(error::ContextLostReason) OVERRIDE; @@ -61,6 +58,13 @@ class GPU_EXPORT CommandBufferService : public CommandBuffer { // Copy the current state into the shared state transfer buffer. void UpdateState(); + // Register an existing shared memory object and get an ID that can be used + // to identify it in the command buffer. Callee dups the handle until + // DestroyTransferBuffer is called. + bool RegisterTransferBuffer(int32 id, + base::SharedMemory* shared_memory, + size_t size); + private: int32 ring_buffer_id_; Buffer ring_buffer_; |