Index: ui/gl/gl_image_win.cc |
diff --git a/ui/gl/gl_image_win.cc b/ui/gl/gl_image_win.cc |
index 7698b8471a4472d80c4d08d81dba6b8ada31f64c..26b4a8f692074a3af357b5a3afffa2385f74c2d3 100644 |
--- a/ui/gl/gl_image_win.cc |
+++ b/ui/gl/gl_image_win.cc |
@@ -5,6 +5,7 @@ |
#include "ui/gl/gl_image.h" |
#include "base/debug/trace_event.h" |
+#include "ui/gl/gl_image_shm.h" |
#include "ui/gl/gl_image_stub.h" |
#include "ui/gl/gl_implementation.h" |
@@ -32,7 +33,18 @@ scoped_refptr<GLImage> GLImage::CreateGLImageForGpuMemoryBuffer( |
case kGLImplementationOSMesaGL: |
case kGLImplementationDesktopGL: |
case kGLImplementationEGLGLES2: |
- return NULL; |
+ switch (buffer.type) { |
+ case SHARED_MEMORY_BUFFER: { |
+ scoped_refptr<GLImageShm> image(new GLImageShm(size)); |
+ if (!image->Initialize(buffer)) |
+ return NULL; |
+ |
+ return image; |
+ } |
+ default: |
+ NOTREACHED(); |
+ return NULL; |
+ } |
case kGLImplementationMockGL: |
return new GLImageStub; |
default: |