OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/memory/shared_memory.h" | 9 #include "base/memory/shared_memory.h" |
10 #include "gpu/command_buffer/common/command_buffer.h" | 10 #include "gpu/command_buffer/common/command_buffer.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 // An object that implements a shared memory command buffer and a synchronous | 38 // An object that implements a shared memory command buffer and a synchronous |
39 // API to manage the put and get pointers. | 39 // API to manage the put and get pointers. |
40 class GPU_EXPORT CommandBufferService : public CommandBufferServiceBase { | 40 class GPU_EXPORT CommandBufferService : public CommandBufferServiceBase { |
41 public: | 41 public: |
42 typedef base::Callback<bool(int32)> GetBufferChangedCallback; | 42 typedef base::Callback<bool(int32)> GetBufferChangedCallback; |
43 explicit CommandBufferService( | 43 explicit CommandBufferService( |
44 TransferBufferManagerInterface* transfer_buffer_manager); | 44 TransferBufferManagerInterface* transfer_buffer_manager); |
45 virtual ~CommandBufferService(); | 45 virtual ~CommandBufferService(); |
46 | 46 |
47 // CommandBuffer implementation: | 47 // CommandBuffer implementation: |
48 virtual bool Initialize() OVERRIDE; | 48 virtual bool Initialize() override; |
49 virtual State GetLastState() OVERRIDE; | 49 virtual State GetLastState() override; |
50 virtual int32 GetLastToken() OVERRIDE; | 50 virtual int32 GetLastToken() override; |
51 virtual void Flush(int32 put_offset) OVERRIDE; | 51 virtual void Flush(int32 put_offset) override; |
52 virtual void WaitForTokenInRange(int32 start, int32 end) OVERRIDE; | 52 virtual void WaitForTokenInRange(int32 start, int32 end) override; |
53 virtual void WaitForGetOffsetInRange(int32 start, int32 end) OVERRIDE; | 53 virtual void WaitForGetOffsetInRange(int32 start, int32 end) override; |
54 virtual void SetGetBuffer(int32 transfer_buffer_id) OVERRIDE; | 54 virtual void SetGetBuffer(int32 transfer_buffer_id) override; |
55 virtual scoped_refptr<Buffer> CreateTransferBuffer(size_t size, | 55 virtual scoped_refptr<Buffer> CreateTransferBuffer(size_t size, |
56 int32* id) OVERRIDE; | 56 int32* id) override; |
57 virtual void DestroyTransferBuffer(int32 id) OVERRIDE; | 57 virtual void DestroyTransferBuffer(int32 id) override; |
58 | 58 |
59 // CommandBufferServiceBase implementation: | 59 // CommandBufferServiceBase implementation: |
60 virtual void SetGetOffset(int32 get_offset) OVERRIDE; | 60 virtual void SetGetOffset(int32 get_offset) override; |
61 virtual scoped_refptr<Buffer> GetTransferBuffer(int32 id) OVERRIDE; | 61 virtual scoped_refptr<Buffer> GetTransferBuffer(int32 id) override; |
62 virtual void SetToken(int32 token) OVERRIDE; | 62 virtual void SetToken(int32 token) override; |
63 virtual void SetParseError(error::Error error) OVERRIDE; | 63 virtual void SetParseError(error::Error error) override; |
64 virtual void SetContextLostReason(error::ContextLostReason) OVERRIDE; | 64 virtual void SetContextLostReason(error::ContextLostReason) override; |
65 | 65 |
66 // Sets a callback that is called whenever the put offset is changed. When | 66 // Sets a callback that is called whenever the put offset is changed. When |
67 // called with sync==true, the callback must not return until some progress | 67 // called with sync==true, the callback must not return until some progress |
68 // has been made (unless the command buffer is empty), i.e. the get offset | 68 // has been made (unless the command buffer is empty), i.e. the get offset |
69 // must have changed. It need not process the entire command buffer though. | 69 // must have changed. It need not process the entire command buffer though. |
70 // This allows concurrency between the writer and the reader while giving the | 70 // This allows concurrency between the writer and the reader while giving the |
71 // writer a means of waiting for the reader to make some progress before | 71 // writer a means of waiting for the reader to make some progress before |
72 // attempting to write more to the command buffer. Takes ownership of | 72 // attempting to write more to the command buffer. Takes ownership of |
73 // callback. | 73 // callback. |
74 virtual void SetPutOffsetChangeCallback(const base::Closure& callback); | 74 virtual void SetPutOffsetChangeCallback(const base::Closure& callback); |
(...skipping 28 matching lines...) Expand all Loading... |
103 uint32 generation_; | 103 uint32 generation_; |
104 error::Error error_; | 104 error::Error error_; |
105 error::ContextLostReason context_lost_reason_; | 105 error::ContextLostReason context_lost_reason_; |
106 | 106 |
107 DISALLOW_COPY_AND_ASSIGN(CommandBufferService); | 107 DISALLOW_COPY_AND_ASSIGN(CommandBufferService); |
108 }; | 108 }; |
109 | 109 |
110 } // namespace gpu | 110 } // namespace gpu |
111 | 111 |
112 #endif // GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ | 112 #endif // GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_SERVICE_H_ |
OLD | NEW |