Run Surface draw callback after aggregation and before draw.
[chromium-blink-merge.git] / ui / gl / gl_osmesa_api_implementation.cc
blobf23c2997b3de0f132694fc4ae480d7df2e3e0768
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_osmesa_api_implementation.h"
7 namespace gfx {
9 RealOSMESAApi* g_real_osmesa;
11 void InitializeStaticGLBindingsOSMESA() {
12 g_driver_osmesa.InitializeStaticBindings();
13 if (!g_real_osmesa) {
14 g_real_osmesa = new RealOSMESAApi();
16 g_real_osmesa->Initialize(&g_driver_osmesa);
17 g_current_osmesa_context = g_real_osmesa;
20 void InitializeDynamicGLBindingsOSMESA(GLContext* context) {
21 g_driver_osmesa.InitializeDynamicBindings(context);
24 void InitializeDebugGLBindingsOSMESA() {
25 g_driver_osmesa.InitializeDebugBindings();
28 void ClearGLBindingsOSMESA() {
29 if (g_real_osmesa) {
30 delete g_real_osmesa;
31 g_real_osmesa = NULL;
33 g_current_osmesa_context = NULL;
34 g_driver_osmesa.ClearBindings();
37 OSMESAApi::OSMESAApi() {
40 OSMESAApi::~OSMESAApi() {
43 OSMESAApiBase::OSMESAApiBase()
44 : driver_(NULL) {
47 OSMESAApiBase::~OSMESAApiBase() {
50 void OSMESAApiBase::InitializeBase(DriverOSMESA* driver) {
51 driver_ = driver;
54 RealOSMESAApi::RealOSMESAApi() {
57 RealOSMESAApi::~RealOSMESAApi() {
60 void RealOSMESAApi::Initialize(DriverOSMESA* driver) {
61 InitializeBase(driver);
64 TraceOSMESAApi::~TraceOSMESAApi() {
67 } // namespace gfx