Index: gpu/ipc/client/gpu_memory_buffer_impl_native_pixmap.cc |
diff --git a/gpu/ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap.cc b/gpu/ipc/client/gpu_memory_buffer_impl_native_pixmap.cc |
similarity index 77% |
rename from gpu/ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap.cc |
rename to gpu/ipc/client/gpu_memory_buffer_impl_native_pixmap.cc |
index e749edeca6633159e9876455ca2ee53476b673ff..c4d900f431999696c30140ce0cbbab15250fb129 100644 |
--- a/gpu/ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap.cc |
+++ b/gpu/ipc/client/gpu_memory_buffer_impl_native_pixmap.cc |
@@ -2,17 +2,20 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "gpu/ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap.h" |
+#include "gpu/ipc/client/gpu_memory_buffer_impl_native_pixmap.h" |
#include <utility> |
#include "base/memory/ptr_util.h" |
#include "gpu/ipc/common/gpu_memory_buffer_support.h" |
#include "ui/gfx/buffer_format_util.h" |
+#include "ui/gfx/client_native_pixmap_factory.h" |
#include "ui/gfx/native_pixmap.h" |
-#include "ui/ozone/public/client_native_pixmap_factory_ozone.h" |
+ |
+#if defined(USE_OZONE) |
#include "ui/ozone/public/ozone_platform.h" |
#include "ui/ozone/public/surface_factory_ozone.h" |
+#endif |
namespace gpu { |
namespace { |
@@ -25,7 +28,7 @@ void FreeNativePixmapForTesting( |
} // namespace |
-GpuMemoryBufferImplOzoneNativePixmap::GpuMemoryBufferImplOzoneNativePixmap( |
+GpuMemoryBufferImplNativePixmap::GpuMemoryBufferImplNativePixmap( |
gfx::GpuMemoryBufferId id, |
const gfx::Size& size, |
gfx::BufferFormat format, |
@@ -38,11 +41,11 @@ GpuMemoryBufferImplOzoneNativePixmap::GpuMemoryBufferImplOzoneNativePixmap( |
planes_(planes), |
fd_(std::move(fd)) {} |
-GpuMemoryBufferImplOzoneNativePixmap::~GpuMemoryBufferImplOzoneNativePixmap() {} |
+GpuMemoryBufferImplNativePixmap::~GpuMemoryBufferImplNativePixmap() {} |
// static |
-std::unique_ptr<GpuMemoryBufferImplOzoneNativePixmap> |
-GpuMemoryBufferImplOzoneNativePixmap::CreateFromHandle( |
+std::unique_ptr<GpuMemoryBufferImplNativePixmap> |
+GpuMemoryBufferImplNativePixmap::CreateFromHandle( |
const gfx::GpuMemoryBufferHandle& handle, |
const gfx::Size& size, |
gfx::BufferFormat format, |
@@ -72,59 +75,67 @@ GpuMemoryBufferImplOzoneNativePixmap::CreateFromHandle( |
native_pixmap_handle, size, usage); |
DCHECK(native_pixmap); |
- return base::WrapUnique(new GpuMemoryBufferImplOzoneNativePixmap( |
+ return base::WrapUnique(new GpuMemoryBufferImplNativePixmap( |
handle.id, size, format, callback, std::move(native_pixmap), |
handle.native_pixmap_handle.planes, std::move(scoped_fd))); |
} |
// static |
-bool GpuMemoryBufferImplOzoneNativePixmap::IsConfigurationSupported( |
+bool GpuMemoryBufferImplNativePixmap::IsConfigurationSupported( |
gfx::BufferFormat format, |
gfx::BufferUsage usage) { |
+#if defined(OS_LINUX) |
+ return false; |
+#endif |
return gpu::IsNativeGpuMemoryBufferConfigurationSupported(format, usage); |
} |
// static |
-base::Closure GpuMemoryBufferImplOzoneNativePixmap::AllocateForTesting( |
+base::Closure GpuMemoryBufferImplNativePixmap::AllocateForTesting( |
const gfx::Size& size, |
gfx::BufferFormat format, |
gfx::BufferUsage usage, |
gfx::GpuMemoryBufferHandle* handle) { |
DCHECK(IsConfigurationSupported(format, usage)); |
+#if defined(USE_OZONE) |
scoped_refptr<gfx::NativePixmap> pixmap = |
ui::OzonePlatform::GetInstance() |
->GetSurfaceFactoryOzone() |
->CreateNativePixmap(gfx::kNullAcceleratedWidget, size, format, |
usage); |
- handle->type = gfx::NATIVE_PIXMAP; |
handle->native_pixmap_handle = pixmap->ExportHandle(); |
+#else |
+ // TODO(j.isorce): use gbm_bo_create / gbm_bo_get_fd from system libgbm. |
+ scoped_refptr<gfx::NativePixmap> pixmap; |
+ NOTIMPLEMENTED(); |
+#endif |
+ handle->type = gfx::NATIVE_PIXMAP; |
return base::Bind(&FreeNativePixmapForTesting, pixmap); |
} |
-bool GpuMemoryBufferImplOzoneNativePixmap::Map() { |
+bool GpuMemoryBufferImplNativePixmap::Map() { |
DCHECK(!mapped_); |
mapped_ = pixmap_->Map(); |
return mapped_; |
} |
-void* GpuMemoryBufferImplOzoneNativePixmap::memory(size_t plane) { |
+void* GpuMemoryBufferImplNativePixmap::memory(size_t plane) { |
DCHECK(mapped_); |
return pixmap_->GetMemoryAddress(plane); |
} |
-void GpuMemoryBufferImplOzoneNativePixmap::Unmap() { |
+void GpuMemoryBufferImplNativePixmap::Unmap() { |
DCHECK(mapped_); |
pixmap_->Unmap(); |
mapped_ = false; |
} |
-int GpuMemoryBufferImplOzoneNativePixmap::stride(size_t plane) const { |
+int GpuMemoryBufferImplNativePixmap::stride(size_t plane) const { |
DCHECK_LT(plane, gfx::NumberOfPlanesForBufferFormat(format_)); |
return pixmap_->GetStride(plane); |
} |
-gfx::GpuMemoryBufferHandle GpuMemoryBufferImplOzoneNativePixmap::GetHandle() |
- const { |
+gfx::GpuMemoryBufferHandle GpuMemoryBufferImplNativePixmap::GetHandle() const { |
gfx::GpuMemoryBufferHandle handle; |
handle.type = gfx::NATIVE_PIXMAP; |
handle.id = id_; |