OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ |
7 | 7 |
8 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h" | 8 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h" |
9 | 9 |
10 namespace gpu { | 10 namespace gpu { |
11 | 11 |
12 class AsyncPixelTransferManagerSync : public AsyncPixelTransferManager { | 12 class AsyncPixelTransferManagerSync : public AsyncPixelTransferManager { |
13 public: | 13 public: |
14 AsyncPixelTransferManagerSync(); | 14 AsyncPixelTransferManagerSync(); |
15 virtual ~AsyncPixelTransferManagerSync(); | 15 virtual ~AsyncPixelTransferManagerSync(); |
16 | 16 |
17 // AsyncPixelTransferManager implementation: | 17 // AsyncPixelTransferManager implementation: |
18 virtual void BindCompletedAsyncTransfers() OVERRIDE; | 18 virtual void BindCompletedAsyncTransfers() OVERRIDE; |
19 virtual void AsyncNotifyCompletion( | 19 virtual void AsyncNotifyCompletion( |
20 const AsyncMemoryParams& mem_params, | 20 const AsyncMemoryParams& mem_params, |
21 AsyncPixelTransferCompletionObserver* observer) OVERRIDE; | 21 AsyncPixelTransferCompletionObserver* observer) OVERRIDE; |
22 virtual uint32 GetTextureUploadCount() OVERRIDE; | 22 virtual uint32 GetTextureUploadCount() OVERRIDE; |
23 virtual base::TimeDelta GetTotalTextureUploadTime() OVERRIDE; | 23 virtual base::TimeDelta GetTotalTextureUploadTime() OVERRIDE; |
24 virtual void ProcessMorePendingTransfers() OVERRIDE; | 24 virtual void ProcessMorePendingTransfers() OVERRIDE; |
25 virtual bool NeedsProcessMorePendingTransfers() OVERRIDE; | 25 virtual bool NeedsProcessMorePendingTransfers() OVERRIDE; |
26 virtual void WaitAllAsyncTexImage2D() OVERRIDE; | |
27 | 26 |
28 // State shared between Managers and Delegates. | 27 // State shared between Managers and Delegates. |
29 struct SharedState { | 28 struct SharedState { |
30 SharedState(); | 29 SharedState(); |
31 ~SharedState(); | 30 ~SharedState(); |
32 | 31 |
33 int texture_upload_count; | 32 int texture_upload_count; |
34 base::TimeDelta total_texture_upload_time; | 33 base::TimeDelta total_texture_upload_time; |
35 }; | 34 }; |
36 | 35 |
37 private: | 36 private: |
38 // AsyncPixelTransferManager implementation: | 37 // AsyncPixelTransferManager implementation: |
39 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl( | 38 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl( |
40 gles2::TextureRef* ref, | 39 gles2::TextureRef* ref, |
41 const AsyncTexImage2DParams& define_params) OVERRIDE; | 40 const AsyncTexImage2DParams& define_params) OVERRIDE; |
42 | 41 |
43 SharedState shared_state_; | 42 SharedState shared_state_; |
44 | 43 |
45 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerSync); | 44 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerSync); |
46 }; | 45 }; |
47 | 46 |
48 } // namespace gpu | 47 } // namespace gpu |
49 | 48 |
50 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ | 49 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ |
OLD | NEW |