123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright (c) 2012 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 "ui/gl/gl_share_group.h"
- #include "base/check.h"
- #include "build/build_config.h"
- #include "ui/gl/gl_context.h"
- #include "ui/gl/gl_implementation.h"
- namespace gl {
- GLShareGroup::GLShareGroup()
- #if BUILDFLAG(IS_APPLE)
- : renderer_id_(-1)
- #endif
- {
- }
- void GLShareGroup::AddContext(GLContext* context) {
- contexts_.insert(context);
- }
- void GLShareGroup::RemoveContext(GLContext* context) {
- contexts_.erase(context);
- if (shared_context_ == context)
- shared_context_ = nullptr;
- }
- void* GLShareGroup::GetHandle() {
- GLContext* context = GetContext();
- if (context)
- return context->GetHandle();
- return NULL;
- }
- GLContext* GLShareGroup::GetContext() {
- for (auto it = contexts_.begin(); it != contexts_.end(); ++it) {
- if ((*it)->GetHandle())
- return *it;
- }
- return NULL;
- }
- void GLShareGroup::SetSharedContext(GLContext* context) {
- DCHECK(contexts_.find(context) != contexts_.end());
- shared_context_ = context;
- }
- #if BUILDFLAG(IS_APPLE)
- void GLShareGroup::SetRendererID(int renderer_id) {
- renderer_id_ = renderer_id;
- }
- int GLShareGroup::GetRendererID() {
- return renderer_id_;
- }
- #endif
- GLShareGroup::~GLShareGroup() {
- }
- } // namespace gl
|