| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index 727717eea390b55c1de71d01668d41766d9afbcc..b25a36d8c1ef11ded3466863ab8fe334d3526cf8 100644
|
| --- a/content/renderer/render_widget.cc
|
| +++ b/content/renderer/render_widget.cc
|
| @@ -775,12 +775,19 @@ std::unique_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface(
|
|
|
| bool automatic_flushes = false;
|
|
|
| - // The compositor context shares resources with the worker context.
|
| + // The compositor context shares resources with the worker context unless
|
| + // the worker is async.
|
| + ContextProviderCommandBuffer* share_context = worker_context_provider.get();
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableGpuAsyncWorkerContext)) {
|
| + share_context = nullptr;
|
| + }
|
| context_provider = new ContextProviderCommandBuffer(
|
| base::WrapUnique(new content::WebGraphicsContext3DCommandBufferImpl(
|
| gpu::kNullSurfaceHandle, GetURLForGraphicsContext3D(),
|
| std::move(gpu_channel_host), gfx::PreferIntegratedGpu,
|
| - automatic_flushes)),
|
| + automatic_flushes, gpu::GPU_STREAM_DEFAULT,
|
| + gpu::GpuStreamPriority::NORMAL)),
|
| limits, attributes, worker_context_provider.get(),
|
| command_buffer_metrics::RENDER_COMPOSITOR_CONTEXT);
|
|
|
|
|