1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "ui/gl/gl_image.h" 6 7 #include "base/debug/trace_event.h" 8 #include "ui/gl/gl_image_egl.h" 9 #include "ui/gl/gl_image_stub.h" 10 #include "ui/gl/gl_implementation.h" 11 12 namespace gfx { 13 14 scoped_refptr<GLImage> GLImage::CreateGLImage(gfx::PluginWindowHandle window) { 15 TRACE_EVENT0("gpu", "GLImage::CreateGLImage"); 16 switch (GetGLImplementation()) { 17 case kGLImplementationOSMesaGL: 18 return NULL; 19 case kGLImplementationEGLGLES2: 20 return NULL; 21 case kGLImplementationMockGL: 22 return new GLImageStub; 23 default: 24 NOTREACHED(); 25 return NULL; 26 } 27 } 28 29 scoped_refptr<GLImage> GLImage::CreateGLImageForGpuMemoryBuffer( 30 gfx::GpuMemoryBufferHandle buffer, 31 gfx::Size size, 32 unsigned internalformat) { 33 TRACE_EVENT0("gpu", "GLImage::CreateGLImageForGpuMemoryBuffer"); 34 switch (GetGLImplementation()) { 35 case kGLImplementationOSMesaGL: 36 return NULL; 37 case kGLImplementationEGLGLES2: 38 return NULL; 39 case kGLImplementationMockGL: 40 return new GLImageStub; 41 default: 42 NOTREACHED(); 43 return NULL; 44 } 45 } 46 47 } // namespace gfx 48