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

Side by Side Diff: gpu/command_buffer/service/async_pixel_transfer_manager_sync.h

Issue 116863003: gpu: Reuse transfer buffers more aggresively (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Unset texture and texture_ref after deleting Created 6 years, 9 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
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_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;
26 27
27 // State shared between Managers and Delegates. 28 // State shared between Managers and Delegates.
28 struct SharedState { 29 struct SharedState {
29 SharedState(); 30 SharedState();
30 ~SharedState(); 31 ~SharedState();
31 32
32 int texture_upload_count; 33 int texture_upload_count;
33 base::TimeDelta total_texture_upload_time; 34 base::TimeDelta total_texture_upload_time;
34 }; 35 };
35 36
36 private: 37 private:
37 // AsyncPixelTransferManager implementation: 38 // AsyncPixelTransferManager implementation:
38 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl( 39 virtual AsyncPixelTransferDelegate* CreatePixelTransferDelegateImpl(
39 gles2::TextureRef* ref, 40 gles2::TextureRef* ref,
40 const AsyncTexImage2DParams& define_params) OVERRIDE; 41 const AsyncTexImage2DParams& define_params) OVERRIDE;
41 42
42 SharedState shared_state_; 43 SharedState shared_state_;
43 44
44 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerSync); 45 DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferManagerSync);
45 }; 46 };
46 47
47 } // namespace gpu 48 } // namespace gpu
48 49
49 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_ 50 #endif // GPU_COMMAND_BUFFER_SERVICE_ASYNC_PIXEL_TRANSFER_MANAGER_SYNC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698