| Index: ui/gl/gl_context_android.cc
|
| diff --git a/ui/gl/gl_context_android.cc b/ui/gl/gl_context_android.cc
|
| index f4555a2c28f93fba09d8e5f8c10afff3cd992a2d..2b918929ddd0f2bf87ca0428f1ab1650adc6e6a5 100644
|
| --- a/ui/gl/gl_context_android.cc
|
| +++ b/ui/gl/gl_context_android.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/sys_info.h"
|
| #include "ui/gl/gl_bindings.h"
|
| #include "ui/gl/gl_context_egl.h"
|
| +#include "ui/gl/gl_context_osmesa.h"
|
| #include "ui/gl/gl_context_stub.h"
|
| #include "ui/gl/gl_implementation.h"
|
| #include "ui/gl/gl_surface.h"
|
| @@ -75,16 +76,24 @@ scoped_refptr<GLContext> GLContext::CreateGLContext(
|
| GLShareGroup* share_group,
|
| GLSurface* compatible_surface,
|
| GpuPreference gpu_preference) {
|
| - if (GetGLImplementation() == kGLImplementationMockGL)
|
| - return scoped_refptr<GLContext>(new GLContextStub());
|
| -
|
| scoped_refptr<GLContext> context;
|
| - if (compatible_surface->GetHandle())
|
| - context = new GLContextEGL(share_group);
|
| - else
|
| - context = new GLNonOwnedContext(share_group);
|
| + switch (GetGLImplementation()) {
|
| + case kGLImplementationMockGL:
|
| + return scoped_refptr<GLContext>(new GLContextStub());
|
| + case kGLImplementationOSMesaGL:
|
| + context = new GLContextOSMesa(share_group);
|
| + break;
|
| + default:
|
| + if (compatible_surface->GetHandle())
|
| + context = new GLContextEGL(share_group);
|
| + else
|
| + context = new GLNonOwnedContext(share_group);
|
| + break;
|
| + }
|
| +
|
| if (!context->Initialize(compatible_surface, gpu_preference))
|
| return NULL;
|
| +
|
| return context;
|
| }
|
|
|
|
|