| 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 977822eb11d720a813d5cb796cceef53cd06b0d3..c61264406703cbbf0e2be7706b28f93d2698ecb3 100644
|
| --- a/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc
|
| +++ b/gpu/command_buffer/service/async_pixel_transfer_manager_egl.cc
|
| @@ -88,10 +88,11 @@ void PerformNotifyCompletion(
|
| class TransferThread : public base::Thread {
|
| public:
|
| TransferThread() : base::Thread(kAsyncTransferThreadName) {
|
| - Start();
|
| + base::Thread::Options options;
|
| #if defined(OS_ANDROID) || defined(OS_LINUX)
|
| - SetPriority(base::ThreadPriority::BACKGROUND);
|
| + options.priority = base::ThreadPriority::BACKGROUND;
|
| #endif
|
| + StartWithOptions(options);
|
| }
|
| ~TransferThread() override { Stop(); }
|
|
|
| @@ -122,8 +123,8 @@ class TransferThread : public base::Thread {
|
| base::LazyInstance<TransferThread>
|
| g_transfer_thread = LAZY_INSTANCE_INITIALIZER;
|
|
|
| -base::MessageLoopProxy* transfer_message_loop_proxy() {
|
| - return g_transfer_thread.Pointer()->message_loop_proxy().get();
|
| +base::TaskRunner* transfer_task_runner() {
|
| + return g_transfer_thread.Pointer()->task_runner().get();
|
| }
|
|
|
| // Class which holds async pixel transfers state (EGLImage).
|
| @@ -353,8 +354,8 @@ class TransferStateInternal
|
| eglDestroyImageKHR(display, egl_image_);
|
| }
|
| if (thread_texture_id_) {
|
| - transfer_message_loop_proxy()->PostTask(FROM_HERE,
|
| - base::Bind(&DeleteTexture, thread_texture_id_));
|
| + transfer_task_runner()->PostTask(
|
| + FROM_HERE, base::Bind(&DeleteTexture, thread_texture_id_));
|
| }
|
| }
|
|
|
| @@ -466,16 +467,8 @@ bool AsyncPixelTransferDelegateEGL::TransferIsInProgress() {
|
|
|
| void AsyncPixelTransferDelegateEGL::WaitForTransferCompletion() {
|
| if (state_->TransferIsInProgress()) {
|
| -#if defined(OS_ANDROID) || defined(OS_LINUX)
|
| - g_transfer_thread.Pointer()->SetPriority(base::ThreadPriority::BACKGROUND);
|
| -#endif
|
| -
|
| state_->WaitForTransferCompletion();
|
| DCHECK(!state_->TransferIsInProgress());
|
| -
|
| -#if defined(OS_ANDROID) || defined(OS_LINUX)
|
| - g_transfer_thread.Pointer()->SetPriority(base::ThreadPriority::BACKGROUND);
|
| -#endif
|
| }
|
| }
|
|
|
| @@ -501,13 +494,10 @@ void AsyncPixelTransferDelegateEGL::AsyncTexImage2D(
|
|
|
| // Duplicate the shared memory so there is no way we can get
|
| // a use-after-free of the raw pixels.
|
| - transfer_message_loop_proxy()->PostTask(FROM_HERE,
|
| - base::Bind(
|
| - &TransferStateInternal::PerformAsyncTexImage2D,
|
| - state_,
|
| - tex_params,
|
| - mem_params,
|
| - shared_state_->texture_upload_stats));
|
| + transfer_task_runner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&TransferStateInternal::PerformAsyncTexImage2D, state_,
|
| + tex_params, mem_params, shared_state_->texture_upload_stats));
|
|
|
| DCHECK(CHECK_GL());
|
| }
|
| @@ -533,13 +523,10 @@ void AsyncPixelTransferDelegateEGL::AsyncTexSubImage2D(
|
|
|
| // Duplicate the shared memory so there are no way we can get
|
| // a use-after-free of the raw pixels.
|
| - transfer_message_loop_proxy()->PostTask(FROM_HERE,
|
| - base::Bind(
|
| - &TransferStateInternal::PerformAsyncTexSubImage2D,
|
| - state_,
|
| - tex_params,
|
| - mem_params,
|
| - shared_state_->texture_upload_stats));
|
| + transfer_task_runner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&TransferStateInternal::PerformAsyncTexSubImage2D, state_,
|
| + tex_params, mem_params, shared_state_->texture_upload_stats));
|
|
|
| DCHECK(CHECK_GL());
|
| }
|
| @@ -702,11 +689,9 @@ void AsyncPixelTransferManagerEGL::AsyncNotifyCompletion(
|
| AsyncPixelTransferCompletionObserver* observer) {
|
| // Post a PerformNotifyCompletion task to the upload thread. This task
|
| // will run after all async transfers are complete.
|
| - transfer_message_loop_proxy()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&PerformNotifyCompletion,
|
| - mem_params,
|
| - make_scoped_refptr(observer)));
|
| + transfer_task_runner()->PostTask(
|
| + FROM_HERE, base::Bind(&PerformNotifyCompletion, mem_params,
|
| + make_scoped_refptr(observer)));
|
| }
|
|
|
| uint32 AsyncPixelTransferManagerEGL::GetTextureUploadCount() {
|
|
|