summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/command_buffer_service.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/command_buffer_service.h')
-rw-r--r--gpu/command_buffer/service/command_buffer_service.h14
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_;