summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/renderbuffer_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager.cc')
-rw-r--r--gpu/command_buffer/service/renderbuffer_manager.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/renderbuffer_manager.cc b/gpu/command_buffer/service/renderbuffer_manager.cc
new file mode 100644
index 0000000..0b5441d
--- /dev/null
+++ b/gpu/command_buffer/service/renderbuffer_manager.cc
@@ -0,0 +1,39 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "gpu/command_buffer/service/renderbuffer_manager.h"
+#include "base/logging.h"
+#include "gpu/command_buffer/common/gles2_cmd_utils.h"
+#include "gpu/command_buffer/service/gles2_cmd_decoder.h"
+
+namespace gpu {
+namespace gles2 {
+
+void RenderbufferManager::CreateRenderbufferInfo(GLuint renderbuffer_id) {
+ std::pair<RenderbufferInfoMap::iterator, bool> result =
+ renderbuffer_infos_.insert(
+ std::make_pair(
+ renderbuffer_id,
+ RenderbufferInfo::Ref(new RenderbufferInfo(renderbuffer_id))));
+ DCHECK(result.second);
+}
+
+RenderbufferManager::RenderbufferInfo* RenderbufferManager::GetRenderbufferInfo(
+ GLuint renderbuffer_id) {
+ RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(renderbuffer_id);
+ return it != renderbuffer_infos_.end() ? it->second : NULL;
+}
+
+void RenderbufferManager::RemoveRenderbufferInfo(GLuint renderbuffer_id) {
+ RenderbufferInfoMap::iterator it = renderbuffer_infos_.find(renderbuffer_id);
+ if (it != renderbuffer_infos_.end()) {
+ it->second->MarkAsDeleted();
+ renderbuffer_infos_.erase(renderbuffer_id);
+ }
+}
+
+} // namespace gles2
+} // namespace gpu
+
+