| Index: ui/gl/gl_implementation_x11.cc
|
| diff --git a/ui/gl/gl_implementation_x11.cc b/ui/gl/gl_implementation_x11.cc
|
| index 01ee655ff11b1b5922c7af9801e3d07b74df9546..e8c0fc274ace62e4edbf498c249991799f1c36ed 100644
|
| --- a/ui/gl/gl_implementation_x11.cc
|
| +++ b/ui/gl/gl_implementation_x11.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/logging.h"
|
| #include "base/threading/thread_restrictions.h"
|
| #include "ui/gl/gl_bindings.h"
|
| +#include "ui/gl/gl_context_mock_version.h"
|
| #include "ui/gl/gl_egl_api_implementation.h"
|
| #include "ui/gl/gl_gl_api_implementation.h"
|
| #include "ui/gl/gl_glx_api_implementation.h"
|
| @@ -38,7 +39,7 @@ void GetAllowedGLImplementations(std::vector<GLImplementation>* impls) {
|
| impls->push_back(kGLImplementationOSMesaGL);
|
| }
|
|
|
| -bool InitializeGLBindings(GLImplementation implementation) {
|
| +bool InitializeStaticGLBindings(GLImplementation implementation) {
|
| // Prevent reinitialization with a different implementation. Once the gpu
|
| // unit tests have initialized with kGLImplementationMock, we don't want to
|
| // later switch to another GL implementation.
|
| @@ -53,7 +54,7 @@ bool InitializeGLBindings(GLImplementation implementation) {
|
|
|
| switch (implementation) {
|
| case kGLImplementationOSMesaGL:
|
| - return InitializeGLBindingsOSMesaGL();
|
| + return InitializeStaticGLBindingsOSMesaGL();
|
| case kGLImplementationDesktopGL: {
|
| base::NativeLibrary library = NULL;
|
| const CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| @@ -87,8 +88,8 @@ bool InitializeGLBindings(GLImplementation implementation) {
|
| AddGLNativeLibrary(library);
|
| SetGLImplementation(kGLImplementationDesktopGL);
|
|
|
| - InitializeGLBindingsGL();
|
| - InitializeGLBindingsGLX();
|
| + InitializeStaticGLBindingsGL();
|
| + InitializeStaticGLBindingsGLX();
|
| break;
|
| }
|
| case kGLImplementationEGLGLES2: {
|
| @@ -117,8 +118,8 @@ bool InitializeGLBindings(GLImplementation implementation) {
|
| AddGLNativeLibrary(gles_library);
|
| SetGLImplementation(kGLImplementationEGLGLES2);
|
|
|
| - InitializeGLBindingsGL();
|
| - InitializeGLBindingsEGL();
|
| + InitializeStaticGLBindingsGL();
|
| + InitializeStaticGLBindingsEGL();
|
|
|
| // These two functions take single precision float rather than double
|
| // precision float parameters in GLES.
|
| @@ -129,7 +130,7 @@ bool InitializeGLBindings(GLImplementation implementation) {
|
| case kGLImplementationMockGL: {
|
| SetGLGetProcAddressProc(GetMockGLProcAddress);
|
| SetGLImplementation(kGLImplementationMockGL);
|
| - InitializeGLBindingsGL();
|
| + InitializeStaticGLBindingsGL();
|
| break;
|
| }
|
| default:
|
| @@ -140,23 +141,27 @@ bool InitializeGLBindings(GLImplementation implementation) {
|
| return true;
|
| }
|
|
|
| -bool InitializeGLExtensionBindings(GLImplementation implementation,
|
| +bool InitializeDynamicGLBindings(GLImplementation implementation,
|
| GLContext* context) {
|
| switch (implementation) {
|
| case kGLImplementationOSMesaGL:
|
| - InitializeGLExtensionBindingsGL(context);
|
| - InitializeGLExtensionBindingsOSMESA(context);
|
| + InitializeDynamicGLBindingsGL(context);
|
| + InitializeDynamicGLBindingsOSMESA(context);
|
| break;
|
| case kGLImplementationDesktopGL:
|
| - InitializeGLExtensionBindingsGL(context);
|
| - InitializeGLExtensionBindingsGLX(context);
|
| + InitializeDynamicGLBindingsGL(context);
|
| + InitializeDynamicGLBindingsGLX(context);
|
| break;
|
| case kGLImplementationEGLGLES2:
|
| - InitializeGLExtensionBindingsGL(context);
|
| - InitializeGLExtensionBindingsEGL(context);
|
| + InitializeDynamicGLBindingsGL(context);
|
| + InitializeDynamicGLBindingsEGL(context);
|
| break;
|
| case kGLImplementationMockGL:
|
| - InitializeGLExtensionBindingsGL(context);
|
| + {
|
| + scoped_refptr<GLContextMockVersion> mock_context(
|
| + new GLContextMockVersion("3.0"));
|
| + InitializeDynamicGLBindingsGL(mock_context.get());
|
| + }
|
| break;
|
| default:
|
| return false;
|
|
|