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); |