Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Side by Side Diff: gpu/command_buffer/service/vertex_array_manager.cc

Issue 278653002: Reland r264914 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/vertex_array_manager.h" 5 #include "gpu/command_buffer/service/vertex_array_manager.h"
6 #include "base/debug/trace_event.h" 6 #include "base/debug/trace_event.h"
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 8 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
9 #include "gpu/command_buffer/service/buffer_manager.h" 9 #include "gpu/command_buffer/service/buffer_manager.h"
10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 10 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
(...skipping 10 matching lines...) Expand all
21 VertexArrayManager::~VertexArrayManager() { 21 VertexArrayManager::~VertexArrayManager() {
22 DCHECK(vertex_attrib_managers_.empty()); 22 DCHECK(vertex_attrib_managers_.empty());
23 CHECK_EQ(vertex_attrib_manager_count_, 0u); 23 CHECK_EQ(vertex_attrib_manager_count_, 0u);
24 } 24 }
25 25
26 void VertexArrayManager::Destroy(bool have_context) { 26 void VertexArrayManager::Destroy(bool have_context) {
27 have_context_ = have_context; 27 have_context_ = have_context;
28 vertex_attrib_managers_.clear(); 28 vertex_attrib_managers_.clear();
29 } 29 }
30 30
31 void VertexArrayManager::CreateVertexAttribManager( 31 scoped_refptr<VertexAttribManager>
32 GLuint client_id, GLuint service_id, uint32 num_vertex_attribs) { 32 VertexArrayManager::CreateVertexAttribManager(GLuint client_id,
33 GLuint service_id,
34 uint32 num_vertex_attribs,
35 bool client_visible) {
33 scoped_refptr<VertexAttribManager> vertex_attrib_manager( 36 scoped_refptr<VertexAttribManager> vertex_attrib_manager(
34 new VertexAttribManager(this, service_id, num_vertex_attribs)); 37 new VertexAttribManager(this, service_id, num_vertex_attribs));
35 std::pair<VertexAttribManagerMap::iterator, bool> result = 38
36 vertex_attrib_managers_.insert( 39 if (client_visible) {
37 std::make_pair(client_id, vertex_attrib_manager)); 40 std::pair<VertexAttribManagerMap::iterator, bool> result =
38 DCHECK(result.second); 41 vertex_attrib_managers_.insert(
42 std::make_pair(client_id, vertex_attrib_manager));
43 DCHECK(result.second);
44 }
45
46 return vertex_attrib_manager;
39 } 47 }
40 48
41 VertexAttribManager* VertexArrayManager::GetVertexAttribManager( 49 VertexAttribManager* VertexArrayManager::GetVertexAttribManager(
42 GLuint client_id) { 50 GLuint client_id) {
43 VertexAttribManagerMap::iterator it = vertex_attrib_managers_.find(client_id); 51 VertexAttribManagerMap::iterator it = vertex_attrib_managers_.find(client_id);
44 return it != vertex_attrib_managers_.end() ? it->second.get() : NULL; 52 return it != vertex_attrib_managers_.end() ? it->second.get() : NULL;
45 } 53 }
46 54
47 void VertexArrayManager::RemoveVertexAttribManager(GLuint client_id) { 55 void VertexArrayManager::RemoveVertexAttribManager(GLuint client_id) {
48 VertexAttribManagerMap::iterator it = vertex_attrib_managers_.find(client_id); 56 VertexAttribManagerMap::iterator it = vertex_attrib_managers_.find(client_id);
(...skipping 25 matching lines...) Expand all
74 return true; 82 return true;
75 } 83 }
76 } 84 }
77 return false; 85 return false;
78 } 86 }
79 87
80 } // namespace gles2 88 } // namespace gles2
81 } // namespace gpu 89 } // namespace gpu
82 90
83 91
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/vertex_array_manager.h ('k') | gpu/command_buffer/service/vertex_array_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698