Use MailboxManagerSync on android.
Egl fences seem to be required for proper cross-context synchronization
on android/qualcomm.
Fixes flickering seen when using surfaces composition on various
android devices (domokit/sky_engine#36).
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/1348283004 .
diff --git a/services/gles2/command_buffer_impl.cc b/services/gles2/command_buffer_impl.cc
index 72a27d0..f999c8e 100644
--- a/services/gles2/command_buffer_impl.cc
+++ b/services/gles2/command_buffer_impl.cc
@@ -124,15 +124,15 @@
sync_point_client_->DidInsertSyncPoint(sync_point);
if (retire) {
driver_task_runner_->PostTask(
- FROM_HERE, base::Bind(&gpu::SyncPointManager::RetireSyncPoint,
- sync_point_manager_, sync_point));
+ FROM_HERE, base::Bind(&CommandBufferDriver::RetireSyncPointOnGpuThread,
+ base::Unretained(driver_.get()), sync_point));
}
}
void CommandBufferImpl::RetireSyncPoint(uint32_t sync_point) {
driver_task_runner_->PostTask(
- FROM_HERE, base::Bind(&gpu::SyncPointManager::RetireSyncPoint,
- sync_point_manager_, sync_point));
+ FROM_HERE, base::Bind(&CommandBufferDriver::RetireSyncPointOnGpuThread,
+ base::Unretained(driver_.get()), sync_point));
}
void CommandBufferImpl::Echo(const mojo::Callback<void()>& callback) {