Index: ui/gl/gl_image_android.cc |
diff --git a/ui/gl/gl_image_android.cc b/ui/gl/gl_image_android.cc |
index e55e3bbd6890e3078d8003c94940114fbbdcc724..0c7db630aee55f948dff2f2e8643e7ce5670f1bb 100644 |
--- a/ui/gl/gl_image_android.cc |
+++ b/ui/gl/gl_image_android.cc |
@@ -5,6 +5,7 @@ |
#include "ui/gl/gl_image.h" |
#include "base/debug/trace_event.h" |
+#include "ui/gl/gl_image_egl.h" |
#include "ui/gl/gl_image_stub.h" |
#include "ui/gl/gl_implementation.h" |
@@ -13,8 +14,26 @@ namespace gfx { |
scoped_refptr<GLImage> GLImage::CreateGLImage(gfx::PluginWindowHandle window) { |
TRACE_EVENT0("gpu", "GLImage::CreateGLImage"); |
switch (GetGLImplementation()) { |
- case kGLImplementationEGLGLES2: { |
+ case kGLImplementationEGLGLES2: |
+ return NULL; |
+ case kGLImplementationMockGL: |
+ return new GLImageStub; |
+ default: |
+ NOTREACHED(); |
return NULL; |
+ } |
+} |
+ |
+scoped_refptr<GLImage> GLImage::CreateGLImageForGpuMemoryBuffer( |
+ gfx::GpuMemoryBufferHandle buffer, gfx::Size size) { |
+ TRACE_EVENT0("gpu", "GLImage::CreateGLImageForGpuMemoryBuffer"); |
+ switch (GetGLImplementation()) { |
+ case kGLImplementationEGLGLES2: { |
+ scoped_refptr<GLImageEGL> image(new GLImageEGL(size)); |
+ if (!image->Initialize(buffer)) |
+ return NULL; |
+ |
+ return image; |
} |
case kGLImplementationMockGL: |
return new GLImageStub; |