diff options
Diffstat (limited to 'chromium/gpu/command_buffer/service/vertex_array_manager.cc')
-rw-r--r-- | chromium/gpu/command_buffer/service/vertex_array_manager.cc | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/chromium/gpu/command_buffer/service/vertex_array_manager.cc b/chromium/gpu/command_buffer/service/vertex_array_manager.cc index 974751941ce..1560c043c25 100644 --- a/chromium/gpu/command_buffer/service/vertex_array_manager.cc +++ b/chromium/gpu/command_buffer/service/vertex_array_manager.cc @@ -28,14 +28,22 @@ void VertexArrayManager::Destroy(bool have_context) { vertex_attrib_managers_.clear(); } -void VertexArrayManager::CreateVertexAttribManager( - GLuint client_id, GLuint service_id, uint32 num_vertex_attribs) { +scoped_refptr<VertexAttribManager> +VertexArrayManager::CreateVertexAttribManager(GLuint client_id, + GLuint service_id, + uint32 num_vertex_attribs, + bool client_visible) { scoped_refptr<VertexAttribManager> vertex_attrib_manager( new VertexAttribManager(this, service_id, num_vertex_attribs)); - std::pair<VertexAttribManagerMap::iterator, bool> result = - vertex_attrib_managers_.insert( - std::make_pair(client_id, vertex_attrib_manager)); - DCHECK(result.second); + + if (client_visible) { + std::pair<VertexAttribManagerMap::iterator, bool> result = + vertex_attrib_managers_.insert( + std::make_pair(client_id, vertex_attrib_manager)); + DCHECK(result.second); + } + + return vertex_attrib_manager; } VertexAttribManager* VertexArrayManager::GetVertexAttribManager( |