Index: gpu/command_buffer/service/context_group.cc |
diff --git a/gpu/command_buffer/service/context_group.cc b/gpu/command_buffer/service/context_group.cc |
index 6ee57e4c0d2636062f3f51ccbd083e521fe595a0..96dd70616a72073d1cf330dcb6ddb28ce1896d23 100644 |
--- a/gpu/command_buffer/service/context_group.cc |
+++ b/gpu/command_buffer/service/context_group.cc |
@@ -29,11 +29,13 @@ namespace gles2 { |
ContextGroup::ContextGroup( |
const scoped_refptr<MailboxManager>& mailbox_manager, |
+ const scoped_refptr<ValuebufferManager>& valuebuffer_manager, |
const scoped_refptr<MemoryTracker>& memory_tracker, |
const scoped_refptr<ShaderTranslatorCache>& shader_translator_cache, |
const scoped_refptr<FeatureInfo>& feature_info, |
bool bind_generates_resource) |
: mailbox_manager_(mailbox_manager), |
+ valuebuffer_manager_(valuebuffer_manager), |
memory_tracker_(memory_tracker), |
shader_translator_cache_(shader_translator_cache), |
enforce_gl_minimums_(CommandLine::ForCurrentProcess()->HasSwitch( |
@@ -54,6 +56,8 @@ ContextGroup::ContextGroup( |
{ |
if (!mailbox_manager_.get()) |
mailbox_manager_ = new MailboxManagerImpl; |
+ if (!valuebuffer_manager.get()) |
+ valuebuffer_manager_ = new ValuebufferManager(); |
if (!feature_info.get()) |
feature_info_ = new FeatureInfo; |
TransferBufferManager* manager = new TransferBufferManager(); |
@@ -122,7 +126,6 @@ bool ContextGroup::Initialize( |
renderbuffer_manager_.reset(new RenderbufferManager( |
memory_tracker_.get(), max_renderbuffer_size, max_samples, |
depth24_supported)); |
- valuebuffer_manager_.reset(new ValuebufferManager()); |
shader_manager_.reset(new ShaderManager()); |
// Lookup GL things we need to know. |
@@ -302,11 +305,6 @@ void ContextGroup::Destroy(GLES2Decoder* decoder, bool have_context) { |
renderbuffer_manager_.reset(); |
} |
- if (valuebuffer_manager_ != NULL) { |
- valuebuffer_manager_->Destroy(); |
- valuebuffer_manager_.reset(); |
- } |
- |
if (texture_manager_ != NULL) { |
texture_manager_->Destroy(have_context); |
texture_manager_.reset(); |