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..7a6556b8e617b59e432e383b9f3d52f041ddc933 100644 |
--- a/gpu/command_buffer/service/in_process_command_buffer.cc |
+++ b/gpu/command_buffer/service/in_process_command_buffer.cc |
@@ -101,8 +101,9 @@ void GpuInProcessThread::ScheduleTask(const base::Closure& task) { |
} |
void GpuInProcessThread::ScheduleIdleWork(const base::Closure& callback) { |
+ // Match delay with GpuCommandBufferStub. |
message_loop()->PostDelayedTask( |
- FROM_HERE, callback, base::TimeDelta::FromMilliseconds(5)); |
+ FROM_HERE, callback, base::TimeDelta::FromMilliseconds(2)); |
} |
scoped_refptr<gles2::ShaderTranslatorCache> |
@@ -238,6 +239,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 +405,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); |