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

Unified Diff: gpu/ipc/host/gpu_memory_buffer_support.cc

Issue 2649553003: gpu: merge gpu/ipc/host/gpu_memory_buffer_support.cc to gpu/ipc/common/
Patch Set: fix bot failure Created 3 years, 11 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: gpu/ipc/host/gpu_memory_buffer_support.cc
diff --git a/gpu/ipc/host/gpu_memory_buffer_support.cc b/gpu/ipc/host/gpu_memory_buffer_support.cc
deleted file mode 100644
index cbd3655936503cd5cffe22ea2aae69d287d31f39..0000000000000000000000000000000000000000
--- a/gpu/ipc/host/gpu_memory_buffer_support.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2016 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 "gpu/ipc/host/gpu_memory_buffer_support.h"
-
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "build/build_config.h"
-#include "gpu/ipc/common/gpu_memory_buffer_support.h"
-#include "gpu/ipc/host/gpu_switches.h"
-#include "ui/gl/gl_bindings.h"
-#include "ui/gl/gl_switches.h"
-
-namespace gpu {
-
-bool AreNativeGpuMemoryBuffersEnabled() {
- // Disable native buffers when using Mesa.
- if (base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- switches::kUseGL) == gl::kGLImplementationOSMesaName) {
- return false;
- }
-
-#if defined(OS_MACOSX)
- return !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableNativeGpuMemoryBuffers);
-#else
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableNativeGpuMemoryBuffers);
-#endif
-}
-
-GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() {
- GpuMemoryBufferConfigurationSet configurations;
-
-#if defined(USE_OZONE) || defined(OS_MACOSX)
- if (AreNativeGpuMemoryBuffersEnabled()) {
- const gfx::BufferFormat kNativeFormats[] = {
- gfx::BufferFormat::R_8,
- gfx::BufferFormat::RG_88,
- gfx::BufferFormat::BGR_565,
- gfx::BufferFormat::RGBA_4444,
- gfx::BufferFormat::RGBA_8888,
- gfx::BufferFormat::BGRA_8888,
- gfx::BufferFormat::UYVY_422,
- gfx::BufferFormat::YVU_420,
- gfx::BufferFormat::YUV_420_BIPLANAR};
- const gfx::BufferUsage kNativeUsages[] = {
- gfx::BufferUsage::GPU_READ, gfx::BufferUsage::SCANOUT,
- gfx::BufferUsage::GPU_READ_CPU_READ_WRITE,
- gfx::BufferUsage::GPU_READ_CPU_READ_WRITE_PERSISTENT};
- for (auto format : kNativeFormats) {
- for (auto usage : kNativeUsages) {
- if (IsNativeGpuMemoryBufferConfigurationSupported(format, usage))
- configurations.insert(std::make_pair(format, usage));
- }
- }
- }
-
- // Disable native buffers only when using Mesa.
- bool force_native_gpu_read_write_formats =
- base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- switches::kUseGL) != gl::kGLImplementationOSMesaName;
- if (force_native_gpu_read_write_formats) {
- const gfx::BufferFormat kGPUReadWriteFormats[] = {
- gfx::BufferFormat::BGR_565, gfx::BufferFormat::RGBA_8888,
- gfx::BufferFormat::RGBX_8888, gfx::BufferFormat::BGRA_8888,
- gfx::BufferFormat::BGRX_8888, gfx::BufferFormat::UYVY_422,
- gfx::BufferFormat::YVU_420, gfx::BufferFormat::YUV_420_BIPLANAR};
- const gfx::BufferUsage kGPUReadWriteUsages[] = {gfx::BufferUsage::GPU_READ,
- gfx::BufferUsage::SCANOUT};
- for (auto format : kGPUReadWriteFormats) {
- for (auto usage : kGPUReadWriteUsages) {
- if (IsNativeGpuMemoryBufferConfigurationSupported(format, usage))
- configurations.insert(std::make_pair(format, usage));
- }
- }
- }
-#endif // defined(USE_OZONE) || defined(OS_MACOSX)
-
- return configurations;
-}
-
-uint32_t GetImageTextureTarget(gfx::BufferFormat format,
- gfx::BufferUsage usage) {
-#if defined(USE_OZONE) || defined(OS_MACOSX)
- GpuMemoryBufferConfigurationSet native_configurations =
- GetNativeGpuMemoryBufferConfigurations();
- if (native_configurations.find(std::make_pair(format, usage)) ==
- native_configurations.end()) {
- return GL_TEXTURE_2D;
- }
-
- switch (GetNativeGpuMemoryBufferType()) {
- case gfx::OZONE_NATIVE_PIXMAP:
- // GPU memory buffers that are shared with the GL using EGLImages
- // require TEXTURE_EXTERNAL_OES.
- return GL_TEXTURE_EXTERNAL_OES;
- case gfx::IO_SURFACE_BUFFER:
- // IOSurface backed images require GL_TEXTURE_RECTANGLE_ARB.
- return GL_TEXTURE_RECTANGLE_ARB;
- case gfx::SHARED_MEMORY_BUFFER:
- case gfx::EMPTY_BUFFER:
- break;
- }
- NOTREACHED();
- return GL_TEXTURE_2D;
-#else // defined(USE_OZONE) || defined(OS_MACOSX)
- return GL_TEXTURE_2D;
-#endif
-}
-
-} // namespace gpu

Powered by Google App Engine
This is Rietveld 408576698