Index: content/common/gpu/gpu_command_buffer_stub.cc |
diff --git a/content/common/gpu/gpu_command_buffer_stub.cc b/content/common/gpu/gpu_command_buffer_stub.cc |
index a1167c9325562791e4ac88a6ddb5d41bf039d8f2..d2fc4bb8878232ef4125fef0b5dddf57d484d5a3 100644 |
--- a/content/common/gpu/gpu_command_buffer_stub.cc |
+++ b/content/common/gpu/gpu_command_buffer_stub.cc |
@@ -507,6 +507,18 @@ void GpuCommandBufferStub::OnInitialize( |
return; |
} |
+ // TODO(epenner): If we can initialize the feature-info earlier, |
+ // this code can be removed and done only during surface creation. |
+ // This code is only needed for the very first surface, which is |
+ // created before the ContextGroup is initialized. |
+ if (context_group_->feature_info()->workarounds() |
+ .makecurrent_recreates_surfaces) { |
+ // This only works with virtual contexts! |
+ DCHECK(CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableVirtualGLContexts)); |
+ surface_->SetRecreateOnMakeCurrent(true); |
+ } |
+ |
if (CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableGPUServiceLogging)) { |
decoder_->set_log_commands(true); |