Index: ui/gl/gl_image_io_surface.cc |
diff --git a/ui/gl/gl_image_io_surface.cc b/ui/gl/gl_image_io_surface.cc |
deleted file mode 100644 |
index adcadee363ab5499ca14bd43fbf5bff11378ba51..0000000000000000000000000000000000000000 |
--- a/ui/gl/gl_image_io_surface.cc |
+++ /dev/null |
@@ -1,198 +0,0 @@ |
-// Copyright 2013 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/gl/gl_image_io_surface.h" |
- |
-#include "ui/gl/gl_bindings.h" |
-#include "ui/gl/gl_context.h" |
- |
-// Note that this must be included after gl_bindings.h to avoid conflicts. |
-#include <OpenGL/CGLIOSurface.h> |
- |
-namespace gfx { |
-namespace { |
- |
-bool ValidInternalFormat(unsigned internalformat) { |
- switch (internalformat) { |
- case GL_R8: |
- case GL_BGRA_EXT: |
- return true; |
- default: |
- return false; |
- } |
-} |
- |
-bool ValidFormat(GpuMemoryBuffer::Format format) { |
- switch (format) { |
- case GpuMemoryBuffer::R_8: |
- case GpuMemoryBuffer::BGRA_8888: |
- return true; |
- case GpuMemoryBuffer::ATC: |
- case GpuMemoryBuffer::ATCIA: |
- case GpuMemoryBuffer::DXT1: |
- case GpuMemoryBuffer::DXT5: |
- case GpuMemoryBuffer::ETC1: |
- case GpuMemoryBuffer::RGBA_4444: |
- case GpuMemoryBuffer::RGBA_8888: |
- case GpuMemoryBuffer::RGBX_8888: |
- case GpuMemoryBuffer::YUV_420: |
- return false; |
- } |
- |
- NOTREACHED(); |
- return false; |
-} |
- |
-GLenum TextureFormat(GpuMemoryBuffer::Format format) { |
- switch (format) { |
- case GpuMemoryBuffer::R_8: |
- return GL_RED; |
- case GpuMemoryBuffer::BGRA_8888: |
- return GL_RGBA; |
- case GpuMemoryBuffer::ATC: |
- case GpuMemoryBuffer::ATCIA: |
- case GpuMemoryBuffer::DXT1: |
- case GpuMemoryBuffer::DXT5: |
- case GpuMemoryBuffer::ETC1: |
- case GpuMemoryBuffer::RGBA_4444: |
- case GpuMemoryBuffer::RGBA_8888: |
- case GpuMemoryBuffer::RGBX_8888: |
- case GpuMemoryBuffer::YUV_420: |
- NOTREACHED(); |
- return 0; |
- } |
- |
- NOTREACHED(); |
- return 0; |
-} |
- |
-GLenum DataFormat(GpuMemoryBuffer::Format format) { |
- switch (format) { |
- case GpuMemoryBuffer::R_8: |
- return GL_RED; |
- case GpuMemoryBuffer::BGRA_8888: |
- return GL_BGRA; |
- case GpuMemoryBuffer::ATC: |
- case GpuMemoryBuffer::ATCIA: |
- case GpuMemoryBuffer::DXT1: |
- case GpuMemoryBuffer::DXT5: |
- case GpuMemoryBuffer::ETC1: |
- case GpuMemoryBuffer::RGBA_4444: |
- case GpuMemoryBuffer::RGBA_8888: |
- case GpuMemoryBuffer::RGBX_8888: |
- case GpuMemoryBuffer::YUV_420: |
- NOTREACHED(); |
- return 0; |
- } |
- |
- NOTREACHED(); |
- return 0; |
-} |
- |
-GLenum DataType(GpuMemoryBuffer::Format format) { |
- switch (format) { |
- case GpuMemoryBuffer::R_8: |
- return GL_UNSIGNED_BYTE; |
- case GpuMemoryBuffer::BGRA_8888: |
- return GL_UNSIGNED_INT_8_8_8_8_REV; |
- case GpuMemoryBuffer::ATC: |
- case GpuMemoryBuffer::ATCIA: |
- case GpuMemoryBuffer::DXT1: |
- case GpuMemoryBuffer::DXT5: |
- case GpuMemoryBuffer::ETC1: |
- case GpuMemoryBuffer::RGBA_4444: |
- case GpuMemoryBuffer::RGBA_8888: |
- case GpuMemoryBuffer::RGBX_8888: |
- case GpuMemoryBuffer::YUV_420: |
- NOTREACHED(); |
- return 0; |
- } |
- |
- NOTREACHED(); |
- return 0; |
-} |
- |
-} // namespace |
- |
-GLImageIOSurface::GLImageIOSurface(const gfx::Size& size, |
- unsigned internalformat) |
- : size_(size), |
- internalformat_(internalformat), |
- format_(GpuMemoryBuffer::RGBA_8888) { |
-} |
- |
-GLImageIOSurface::~GLImageIOSurface() { |
- DCHECK(thread_checker_.CalledOnValidThread()); |
- DCHECK(!io_surface_); |
-} |
- |
-bool GLImageIOSurface::Initialize(IOSurfaceRef io_surface, |
- GpuMemoryBuffer::Format format) { |
- DCHECK(thread_checker_.CalledOnValidThread()); |
- DCHECK(!io_surface_); |
- |
- if (!ValidInternalFormat(internalformat_)) { |
- LOG(ERROR) << "Invalid internalformat: " << internalformat_; |
- return false; |
- } |
- |
- if (!ValidFormat(format)) { |
- LOG(ERROR) << "Invalid format: " << format; |
- return false; |
- } |
- |
- format_ = format; |
- io_surface_.reset(io_surface, base::scoped_policy::RETAIN); |
- return true; |
-} |
- |
-void GLImageIOSurface::Destroy(bool have_context) { |
- DCHECK(thread_checker_.CalledOnValidThread()); |
- io_surface_.reset(); |
-} |
- |
-gfx::Size GLImageIOSurface::GetSize() { return size_; } |
- |
-unsigned GLImageIOSurface::GetInternalFormat() { return internalformat_; } |
- |
-bool GLImageIOSurface::BindTexImage(unsigned target) { |
- DCHECK(thread_checker_.CalledOnValidThread()); |
- if (target != GL_TEXTURE_RECTANGLE_ARB) { |
- // This might be supported in the future. For now, perform strict |
- // validation so we know what's going on. |
- LOG(ERROR) << "IOSurface requires TEXTURE_RECTANGLE_ARB target"; |
- return false; |
- } |
- |
- CGLContextObj cgl_context = |
- static_cast<CGLContextObj>(GLContext::GetCurrent()->GetHandle()); |
- |
- DCHECK(io_surface_); |
- CGLError cgl_error = |
- CGLTexImageIOSurface2D(cgl_context, target, TextureFormat(format_), |
- size_.width(), size_.height(), DataFormat(format_), |
- DataType(format_), io_surface_.get(), 0); |
- if (cgl_error != kCGLNoError) { |
- LOG(ERROR) << "Error in CGLTexImageIOSurface2D"; |
- return false; |
- } |
- |
- return true; |
-} |
- |
-bool GLImageIOSurface::CopyTexSubImage(unsigned target, |
- const Point& offset, |
- const Rect& rect) { |
- return false; |
-} |
- |
-bool GLImageIOSurface::ScheduleOverlayPlane(gfx::AcceleratedWidget widget, |
- int z_order, |
- OverlayTransform transform, |
- const Rect& bounds_rect, |
- const RectF& crop_rect) { |
- return false; |
-} |
- |
-} // namespace gfx |