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..20448db98991a399d5dd8a72545c575f37087676 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,9 +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, const 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; |
default: |