blob: b3b55b8ff8ff518e536f219b29e729357a7fb07f [file] [log] [blame]
// 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_egl_api_implementation.h"
#include "ui/gl/gl_implementation.h"
namespace gfx {
RealEGLApi* g_real_egl;
void InitializeStaticGLBindingsEGL() {
g_driver_egl.InitializeStaticBindings();
if (!g_real_egl) {
g_real_egl = new RealEGLApi();
}
g_real_egl->Initialize(&g_driver_egl);
g_current_egl_context = g_real_egl;
}
void InitializeDynamicGLBindingsEGL(GLContext* context) {
g_driver_egl.InitializeDynamicBindings(context);
}
void InitializeDebugGLBindingsEGL() {
g_driver_egl.InitializeDebugBindings();
}
void ClearGLBindingsEGL() {
if (g_real_egl) {
delete g_real_egl;
g_real_egl = NULL;
}
g_current_egl_context = NULL;
g_driver_egl.ClearBindings();
}
EGLApi::EGLApi() {
}
EGLApi::~EGLApi() {
}
EGLApiBase::EGLApiBase()
: driver_(NULL) {
}
EGLApiBase::~EGLApiBase() {
}
void EGLApiBase::InitializeBase(DriverEGL* driver) {
driver_ = driver;
}
RealEGLApi::RealEGLApi() {
}
RealEGLApi::~RealEGLApi() {
}
void RealEGLApi::Initialize(DriverEGL* driver) {
InitializeBase(driver);
}
TraceEGLApi::~TraceEGLApi() {
}
bool GetGLWindowSystemBindingInfoEGL(GLWindowSystemBindingInfo* info) {
EGLDisplay display = eglGetCurrentDisplay();
const char* vendor = eglQueryString(display, EGL_VENDOR);
const char* version = eglQueryString(display, EGL_VERSION);
const char* extensions = eglQueryString(display, EGL_EXTENSIONS);
*info = GLWindowSystemBindingInfo();
if (vendor)
info->vendor = vendor;
if (version)
info->version = version;
if (extensions)
info->extensions = extensions;
return true;
}
} // namespace gfx