| Index: content/browser/android/synchronous_compositor_base.cc
|
| diff --git a/content/browser/android/synchronous_compositor_base.cc b/content/browser/android/synchronous_compositor_base.cc
|
| index e218d4020d143893b23da78d98cc8861ea145cde..1ef5e861c9836008f8f1b7e98ba9b3239b1e1263 100644
|
| --- a/content/browser/android/synchronous_compositor_base.cc
|
| +++ b/content/browser/android/synchronous_compositor_base.cc
|
| @@ -21,20 +21,23 @@ class SynchronousCompositorClient;
|
|
|
| namespace {
|
|
|
| -gpu::SyncPointManager* g_sync_point_manager = nullptr;
|
| +base::LazyInstance<scoped_refptr<gpu::InProcessCommandBuffer::Service>>
|
| + g_gpu_service = LAZY_INSTANCE_INITIALIZER;
|
|
|
| base::Thread* CreateInProcessGpuThreadForSynchronousCompositor(
|
| const InProcessChildThreadParams& params) {
|
| - DCHECK(g_sync_point_manager);
|
| - return new InProcessGpuThread(params, g_sync_point_manager);
|
| + DCHECK(g_gpu_service.Get());
|
| + return new InProcessGpuThread(params,
|
| + g_gpu_service.Get()->gpu_preferences(),
|
| + g_gpu_service.Get()->sync_point_manager());
|
| }
|
|
|
| } // namespace
|
|
|
| void SynchronousCompositor::SetGpuService(
|
| scoped_refptr<gpu::InProcessCommandBuffer::Service> service) {
|
| - DCHECK(!g_sync_point_manager);
|
| - g_sync_point_manager = service->sync_point_manager();
|
| + DCHECK(!g_gpu_service.Get());
|
| + g_gpu_service.Get() = service;
|
| GpuProcessHost::RegisterGpuMainThreadFactory(
|
| CreateInProcessGpuThreadForSynchronousCompositor);
|
| }
|
|
|