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_osmesa_api_implementation.h" 6 7 namespace gfx { 8 9 RealOSMESAApi* g_real_osmesa; 10 11 void InitializeGLBindingsOSMESA() { 12 g_driver_osmesa.InitializeBindings(); 13 if (!g_real_osmesa) { 14 g_real_osmesa = new RealOSMESAApi(); 15 } 16 g_real_osmesa->Initialize(&g_driver_osmesa); 17 g_current_osmesa_context = g_real_osmesa; 18 } 19 20 void InitializeGLExtensionBindingsOSMESA(GLContext* context) { 21 g_driver_osmesa.InitializeExtensionBindings(context); 22 } 23 24 void InitializeDebugGLBindingsOSMESA() { 25 g_driver_osmesa.InitializeDebugBindings(); 26 } 27 28 void ClearGLBindingsOSMESA() { 29 if (g_real_osmesa) { 30 delete g_real_osmesa; 31 g_real_osmesa = NULL; 32 } 33 g_current_osmesa_context = NULL; 34 g_driver_osmesa.ClearBindings(); 35 } 36 37 OSMESAApi::OSMESAApi() { 38 } 39 40 OSMESAApi::~OSMESAApi() { 41 } 42 43 OSMESAApiBase::OSMESAApiBase() 44 : driver_(NULL) { 45 } 46 47 OSMESAApiBase::~OSMESAApiBase() { 48 } 49 50 void OSMESAApiBase::InitializeBase(DriverOSMESA* driver) { 51 driver_ = driver; 52 } 53 54 RealOSMESAApi::RealOSMESAApi() { 55 } 56 57 RealOSMESAApi::~RealOSMESAApi() { 58 } 59 60 void RealOSMESAApi::Initialize(DriverOSMESA* driver) { 61 InitializeBase(driver); 62 } 63 64 TraceOSMESAApi::~TraceOSMESAApi() { 65 } 66 67 } // namespace gfx 68 69 70