Index: content/browser/android/in_process/synchronous_compositor_factory_impl.cc |
diff --git a/content/browser/android/in_process/synchronous_compositor_factory_impl.cc b/content/browser/android/in_process/synchronous_compositor_factory_impl.cc |
index bb73d12daaaf8bd1bd72fb38629559bdeeec2062..ec0c3f05229e37a026b777b7c6ac3b4f3cd36e9e 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_factory_impl.cc |
+++ b/content/browser/android/in_process/synchronous_compositor_factory_impl.cc |
@@ -81,24 +81,6 @@ ContextHolder CreateContextHolder( |
return holder; |
} |
-scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateContext3D( |
- int surface_id, |
- const blink::WebGraphicsContext3D::Attributes& attributes, |
- const content::WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits& |
- mem_limits) { |
- DCHECK(RenderThreadImpl::current()); |
- CauseForGpuLaunch cause = |
- CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE; |
- scoped_refptr<GpuChannelHost> gpu_channel_host( |
- RenderThreadImpl::current()->EstablishGpuChannelSync(cause)); |
- CHECK(gpu_channel_host.get()); |
- |
- bool lose_context_when_out_of_memory = true; |
- return make_scoped_ptr(new WebGraphicsContext3DCommandBufferImpl( |
- surface_id, GURL(), gpu_channel_host.get(), attributes, |
- lose_context_when_out_of_memory, mem_limits, NULL)); |
-} |
- |
} // namespace |
class SynchronousCompositorFactoryImpl::VideoContextProvider |
@@ -165,11 +147,9 @@ SynchronousCompositorFactoryImpl::GetCompositorTaskRunner() { |
scoped_ptr<cc::OutputSurface> |
SynchronousCompositorFactoryImpl::CreateOutputSurface( |
int routing_id, |
- scoped_refptr<content::FrameSwapMessageQueue> frame_swap_message_queue) { |
- scoped_refptr<cc::ContextProvider> onscreen_context = |
- CreateContextProviderForCompositor(0, RENDER_COMPOSITOR_CONTEXT); |
- scoped_refptr<cc::ContextProvider> worker_context = |
- GetSharedWorkerContextProvider(); |
+ const scoped_refptr<FrameSwapMessageQueue>& frame_swap_message_queue, |
+ const scoped_refptr<cc::ContextProvider>& onscreen_context, |
+ const scoped_refptr<cc::ContextProvider>& worker_context) { |
return make_scoped_ptr(new SynchronousCompositorOutputSurface( |
onscreen_context, worker_context, routing_id, |
SynchronousCompositorRegistryInProc::GetInstance(), |
@@ -188,60 +168,6 @@ SynchronousCompositorFactoryImpl::CreateExternalBeginFrameSource( |
routing_id, SynchronousCompositorRegistryInProc::GetInstance())); |
} |
-scoped_refptr<cc::ContextProvider> |
-SynchronousCompositorFactoryImpl::CreateContextProviderForCompositor( |
- int surface_id, |
- CommandBufferContextType type) { |
- // This is half of what RenderWidget uses because synchronous compositor |
- // pipeline is only one frame deep. But twice of half for low end here |
- // because 16bit texture is not supported. |
- // TODO(reveman): This limit is based on the usage required by async |
- // uploads. Determine what a good limit is now that async uploads are |
- // no longer used. |
- unsigned int mapped_memory_reclaim_limit = |
- (base::SysInfo::IsLowEndDevice() ? 2 : 6) * 1024 * 1024; |
- blink::WebGraphicsContext3D::Attributes attributes = GetDefaultAttribs(); |
- |
- WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits mem_limits; |
- mem_limits.mapped_memory_reclaim_limit = mapped_memory_reclaim_limit; |
- scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context = |
- CreateContext3D(surface_id, GetDefaultAttribs(), mem_limits); |
- return ContextProviderCommandBuffer::Create(context.Pass(), type); |
-} |
- |
-scoped_refptr<cc::ContextProvider> |
-SynchronousCompositorFactoryImpl::GetSharedWorkerContextProvider() { |
- // TODO(reveman): This limit is based on the usage required by async |
- // uploads. Determine what a good limit is now that async uploads are |
- // no longer used. |
- unsigned int mapped_memory_reclaim_limit = |
- (base::SysInfo::IsLowEndDevice() ? 2 : 6) * 1024 * 1024; |
- |
- bool shared_worker_context_lost = false; |
- if (shared_worker_context_) { |
- // Note: If context is lost, we delete reference after releasing the lock. |
- base::AutoLock lock(*shared_worker_context_->GetLock()); |
- if (shared_worker_context_->ContextGL()->GetGraphicsResetStatusKHR() != |
- GL_NO_ERROR) { |
- shared_worker_context_lost = true; |
- } |
- } |
- if (!shared_worker_context_ || shared_worker_context_lost) { |
- WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits mem_limits; |
- mem_limits.mapped_memory_reclaim_limit = mapped_memory_reclaim_limit; |
- scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context = |
- CreateContext3D(0, GetDefaultAttribs(), mem_limits); |
- shared_worker_context_ = ContextProviderCommandBuffer::Create( |
- context.Pass(), RENDER_WORKER_CONTEXT); |
- if (!shared_worker_context_->BindToCurrentThread()) |
- shared_worker_context_ = nullptr; |
- if (shared_worker_context_) |
- shared_worker_context_->SetupLock(); |
- } |
- |
- return shared_worker_context_; |
-} |
- |
scoped_refptr<StreamTextureFactory> |
SynchronousCompositorFactoryImpl::CreateStreamTextureFactory(int frame_id) { |
scoped_refptr<StreamTextureFactorySynchronousImpl> factory( |