| Index: ui/gl/gl_context_virtual.cc
|
| diff --git a/ui/gl/gl_context_virtual.cc b/ui/gl/gl_context_virtual.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..24e7f6ab894f6fbd19142f13d5a22fe916b92973
|
| --- /dev/null
|
| +++ b/ui/gl/gl_context_virtual.cc
|
| @@ -0,0 +1,81 @@
|
| +// 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_context_virtual.h"
|
| +
|
| +#include "ui/gl/gl_surface.h"
|
| +
|
| +namespace gfx {
|
| +
|
| +GLContextVirtual::GLContextVirtual(
|
| + GLShareGroup* share_group,
|
| + GLContext* shared_context,
|
| + const gpu::gles2::GLES2Decoder* decoder)
|
| + : GLContext(share_group),
|
| + shared_context_(shared_context),
|
| + display_(NULL),
|
| + decoder_(decoder) {
|
| + shared_context_->SetupForVirtualization();
|
| +}
|
| +
|
| +Display* GLContextVirtual::display() {
|
| + return display_;
|
| +}
|
| +
|
| +bool GLContextVirtual::Initialize(
|
| + GLSurface* compatible_surface, GpuPreference gpu_preference) {
|
| + display_ = static_cast<Display*>(compatible_surface->GetDisplay());
|
| +
|
| + return true;
|
| +}
|
| +
|
| +void GLContextVirtual::Destroy() {
|
| + //if (context_) {
|
| + // context_ = NULL;
|
| + //}
|
| +}
|
| +
|
| +bool GLContextVirtual::MakeCurrent(GLSurface* surface) {
|
| + shared_context_->MakeVirtuallyCurrent(this, surface);
|
| + return true;
|
| +}
|
| +
|
| +void GLContextVirtual::ReleaseCurrent(GLSurface* surface) {
|
| + shared_context_ = NULL;
|
| + display_ = NULL;
|
| +}
|
| +
|
| +bool GLContextVirtual::IsCurrent(GLSurface* surface) {
|
| + return true;
|
| +}
|
| +
|
| +void* GLContextVirtual::GetHandle() {
|
| + return NULL; //return context_;
|
| +}
|
| +
|
| +const gpu::gles2::GLES2Decoder* GLContextVirtual::GetDecoder() {
|
| + return decoder_;
|
| +}
|
| +
|
| +void GLContextVirtual::SetSwapInterval(int interval) {
|
| + shared_context_->SetSwapInterval(interval);
|
| +}
|
| +
|
| +std::string GLContextVirtual::GetExtensions() {
|
| + return shared_context_->GetExtensions();
|
| +}
|
| +
|
| +bool GLContextVirtual::GetTotalGpuMemory(size_t* bytes) {
|
| + return shared_context_->GetTotalGpuMemory(bytes);
|
| +}
|
| +
|
| +bool GLContextVirtual::WasAllocatedUsingRobustnessExtension() {
|
| + return shared_context_->WasAllocatedUsingRobustnessExtension();
|
| +}
|
| +
|
| +GLContextVirtual::~GLContextVirtual() {
|
| + Destroy();
|
| +}
|
| +
|
| +} // namespace gfx
|
|
|