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
3 // found in the LICENSE file.
5 #include "ui/gl/gl_egl_api_implementation.h"
6 #include "ui/gl/gl_implementation.h"
10 RealEGLApi
* g_real_egl
;
12 void InitializeStaticGLBindingsEGL() {
14 g_real_egl
= new RealEGLApi();
16 g_real_egl
->Initialize(&g_driver_egl
);
17 g_current_egl_context
= g_real_egl
;
18 g_driver_egl
.InitializeStaticBindings();
21 void InitializeDebugGLBindingsEGL() {
22 g_driver_egl
.InitializeDebugBindings();
25 void ClearGLBindingsEGL() {
30 g_current_egl_context
= NULL
;
31 g_driver_egl
.ClearBindings();
40 EGLApiBase::EGLApiBase()
44 EGLApiBase::~EGLApiBase() {
47 void EGLApiBase::InitializeBase(DriverEGL
* driver
) {
51 RealEGLApi::RealEGLApi() {
54 RealEGLApi::~RealEGLApi() {
57 void RealEGLApi::Initialize(DriverEGL
* driver
) {
58 InitializeBase(driver
);
61 TraceEGLApi::~TraceEGLApi() {
64 bool GetGLWindowSystemBindingInfoEGL(GLWindowSystemBindingInfo
* info
) {
65 EGLDisplay display
= eglGetCurrentDisplay();
66 const char* vendor
= eglQueryString(display
, EGL_VENDOR
);
67 const char* version
= eglQueryString(display
, EGL_VERSION
);
68 const char* extensions
= eglQueryString(display
, EGL_EXTENSIONS
);
69 *info
= GLWindowSystemBindingInfo();
71 info
->vendor
= vendor
;
73 info
->version
= version
;
75 info
->extensions
= extensions
;