• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "ui/gl/gl_glx_api_implementation.h"
6 #include "ui/gl/gl_implementation.h"
7 
8 namespace gfx {
9 
10 RealGLXApi* g_real_glx;
11 
InitializeGLBindingsGLX()12 void 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 
InitializeGLExtensionBindingsGLX(GLContext * context)21 void InitializeGLExtensionBindingsGLX(GLContext* context) {
22   g_driver_glx.InitializeExtensionBindings(context);
23 }
24 
InitializeDebugGLBindingsGLX()25 void InitializeDebugGLBindingsGLX() {
26   g_driver_glx.InitializeDebugBindings();
27 }
28 
ClearGLBindingsGLX()29 void 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 
GLXApi()38 GLXApi::GLXApi() {
39 }
40 
~GLXApi()41 GLXApi::~GLXApi() {
42 }
43 
GLXApiBase()44 GLXApiBase::GLXApiBase()
45     : driver_(NULL) {
46 }
47 
~GLXApiBase()48 GLXApiBase::~GLXApiBase() {
49 }
50 
InitializeBase(DriverGLX * driver)51 void GLXApiBase::InitializeBase(DriverGLX* driver) {
52   driver_ = driver;
53 }
54 
RealGLXApi()55 RealGLXApi::RealGLXApi() {
56 }
57 
~RealGLXApi()58 RealGLXApi::~RealGLXApi() {
59 }
60 
Initialize(DriverGLX * driver)61 void RealGLXApi::Initialize(DriverGLX* driver) {
62   InitializeBase(driver);
63 }
64 
~TraceGLXApi()65 TraceGLXApi::~TraceGLXApi() {
66 }
67 
GetGLWindowSystemBindingInfoGLX(GLWindowSystemBindingInfo * info)68 bool 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 
87 }  // namespace gfx
88 
89 
90