Index: gpu/command_buffer/service/in_process_command_buffer.cc |
diff --git a/gpu/command_buffer/service/in_process_command_buffer.cc b/gpu/command_buffer/service/in_process_command_buffer.cc |
index c67107392638a82d6f75c1030ab2fbf61d11f001..3c2f5ce85eda7f71d981d94dab38703718b827d6 100644 |
--- a/gpu/command_buffer/service/in_process_command_buffer.cc |
+++ b/gpu/command_buffer/service/in_process_command_buffer.cc |
@@ -238,6 +238,13 @@ InProcessCommandBuffer::Service::Service() {} |
InProcessCommandBuffer::Service::~Service() {} |
+scoped_refptr<gfx::GLShareGroup> |
+InProcessCommandBuffer::Service::share_group() { |
+ if (!share_group_.get()) |
+ share_group_ = new gfx::GLShareGroup; |
+ return share_group_; |
+} |
+ |
scoped_refptr<gles2::MailboxManager> |
InProcessCommandBuffer::Service::mailbox_manager() { |
if (!mailbox_manager_.get()) { |
@@ -397,8 +404,8 @@ bool InProcessCommandBuffer::InitializeOnGpuThread( |
} |
gl_share_group_ = params.context_group |
- ? params.context_group->gl_share_group_.get() |
- : new gfx::GLShareGroup; |
+ ? params.context_group->gl_share_group_ |
+ : service_->share_group(); |
#if defined(OS_ANDROID) |
stream_texture_manager_.reset(new StreamTextureManagerInProcess); |