| Index: ui/gfx/gl/gl_implementation.cc
|
| diff --git a/ui/gfx/gl/gl_implementation.cc b/ui/gfx/gl/gl_implementation.cc
|
| deleted file mode 100644
|
| index d225d57a57c4fb0bb82bf10452130647364dc4e0..0000000000000000000000000000000000000000
|
| --- a/ui/gfx/gl/gl_implementation.cc
|
| +++ /dev/null
|
| @@ -1,151 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/gfx/gl/gl_implementation.h"
|
| -
|
| -#include <algorithm>
|
| -#include <string>
|
| -
|
| -#include "base/at_exit.h"
|
| -#include "base/command_line.h"
|
| -#include "base/logging.h"
|
| -
|
| -namespace gfx {
|
| -
|
| -namespace {
|
| -
|
| -const struct {
|
| - const char* name;
|
| - GLImplementation implementation;
|
| -} kGLImplementationNamePairs[] = {
|
| - { kGLImplementationDesktopName, kGLImplementationDesktopGL },
|
| - { kGLImplementationOSMesaName, kGLImplementationOSMesaGL },
|
| -#if defined(OS_MACOSX)
|
| - { kGLImplementationAppleName, kGLImplementationAppleGL },
|
| -#endif
|
| - { kGLImplementationEGLName, kGLImplementationEGLGLES2 },
|
| - { kGLImplementationMockName, kGLImplementationMockGL }
|
| -};
|
| -
|
| -typedef std::vector<base::NativeLibrary> LibraryArray;
|
| -
|
| -GLImplementation g_gl_implementation = kGLImplementationNone;
|
| -LibraryArray* g_libraries;
|
| -GLGetProcAddressProc g_get_proc_address;
|
| -
|
| -void CleanupNativeLibraries(void* unused) {
|
| - if (g_libraries) {
|
| - for (LibraryArray::iterator it = g_libraries->begin();
|
| - it != g_libraries->end(); ++it) {
|
| - base::UnloadNativeLibrary(*it);
|
| - }
|
| - delete g_libraries;
|
| - g_libraries = NULL;
|
| - }
|
| -}
|
| -
|
| -bool ExportsCoreFunctionsFromGetProcAddress(GLImplementation implementation) {
|
| - switch (GetGLImplementation()) {
|
| - case kGLImplementationDesktopGL:
|
| - case kGLImplementationOSMesaGL:
|
| - case kGLImplementationAppleGL:
|
| - case kGLImplementationMockGL:
|
| - return true;
|
| - case kGLImplementationEGLGLES2:
|
| - return false;
|
| - default:
|
| - NOTREACHED();
|
| - return true;
|
| - }
|
| -}
|
| -
|
| -}
|
| -
|
| -GLImplementation GetNamedGLImplementation(const std::string& name) {
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kGLImplementationNamePairs); ++i) {
|
| - if (name == kGLImplementationNamePairs[i].name)
|
| - return kGLImplementationNamePairs[i].implementation;
|
| - }
|
| -
|
| - return kGLImplementationNone;
|
| -}
|
| -
|
| -const char* GetGLImplementationName(GLImplementation implementation) {
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kGLImplementationNamePairs); ++i) {
|
| - if (implementation == kGLImplementationNamePairs[i].implementation)
|
| - return kGLImplementationNamePairs[i].name;
|
| - }
|
| -
|
| - return "unknown";
|
| -}
|
| -
|
| -void SetGLImplementation(GLImplementation implementation) {
|
| - g_gl_implementation = implementation;
|
| -}
|
| -
|
| -GLImplementation GetGLImplementation() {
|
| - return g_gl_implementation;
|
| -}
|
| -
|
| -bool HasDesktopGLFeatures() {
|
| - return kGLImplementationDesktopGL == g_gl_implementation ||
|
| - kGLImplementationOSMesaGL == g_gl_implementation ||
|
| - kGLImplementationAppleGL == g_gl_implementation;
|
| -}
|
| -
|
| -void AddGLNativeLibrary(base::NativeLibrary library) {
|
| - DCHECK(library);
|
| -
|
| - if (!g_libraries) {
|
| - g_libraries = new LibraryArray;
|
| - base::AtExitManager::RegisterCallback(CleanupNativeLibraries, NULL);
|
| - }
|
| -
|
| - g_libraries->push_back(library);
|
| -}
|
| -
|
| -void UnloadGLNativeLibraries() {
|
| - CleanupNativeLibraries(NULL);
|
| -}
|
| -
|
| -void SetGLGetProcAddressProc(GLGetProcAddressProc proc) {
|
| - DCHECK(proc);
|
| - g_get_proc_address = proc;
|
| -}
|
| -
|
| -void* GetGLCoreProcAddress(const char* name) {
|
| - DCHECK(g_gl_implementation != kGLImplementationNone);
|
| -
|
| - if (g_libraries) {
|
| - for (size_t i = 0; i < g_libraries->size(); ++i) {
|
| - void* proc = base::GetFunctionPointerFromNativeLibrary((*g_libraries)[i],
|
| - name);
|
| - if (proc)
|
| - return proc;
|
| - }
|
| - }
|
| - if (ExportsCoreFunctionsFromGetProcAddress(g_gl_implementation) &&
|
| - g_get_proc_address) {
|
| - void* proc = g_get_proc_address(name);
|
| - if (proc)
|
| - return proc;
|
| - }
|
| -
|
| - return NULL;
|
| -}
|
| -
|
| -void* GetGLProcAddress(const char* name) {
|
| - DCHECK(g_gl_implementation != kGLImplementationNone);
|
| -
|
| - void* proc = GetGLCoreProcAddress(name);
|
| - if (!proc && g_get_proc_address) {
|
| - proc = g_get_proc_address(name);
|
| - if (proc)
|
| - return proc;
|
| - }
|
| -
|
| - return proc;
|
| -}
|
| -
|
| -} // namespace gfx
|
|
|