| 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 ba0437bfd4e389158b767c2c1398b41c33eb4d55..3257c387c7d4b74e0ac69fab046f43f0de5f708c 100644
|
| --- a/gpu/command_buffer/service/context_group.cc
|
| +++ b/gpu/command_buffer/service/context_group.cc
|
| @@ -18,6 +18,7 @@
|
| #include "gpu/command_buffer/service/image_manager.h"
|
| #include "gpu/command_buffer/service/mailbox_manager.h"
|
| #include "gpu/command_buffer/service/memory_tracking.h"
|
| +#include "gpu/command_buffer/service/path_manager.h"
|
| #include "gpu/command_buffer/service/program_manager.h"
|
| #include "gpu/command_buffer/service/renderbuffer_manager.h"
|
| #include "gpu/command_buffer/service/shader_manager.h"
|
| @@ -68,6 +69,7 @@ ContextGroup::ContextGroup(
|
| id_namespaces_[id_namespaces::kTextures].reset(new IdAllocator);
|
| id_namespaces_[id_namespaces::kQueries].reset(new IdAllocator);
|
| id_namespaces_[id_namespaces::kVertexArrays].reset(new IdAllocator);
|
| + id_namespaces_[id_namespaces::kPaths].reset(new NonReusedIdAllocator);
|
| }
|
|
|
| static void GetIntegerv(GLenum pname, uint32* var) {
|
| @@ -243,6 +245,8 @@ bool ContextGroup::Initialize(
|
| feature_info_->workarounds().max_vertex_uniform_vectors));
|
| }
|
|
|
| + path_manager_.reset(new PathManager());
|
| +
|
| program_manager_.reset(new ProgramManager(
|
| program_cache_, max_varying_vectors_));
|
|
|
| @@ -314,6 +318,11 @@ void ContextGroup::Destroy(GLES2Decoder* decoder, bool have_context) {
|
| texture_manager_.reset();
|
| }
|
|
|
| + if (path_manager_ != NULL) {
|
| + path_manager_->Destroy(have_context);
|
| + path_manager_.reset();
|
| + }
|
| +
|
| if (program_manager_ != NULL) {
|
| program_manager_->Destroy(have_context);
|
| program_manager_.reset();
|
|
|