Index: ui/gl/gl_image_x11.cc |
diff --git a/ui/gl/gl_image_x11.cc b/ui/gl/gl_image_x11.cc |
index 6f7d8c6e85b3c735d07c1d0feccbee89d5c458be..61e40acd250b74313e56368919dbf9a2e78775ee 100644 |
--- a/ui/gl/gl_image_x11.cc |
+++ b/ui/gl/gl_image_x11.cc |
@@ -12,36 +12,26 @@ |
namespace gfx { |
-scoped_refptr<GLImage> GLImage::CreateGLImage(gfx::PluginWindowHandle window) { |
- TRACE_EVENT0("gpu", "GLImage::CreateGLImage"); |
- switch (GetGLImplementation()) { |
- case kGLImplementationOSMesaGL: |
- return NULL; |
- case kGLImplementationDesktopGL: { |
- scoped_refptr<GLImageGLX> image(new GLImageGLX(window)); |
- if (!image->Initialize()) |
- return NULL; |
- |
- return image; |
- } |
- case kGLImplementationEGLGLES2: |
- return NULL; |
- case kGLImplementationMockGL: |
- return new GLImageStub; |
- default: |
- NOTREACHED(); |
- return NULL; |
- } |
-} |
- |
scoped_refptr<GLImage> GLImage::CreateGLImageForGpuMemoryBuffer( |
gfx::GpuMemoryBufferHandle buffer, |
gfx::Size size, |
unsigned internalformat) { |
TRACE_EVENT0("gpu", "GLImage::CreateGLImageForGpuMemoryBuffer"); |
switch (GetGLImplementation()) { |
- case kGLImplementationOSMesaGL: |
case kGLImplementationDesktopGL: |
+ switch (buffer.type) { |
+ case X11_PIXMAP_BUFFER: { |
+ scoped_refptr<GLImageGLX> image(new GLImageGLX(size, internalformat)); |
+ if (!image->Initialize(buffer)) |
+ return NULL; |
+ |
+ return image; |
+ } |
+ default: |
+ break; |
+ } |
+ // Fall-through. |
+ case kGLImplementationOSMesaGL: |
case kGLImplementationEGLGLES2: |
switch (buffer.type) { |
case SHARED_MEMORY_BUFFER: { |