| 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 |