Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: ui/gl/gl_image_android.cc

Issue 20017005: gpu: Refactor GpuMemoryBuffer framework for multi-process support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gl/gl_image_android.cc
diff --git a/ui/gl/gl_image_android.cc b/ui/gl/gl_image_android.cc
index 0c7db630aee55f948dff2f2e8643e7ce5670f1bb..fe871e7b5e3b9235503f71b4ed2034ad344472db 100644
--- a/ui/gl/gl_image_android.cc
+++ b/ui/gl/gl_image_android.cc
@@ -6,6 +6,7 @@
#include "base/debug/trace_event.h"
#include "ui/gl/gl_image_egl.h"
+#include "ui/gl/gl_image_shm.h"
#include "ui/gl/gl_image_stub.h"
#include "ui/gl/gl_implementation.h"
@@ -28,13 +29,26 @@ 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;
+ case kGLImplementationEGLGLES2:
+ switch (buffer.type) {
+ case SHARED_MEMORY_BUFFER: {
+ scoped_refptr<GLImageShm> image(new GLImageShm(size));
+ if (!image->Initialize(buffer))
+ return NULL;
+
+ return image;
+ }
+ case EGL_CLIENT_BUFFER: {
+ scoped_refptr<GLImageEGL> image(new GLImageEGL(size));
+ if (!image->Initialize(buffer))
+ return NULL;
- return image;
- }
+ return image;
+ }
+ default:
+ NOTREACHED();
+ return NULL;
+ }
case kGLImplementationMockGL:
return new GLImageStub;
default:
« ui/gfx/gpu_memory_buffer.h ('K') | « ui/gl/gl_image.h ('k') | ui/gl/gl_image_egl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698