Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: trunk/src/gpu/command_buffer/service/async_pixel_transfer_manager_idle.h

Issue 216673006: Revert 260177 "By keeping track of transfer buffer usage (both s..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_IDLE_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_IDLE_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_IDLE_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_IDLE_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h" 10 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h"
11 11
12 namespace gpu { 12 namespace gpu {
13 13
14 class AsyncPixelTransferManagerIdle : public AsyncPixelTransferManager { 14 class AsyncPixelTransferManagerIdle : public AsyncPixelTransferManager {
15 public: 15 public:
16 AsyncPixelTransferManagerIdle(); 16 AsyncPixelTransferManagerIdle();
17 virtual ~AsyncPixelTransferManagerIdle(); 17 virtual ~AsyncPixelTransferManagerIdle();
18 18
19 // AsyncPixelTransferManager implementation: 19 // AsyncPixelTransferManager implementation:
20 virtual void BindCompletedAsyncTransfers() OVERRIDE; 20 virtual void BindCompletedAsyncTransfers() OVERRIDE;
21 virtual void AsyncNotifyCompletion( 21 virtual void AsyncNotifyCompletion(
22 const AsyncMemoryParams& mem_params, 22 const AsyncMemoryParams& mem_params,
23 AsyncPixelTransferCompletionObserver* observer) OVERRIDE; 23 AsyncPixelTransferCompletionObserver* observer) OVERRIDE;
24 virtual uint32 GetTextureUploadCount() OVERRIDE; 24 virtual uint32 GetTextureUploadCount() OVERRIDE;
25 virtual base::TimeDelta GetTotalTextureUploadTime() OVERRIDE; 25 virtual base::TimeDelta GetTotalTextureUploadTime() OVERRIDE;
26 virtual void ProcessMorePendingTransfers() OVERRIDE; 26 virtual void ProcessMorePendingTransfers() OVERRIDE;
27 virtual bool NeedsProcessMorePendingTransfers() OVERRIDE; 27 virtual bool NeedsProcessMorePendingTransfers() OVERRIDE;
28 virtual void WaitAllAsyncTexImage2D() OVERRIDE;
29 28
30 struct Task { 29 struct Task {
31 Task(uint64 transfer_id, 30 Task(uint64 transfer_id, const base::Closure& task);
32 AsyncPixelTransferDelegate* delegate,
33 const base::Closure& task);
34 ~Task(); 31 ~Task();
35 32
36 // This is non-zero if pixel transfer task. 33 // This is non-zero if pixel transfer task.
37 uint64 transfer_id; 34 uint64 transfer_id;
38 35
39 AsyncPixelTransferDelegate* delegate;
40
41 base::Closure task; 36 base::Closure task;
42 }; 37 };
43 38
44 // State shared between Managers and Delegates. 39 // State shared between Managers and Delegates.
45 struct SharedState { 40 struct SharedState {
46 SharedState(); 41 SharedState();
47 ~SharedState(); 42 ~SharedState();
48 void ProcessNotificationTasks(); 43 void ProcessNotificationTasks();
49 44
50 int texture_upload_count; 45 int texture_upload_count;
51 base::TimeDelta total_texture_upload_time; 46 base::TimeDelta total_texture_upload_time;
52 std::list<Task> tasks; 47 std::list<Task> tasks;
53 }; 48 };
54 49
55 private: 50 private:
56 // AsyncPixelTransferManager implementation: 51 // AsyncPixelTransferManager implementation:
57 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl( 52 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl(
58 gles2::TextureRef* ref, 53 gles2::TextureRef* ref,
59 const AsyncTexImage2DParams& define_params) OVERRIDE; 54 const AsyncTexImage2DParams& define_params) OVERRIDE;
60 55
61 SharedState shared_state_; 56 SharedState shared_state_;
62 57
63 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerIdle); 58 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerIdle);
64 }; 59 };
65 60
66 } // namespace gpu 61 } // namespace gpu
67 62
68 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_IDLE_H_ 63 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_IDLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698