Index: gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc |
diff --git a/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc b/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc |
index 3f3acc5f88d6b703d556607801358c6aee097a29..48bd4715759c4232ea360c9afa65bd6c6797fbf1 100644 |
--- a/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc |
+++ b/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc |
@@ -736,6 +736,7 @@ void AsyncPixelTransferManagerEGL::AsyncNotifyCompletion( |
DCHECK(mem_params.shared_memory); |
DCHECK_LE(mem_params.shm_data_offset + mem_params.shm_data_size, |
mem_params.shm_size); |
+ |
// Post a PerformNotifyCompletion task to the upload thread. This task |
// will run after all async transfers are complete. |
transfer_message_loop_proxy()->PostTask( |
@@ -766,6 +767,16 @@ bool AsyncPixelTransferManagerEGL::NeedsProcessMorePendingTransfers() { |
return false; |
} |
+void AsyncPixelTransferManagerEGL::WaitAllAsyncTexImage2D() { |
+ if (shared_state_.pending_allocations.empty()) |
+ return; |
+ |
+ AsyncPixelTransferDelegateEGL* delegate = |
+ shared_state_.pending_allocations.back().get(); |
+ if (delegate) |
+ delegate->WaitForTransferCompletion(); |
+} |
+ |
AsyncPixelTransferDelegate* |
AsyncPixelTransferManagerEGL::CreatePixelTransferDelegateImpl( |
gles2::TextureRef* ref, |