blob: 4a43534ec78370e21e9d9dd36ffcd17b057507ce [file] [log] [blame]
[email protected]b97c9082012-10-25 17:21:381// 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.
4
5#include "ui/gl/gl_glx_api_implementation.h"
[email protected]45895032013-05-30 17:06:436#include "ui/gl/gl_implementation.h"
[email protected]b97c9082012-10-25 17:21:387
8namespace gfx {
9
10RealGLXApi* g_real_glx;
11
12void InitializeGLBindingsGLX() {
13 g_driver_glx.InitializeBindings();
14 if (!g_real_glx) {
15 g_real_glx = new RealGLXApi();
16 }
17 g_real_glx->Initialize(&g_driver_glx);
18 g_current_glx_context = g_real_glx;
19}
20
21void InitializeGLExtensionBindingsGLX(GLContext* context) {
22 g_driver_glx.InitializeExtensionBindings(context);
23}
24
25void InitializeDebugGLBindingsGLX() {
26 g_driver_glx.InitializeDebugBindings();
27}
28
29void ClearGLBindingsGLX() {
30 if (g_real_glx) {
31 delete g_real_glx;
32 g_real_glx = NULL;
33 }
34 g_current_glx_context = NULL;
35 g_driver_glx.ClearBindings();
36}
37
38GLXApi::GLXApi() {
39}
40
41GLXApi::~GLXApi() {
42}
43
[email protected]95c9d112012-12-16 04:52:3644GLXApiBase::GLXApiBase()
45 : driver_(NULL) {
46}
47
48GLXApiBase::~GLXApiBase() {
49}
50
51void GLXApiBase::InitializeBase(DriverGLX* driver) {
52 driver_ = driver;
53}
54
[email protected]b97c9082012-10-25 17:21:3855RealGLXApi::RealGLXApi() {
56}
57
[email protected]1868a342012-11-07 15:56:0258RealGLXApi::~RealGLXApi() {
59}
60
[email protected]b97c9082012-10-25 17:21:3861void RealGLXApi::Initialize(DriverGLX* driver) {
[email protected]95c9d112012-12-16 04:52:3662 InitializeBase(driver);
[email protected]b97c9082012-10-25 17:21:3863}
64
[email protected]b8f1d48c2013-02-07 05:21:1265TraceGLXApi::~TraceGLXApi() {
66}
67
[email protected]45895032013-05-30 17:06:4368bool GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo* info) {
69 Display* display = glXGetCurrentDisplay();
70 const int kDefaultScreen = 0;
71 const char* vendor =
72 glXQueryServerString(display, kDefaultScreen, GLX_VENDOR);
73 const char* version =
74 glXQueryServerString(display, kDefaultScreen, GLX_VERSION);
75 const char* extensions =
76 glXQueryServerString(display, kDefaultScreen, GLX_EXTENSIONS);
77 *info = GLWindowSystemBindingInfo();
78 if (vendor)
79 info->vendor = vendor;
80 if (version)
81 info->version = version;
82 if (extensions)
83 info->extensions = extensions;
84 return true;
85}
86
[email protected]b97c9082012-10-25 17:21:3887} // namespace gfx
88
89