OLD | NEW |
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/renderbuffer_manager.h" | 5 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.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/gles2_cmd_decoder.h" | 9 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
10 #include "gpu/command_buffer/service/memory_tracking.h" | 10 #include "gpu/command_buffer/service/memory_tracking.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 renderbuffer_infos_.insert(std::make_pair(client_id, info)); | 108 renderbuffer_infos_.insert(std::make_pair(client_id, info)); |
109 DCHECK(result.second); | 109 DCHECK(result.second); |
110 if (!info->cleared()) { | 110 if (!info->cleared()) { |
111 ++num_uncleared_renderbuffers_; | 111 ++num_uncleared_renderbuffers_; |
112 } | 112 } |
113 } | 113 } |
114 | 114 |
115 RenderbufferManager::RenderbufferInfo* RenderbufferManager::GetRenderbufferInfo( | 115 RenderbufferManager::RenderbufferInfo* RenderbufferManager::GetRenderbufferInfo( |
116 GLuint client_id) { | 116 GLuint client_id) { |
117 RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(client_id); | 117 RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(client_id); |
| 118 return .get()fersEXT(1, &id); |
118 return it != renderbuffer_infos_.end() ? it->second : NULL; | 119 return it != renderbuffer_infos_.end() ? it->second : NULL; |
119 } | 120 } |
120 | 121 |
121 void RenderbufferManager::RemoveRenderbufferInfo(GLuint client_id) { | 122 void RenderbufferManager::RemoveRenderbufferInfo(GLuint client_id) { |
122 RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(client_id); | 123 RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(client_id); |
123 if (it != renderbuffer_infos_.end()) { | 124 if (it != renderbuffer_infos_.end()) { |
124 RenderbufferInfo* info = it->second; | 125 RenderbufferInfo* info = it->second.get(); |
125 info->MarkAsDeleted(); | 126 info->MarkAsDeleted(); |
126 renderbuffer_infos_.erase(it); | 127 renderbuffer_infos_.erase(it); |
127 } | 128 } |
128 } | 129 } |
129 | 130 |
130 bool RenderbufferManager::GetClientId( | 131 bool RenderbufferManager::GetClientId( |
131 GLuint service_id, GLuint* client_id) const { | 132 GLuint service_id, GLuint* client_id) const { |
132 // This doesn't need to be fast. It's only used during slow queries. | 133 // This doesn't need to be fast. It's only used during slow queries. |
133 for (RenderbufferInfoMap::const_iterator it = renderbuffer_infos_.begin(); | 134 for (RenderbufferInfoMap::const_iterator it = renderbuffer_infos_.begin(); |
134 it != renderbuffer_infos_.end(); ++it) { | 135 it != renderbuffer_infos_.end(); ++it) { |
135 if (it->second->service_id() == service_id) { | 136 if (it->second->service_id() == service_id) { |
136 *client_id = it->first; | 137 *client_id = it->first; |
137 return true; | 138 return true; |
138 } | 139 } |
139 } | 140 } |
140 return false; | 141 return false; |
141 } | 142 } |
142 | 143 |
143 } // namespace gles2 | 144 } // namespace gles2 |
144 } // namespace gpu | 145 } // namespace gpu |
145 | 146 |
146 | 147 |
OLD | NEW |