Index: ui/gfx/mac/io_surface_manager.cc |
diff --git a/ui/gfx/mac/io_surface_manager.cc b/ui/gfx/mac/io_surface_manager.cc |
deleted file mode 100644 |
index 9e3e9cfdb377418c7563a12024ce396f35f6cc29..0000000000000000000000000000000000000000 |
--- a/ui/gfx/mac/io_surface_manager.cc |
+++ /dev/null |
@@ -1,149 +0,0 @@ |
-// Copyright 2015 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 "ui/gfx/mac/io_surface_manager.h" |
- |
-#include <IOSurface/IOSurface.h> |
-#include <stddef.h> |
-#include <stdint.h> |
- |
-#include "base/logging.h" |
-#include "base/mac/scoped_cftyperef.h" |
-#include "base/macros.h" |
-#include "ui/gfx/buffer_format_util.h" |
- |
-namespace gfx { |
-namespace { |
- |
-IOSurfaceManager* g_instance = NULL; |
- |
-void AddIntegerValue(CFMutableDictionaryRef dictionary, |
- const CFStringRef key, |
- int32_t value) { |
- base::ScopedCFTypeRef<CFNumberRef> number( |
- CFNumberCreate(NULL, kCFNumberSInt32Type, &value)); |
- CFDictionaryAddValue(dictionary, key, number.get()); |
-} |
- |
-int32_t BytesPerElement(gfx::BufferFormat format, int plane) { |
- switch (format) { |
- case gfx::BufferFormat::R_8: |
- DCHECK_EQ(plane, 0); |
- return 1; |
- case gfx::BufferFormat::BGRA_8888: |
- case gfx::BufferFormat::RGBA_8888: |
- DCHECK_EQ(plane, 0); |
- return 4; |
- case gfx::BufferFormat::YUV_420_BIPLANAR: |
- static int32_t bytes_per_element[] = {1, 2}; |
- DCHECK_LT(static_cast<size_t>(plane), arraysize(bytes_per_element)); |
- return bytes_per_element[plane]; |
- case gfx::BufferFormat::UYVY_422: |
- DCHECK_EQ(plane, 0); |
- return 2; |
- case gfx::BufferFormat::ATC: |
- case gfx::BufferFormat::ATCIA: |
- case gfx::BufferFormat::DXT1: |
- case gfx::BufferFormat::DXT5: |
- case gfx::BufferFormat::ETC1: |
- case gfx::BufferFormat::RGBA_4444: |
- case gfx::BufferFormat::RGBX_8888: |
- case gfx::BufferFormat::BGRX_8888: |
- case gfx::BufferFormat::YUV_420: |
- NOTREACHED(); |
- return 0; |
- } |
- |
- NOTREACHED(); |
- return 0; |
-} |
- |
-int32_t PixelFormat(gfx::BufferFormat format) { |
- switch (format) { |
- case gfx::BufferFormat::R_8: |
- return 'L008'; |
- case gfx::BufferFormat::BGRA_8888: |
- case gfx::BufferFormat::RGBA_8888: |
- return 'BGRA'; |
- case gfx::BufferFormat::YUV_420_BIPLANAR: |
- return '420v'; |
- case gfx::BufferFormat::UYVY_422: |
- return '2vuy'; |
- case gfx::BufferFormat::ATC: |
- case gfx::BufferFormat::ATCIA: |
- case gfx::BufferFormat::DXT1: |
- case gfx::BufferFormat::DXT5: |
- case gfx::BufferFormat::ETC1: |
- case gfx::BufferFormat::RGBA_4444: |
- case gfx::BufferFormat::RGBX_8888: |
- case gfx::BufferFormat::BGRX_8888: |
- case gfx::BufferFormat::YUV_420: |
- NOTREACHED(); |
- return 0; |
- } |
- |
- NOTREACHED(); |
- return 0; |
-} |
- |
-} // namespace |
- |
-// static |
-IOSurfaceManager* IOSurfaceManager::GetInstance() { |
- DCHECK(g_instance); |
- return g_instance; |
-} |
- |
-// static |
-void IOSurfaceManager::SetInstance(IOSurfaceManager* instance) { |
- DCHECK(!g_instance || !instance); |
- g_instance = instance; |
-} |
- |
-// static |
-IOSurfaceRef IOSurfaceManager::CreateIOSurface(const gfx::Size& size, |
- gfx::BufferFormat format) { |
- size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format); |
- base::ScopedCFTypeRef<CFMutableArrayRef> planes(CFArrayCreateMutable( |
- kCFAllocatorDefault, num_planes, &kCFTypeArrayCallBacks)); |
- |
- // Don't specify plane information unless there are indeed multiple planes |
- // because DisplayLink drivers do not support this. |
- // http://crbug.com/527556 |
- if (num_planes > 1) { |
- for (size_t plane = 0; plane < num_planes; ++plane) { |
- size_t factor = gfx::SubsamplingFactorForBufferFormat(format, plane); |
- |
- base::ScopedCFTypeRef<CFMutableDictionaryRef> plane_info( |
- CFDictionaryCreateMutable(kCFAllocatorDefault, 0, |
- &kCFTypeDictionaryKeyCallBacks, |
- &kCFTypeDictionaryValueCallBacks)); |
- AddIntegerValue(plane_info, kIOSurfacePlaneWidth, size.width() / factor); |
- AddIntegerValue(plane_info, kIOSurfacePlaneHeight, |
- size.height() / factor); |
- AddIntegerValue(plane_info, kIOSurfacePlaneBytesPerElement, |
- BytesPerElement(format, plane)); |
- |
- CFArrayAppendValue(planes, plane_info); |
- } |
- } |
- |
- base::ScopedCFTypeRef<CFMutableDictionaryRef> properties( |
- CFDictionaryCreateMutable(kCFAllocatorDefault, 0, |
- &kCFTypeDictionaryKeyCallBacks, |
- &kCFTypeDictionaryValueCallBacks)); |
- AddIntegerValue(properties, kIOSurfaceWidth, size.width()); |
- AddIntegerValue(properties, kIOSurfaceHeight, size.height()); |
- AddIntegerValue(properties, kIOSurfacePixelFormat, PixelFormat(format)); |
- if (num_planes > 1) { |
- CFDictionaryAddValue(properties, kIOSurfacePlaneInfo, planes); |
- } else { |
- AddIntegerValue(properties, kIOSurfaceBytesPerElement, |
- BytesPerElement(format, 0)); |
- } |
- |
- return IOSurfaceCreate(properties); |
-} |
- |
-} // namespace content |