Index: gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc |
diff --git a/gpu/command_buffer/service/async_pixel_transfer_delegate_sync.cc b/gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc |
similarity index 62% |
rename from gpu/command_buffer/service/async_pixel_transfer_delegate_sync.cc |
rename to gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc |
index 6eb58f2e9ae2b7dab874cd5027e675b4f9fa44aa..0239e345ba4bb7d24bc06405a32edf6786d53654 100644 |
--- a/gpu/command_buffer/service/async_pixel_transfer_delegate_sync.cc |
+++ b/gpu/command_buffer/service/async_pixel_transfer_manager_sync.cc |
@@ -2,7 +2,9 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "gpu/command_buffer/service/async_pixel_transfer_delegate_sync.h" |
+#include "gpu/command_buffer/service/async_pixel_transfer_manager_sync.h" |
+ |
+#include "gpu/command_buffer/service/async_pixel_transfer_delegate.h" |
namespace gpu { |
@@ -23,6 +25,43 @@ class AsyncPixelTransferStateImpl : public AsyncPixelTransferState { |
} // namespace |
+// Class which handles async pixel transfers synchronously. |
+class AsyncPixelTransferDelegateSync : public AsyncPixelTransferDelegate { |
+ public: |
+ AsyncPixelTransferDelegateSync(); |
+ virtual ~AsyncPixelTransferDelegateSync(); |
+ |
+ // Implement AsyncPixelTransferDelegate: |
+ virtual AsyncPixelTransferState* CreatePixelTransferState( |
+ GLuint texture_id, |
+ const AsyncTexImage2DParams& define_params) OVERRIDE; |
+ virtual void BindCompletedAsyncTransfers() OVERRIDE; |
+ virtual void AsyncNotifyCompletion( |
+ const AsyncMemoryParams& mem_params, |
+ const CompletionCallback& callback) OVERRIDE; |
+ virtual void AsyncTexImage2D( |
+ AsyncPixelTransferState* state, |
+ const AsyncTexImage2DParams& tex_params, |
+ const AsyncMemoryParams& mem_params, |
+ const base::Closure& bind_callback) OVERRIDE; |
+ virtual void AsyncTexSubImage2D( |
+ AsyncPixelTransferState* transfer_state, |
+ const AsyncTexSubImage2DParams& tex_params, |
+ const AsyncMemoryParams& mem_params) OVERRIDE; |
+ virtual void WaitForTransferCompletion( |
+ AsyncPixelTransferState* state) OVERRIDE; |
+ virtual uint32 GetTextureUploadCount() OVERRIDE; |
+ virtual base::TimeDelta GetTotalTextureUploadTime() OVERRIDE; |
+ virtual void ProcessMorePendingTransfers() OVERRIDE; |
+ virtual bool NeedsProcessMorePendingTransfers() OVERRIDE; |
+ |
+ private: |
+ int texture_upload_count_; |
+ base::TimeDelta total_texture_upload_time_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AsyncPixelTransferDelegateSync); |
+}; |
+ |
AsyncPixelTransferDelegateSync::AsyncPixelTransferDelegateSync() |
: texture_upload_count_(0) { |
} |
@@ -109,5 +148,15 @@ bool AsyncPixelTransferDelegateSync::NeedsProcessMorePendingTransfers() { |
return false; |
} |
+AsyncPixelTransferManagerSync::AsyncPixelTransferManagerSync() |
+ : delegate_(new AsyncPixelTransferDelegateSync()) {} |
+ |
+AsyncPixelTransferManagerSync::~AsyncPixelTransferManagerSync() {} |
+ |
+AsyncPixelTransferDelegate* |
+AsyncPixelTransferManagerSync::GetAsyncPixelTransferDelegate() { |
+ return delegate_.get(); |
+} |
+ |
} // namespace gpu |