Index: ui/gfx/surface/io_surface_support_mac.cc |
diff --git a/ui/gfx/surface/io_surface_support_mac.cc b/ui/gfx/surface/io_surface_support_mac.cc |
deleted file mode 100644 |
index df08217bb20c663d313cf5c5150c91b8bab25589..0000000000000000000000000000000000000000 |
--- a/ui/gfx/surface/io_surface_support_mac.cc |
+++ /dev/null |
@@ -1,270 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include <dlfcn.h> |
- |
-#include "base/memory/singleton.h" |
-#include "ui/gfx/surface/io_surface_support_mac.h" |
- |
-typedef CFTypeRef (*IOSurfaceCreateProcPtr)(CFDictionaryRef properties); |
-typedef uint32 (*IOSurfaceGetIDProcPtr)(CFTypeRef io_surface); |
-typedef CFTypeRef (*IOSurfaceLookupProcPtr)(uint32 io_surface_id); |
-typedef mach_port_t (*IOSurfaceCreateMachPortProcPtr)(CFTypeRef io_surface); |
-typedef CFTypeRef (*IOSurfaceLookupFromMachPortProcPtr)(mach_port_t port); |
-typedef size_t (*IOSurfaceGetWidthPtr)(CFTypeRef io_surface); |
-typedef size_t (*IOSurfaceGetHeightPtr)(CFTypeRef io_surface); |
-typedef CGLError (*CGLTexImageIOSurface2DProcPtr)(CGLContextObj ctx, |
- GLenum target, |
- GLenum internal_format, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- CFTypeRef io_surface, |
- GLuint plane); |
- |
-class IOSurfaceSupportImpl : public IOSurfaceSupport { |
- public: |
- static IOSurfaceSupportImpl* GetInstance(); |
- |
- bool InitializedSuccessfully() { |
- return initialized_successfully_; |
- } |
- |
- virtual CFStringRef GetKIOSurfaceWidth(); |
- virtual CFStringRef GetKIOSurfaceHeight(); |
- virtual CFStringRef GetKIOSurfaceBytesPerElement(); |
- virtual CFStringRef GetKIOSurfaceIsGlobal(); |
- |
- virtual CFTypeRef IOSurfaceCreate(CFDictionaryRef properties); |
- virtual uint32 IOSurfaceGetID(CFTypeRef io_surface); |
- virtual CFTypeRef IOSurfaceLookup(uint32 io_surface_id); |
- virtual mach_port_t IOSurfaceCreateMachPort(CFTypeRef io_surface); |
- virtual CFTypeRef IOSurfaceLookupFromMachPort(mach_port_t port); |
- |
- virtual size_t IOSurfaceGetWidth(CFTypeRef io_surface); |
- virtual size_t IOSurfaceGetHeight(CFTypeRef io_surface); |
- |
- virtual CGLError CGLTexImageIOSurface2D(CGLContextObj ctx, |
- GLenum target, |
- GLenum internal_format, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- CFTypeRef io_surface, |
- GLuint plane); |
- |
- private: |
- IOSurfaceSupportImpl(); |
- ~IOSurfaceSupportImpl(); |
- |
- void* iosurface_handle_; |
- void* opengl_handle_; |
- CFStringRef k_io_surface_width_; |
- CFStringRef k_io_surface_height_; |
- CFStringRef k_io_surface_bytes_per_element_; |
- CFStringRef k_io_surface_is_global_; |
- IOSurfaceCreateProcPtr io_surface_create_; |
- IOSurfaceGetIDProcPtr io_surface_get_id_; |
- IOSurfaceLookupProcPtr io_surface_lookup_; |
- IOSurfaceCreateMachPortProcPtr io_surface_create_mach_port_; |
- IOSurfaceLookupFromMachPortProcPtr io_surface_lookup_from_mach_port_; |
- IOSurfaceGetWidthPtr io_surface_get_width_; |
- IOSurfaceGetHeightPtr io_surface_get_height_; |
- CGLTexImageIOSurface2DProcPtr cgl_tex_image_io_surface_2d_; |
- bool initialized_successfully_; |
- |
- friend struct DefaultSingletonTraits<IOSurfaceSupportImpl>; |
- DISALLOW_COPY_AND_ASSIGN(IOSurfaceSupportImpl); |
-}; |
- |
-IOSurfaceSupportImpl* IOSurfaceSupportImpl::GetInstance() { |
- IOSurfaceSupportImpl* impl = Singleton<IOSurfaceSupportImpl>::get(); |
- if (impl->InitializedSuccessfully()) |
- return impl; |
- return NULL; |
-} |
- |
-CFStringRef IOSurfaceSupportImpl::GetKIOSurfaceWidth() { |
- return k_io_surface_width_; |
-} |
- |
-CFStringRef IOSurfaceSupportImpl::GetKIOSurfaceHeight() { |
- return k_io_surface_height_; |
-} |
- |
-CFStringRef IOSurfaceSupportImpl::GetKIOSurfaceBytesPerElement() { |
- return k_io_surface_bytes_per_element_; |
-} |
- |
-CFStringRef IOSurfaceSupportImpl::GetKIOSurfaceIsGlobal() { |
- return k_io_surface_is_global_; |
-} |
- |
-CFTypeRef IOSurfaceSupportImpl::IOSurfaceCreate(CFDictionaryRef properties) { |
- return io_surface_create_(properties); |
-} |
- |
-uint32 IOSurfaceSupportImpl::IOSurfaceGetID( |
- CFTypeRef io_surface) { |
- return io_surface_get_id_(io_surface); |
-} |
- |
-CFTypeRef IOSurfaceSupportImpl::IOSurfaceLookup(uint32 io_surface_id) { |
- return io_surface_lookup_(io_surface_id); |
-} |
- |
-mach_port_t IOSurfaceSupportImpl::IOSurfaceCreateMachPort( |
- CFTypeRef io_surface) { |
- return io_surface_create_mach_port_(io_surface); |
-} |
- |
-CFTypeRef IOSurfaceSupportImpl::IOSurfaceLookupFromMachPort(mach_port_t port) { |
- return io_surface_lookup_from_mach_port_(port); |
-} |
- |
-size_t IOSurfaceSupportImpl::IOSurfaceGetWidth(CFTypeRef io_surface) { |
- return io_surface_get_width_(io_surface); |
-} |
- |
-size_t IOSurfaceSupportImpl::IOSurfaceGetHeight(CFTypeRef io_surface) { |
- return io_surface_get_height_(io_surface); |
-} |
- |
- |
-CGLError IOSurfaceSupportImpl::CGLTexImageIOSurface2D(CGLContextObj ctx, |
- GLenum target, |
- GLenum internal_format, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- CFTypeRef io_surface, |
- GLuint plane) { |
- return cgl_tex_image_io_surface_2d_(ctx, |
- target, |
- internal_format, |
- width, |
- height, |
- format, |
- type, |
- io_surface, |
- plane); |
-} |
- |
-IOSurfaceSupportImpl::IOSurfaceSupportImpl() |
- : iosurface_handle_(NULL), |
- opengl_handle_(NULL), |
- k_io_surface_width_(NULL), |
- k_io_surface_height_(NULL), |
- k_io_surface_bytes_per_element_(NULL), |
- k_io_surface_is_global_(NULL), |
- io_surface_create_(NULL), |
- io_surface_get_id_(NULL), |
- io_surface_lookup_(NULL), |
- io_surface_create_mach_port_(NULL), |
- io_surface_lookup_from_mach_port_(NULL), |
- io_surface_get_width_(NULL), |
- io_surface_get_height_(NULL), |
- cgl_tex_image_io_surface_2d_(NULL), |
- initialized_successfully_(false) { |
- iosurface_handle_ = dlopen( |
- "/System/Library/Frameworks/IOSurface.framework/IOSurface", |
- RTLD_LAZY | RTLD_LOCAL); |
- if (!iosurface_handle_) |
- return; |
- opengl_handle_ = dlopen( |
- "/System/Library/Frameworks/OpenGL.framework/OpenGL", |
- RTLD_LAZY | RTLD_LOCAL); |
- if (!opengl_handle_) { |
- dlclose(iosurface_handle_); |
- iosurface_handle_ = NULL; |
- return; |
- } |
- |
- void* surface_width_ptr = dlsym(iosurface_handle_, "kIOSurfaceWidth"); |
- void* surface_height_ptr = dlsym(iosurface_handle_, "kIOSurfaceHeight"); |
- void* surface_bytes_per_element_ptr = |
- dlsym(iosurface_handle_, "kIOSurfaceBytesPerElement"); |
- void* surface_is_global_ptr = |
- dlsym(iosurface_handle_, "kIOSurfaceIsGlobal"); |
- void* surface_create_ptr = dlsym(iosurface_handle_, "IOSurfaceCreate"); |
- void* surface_get_id_ptr = dlsym(iosurface_handle_, "IOSurfaceGetID"); |
- void* surface_lookup_ptr = dlsym(iosurface_handle_, "IOSurfaceLookup"); |
- void* surface_create_mach_port_ptr = |
- dlsym(iosurface_handle_, "IOSurfaceCreateMachPort"); |
- void* surface_lookup_from_mach_port_ptr = |
- dlsym(iosurface_handle_, "IOSurfaceLookupFromMachPort"); |
- void* io_surface_get_width_ptr = |
- dlsym(iosurface_handle_, "IOSurfaceGetWidth"); |
- void* io_surface_get_height_ptr = |
- dlsym(iosurface_handle_, "IOSurfaceGetHeight"); |
- void* tex_image_io_surface_2d_ptr = |
- dlsym(opengl_handle_, "CGLTexImageIOSurface2D"); |
- if (!surface_width_ptr || |
- !surface_height_ptr || |
- !surface_bytes_per_element_ptr || |
- !surface_is_global_ptr || |
- !surface_create_ptr || |
- !surface_get_id_ptr || |
- !surface_lookup_ptr || |
- !surface_create_mach_port_ptr || |
- !surface_lookup_from_mach_port_ptr || |
- !io_surface_get_width_ptr || |
- !io_surface_get_height_ptr || |
- !tex_image_io_surface_2d_ptr) { |
- dlclose(iosurface_handle_); |
- iosurface_handle_ = NULL; |
- dlclose(opengl_handle_); |
- opengl_handle_ = NULL; |
- return; |
- } |
- |
- k_io_surface_width_ = *static_cast<CFStringRef*>(surface_width_ptr); |
- k_io_surface_height_ = *static_cast<CFStringRef*>(surface_height_ptr); |
- k_io_surface_bytes_per_element_ = |
- *static_cast<CFStringRef*>(surface_bytes_per_element_ptr); |
- k_io_surface_is_global_ = *static_cast<CFStringRef*>(surface_is_global_ptr); |
- io_surface_create_ = reinterpret_cast<IOSurfaceCreateProcPtr>( |
- surface_create_ptr); |
- io_surface_get_id_ = |
- reinterpret_cast<IOSurfaceGetIDProcPtr>(surface_get_id_ptr); |
- io_surface_lookup_ = |
- reinterpret_cast<IOSurfaceLookupProcPtr>(surface_lookup_ptr); |
- io_surface_create_mach_port_ = |
- reinterpret_cast<IOSurfaceCreateMachPortProcPtr>( |
- surface_create_mach_port_ptr); |
- io_surface_lookup_from_mach_port_ = |
- reinterpret_cast<IOSurfaceLookupFromMachPortProcPtr>( |
- surface_lookup_from_mach_port_ptr); |
- io_surface_get_width_ = |
- reinterpret_cast<IOSurfaceGetWidthPtr>( |
- io_surface_get_width_ptr); |
- io_surface_get_height_ = |
- reinterpret_cast<IOSurfaceGetHeightPtr>( |
- io_surface_get_height_ptr); |
- cgl_tex_image_io_surface_2d_ = |
- reinterpret_cast<CGLTexImageIOSurface2DProcPtr>( |
- tex_image_io_surface_2d_ptr); |
- initialized_successfully_ = true; |
-} |
- |
-IOSurfaceSupportImpl::~IOSurfaceSupportImpl() { |
- if (iosurface_handle_) |
- dlclose(iosurface_handle_); |
- if (opengl_handle_) |
- dlclose(opengl_handle_); |
-} |
- |
-IOSurfaceSupport* IOSurfaceSupport::Initialize() { |
- return IOSurfaceSupportImpl::GetInstance(); |
-} |
- |
-IOSurfaceSupport::IOSurfaceSupport() { |
-} |
- |
-IOSurfaceSupport::~IOSurfaceSupport() { |
-} |
- |