| Index: ui/ozone/platform/drm/client_native_pixmap_factory_gbm.cc
|
| diff --git a/ui/ozone/platform/drm/client_native_pixmap_factory_gbm.cc b/ui/ozone/platform/drm/client_native_pixmap_factory_gbm.cc
|
| index 06aada4e3175f1dc3659cf53de62dcef0b3a7211..19b3e1042b4102e75c3cb8d10908f288712c6507 100644
|
| --- a/ui/ozone/platform/drm/client_native_pixmap_factory_gbm.cc
|
| +++ b/ui/ozone/platform/drm/client_native_pixmap_factory_gbm.cc
|
| @@ -21,19 +21,12 @@
|
| ClientNativePixmapGbm() {}
|
| ~ClientNativePixmapGbm() override {}
|
|
|
| - bool Map() override {
|
| - NOTREACHED();
|
| - return false;
|
| - }
|
| - void Unmap() override { NOTREACHED(); }
|
| - void* GetMemoryAddress(size_t plane) const override {
|
| + void* Map() override {
|
| NOTREACHED();
|
| return nullptr;
|
| }
|
| - int GetStride(size_t plane) const override {
|
| - NOTREACHED();
|
| - return 0;
|
| - }
|
| + void Unmap() override { NOTREACHED(); }
|
| + void GetStride(int* stride) const override { NOTREACHED(); }
|
| };
|
|
|
| } // namespace
|
| @@ -80,20 +73,21 @@
|
| const gfx::Size& size,
|
| gfx::BufferUsage usage) override {
|
| DCHECK(!handle.fds.empty());
|
| + base::ScopedFD scoped_fd(handle.fds[0].fd);
|
| switch (usage) {
|
| case gfx::BufferUsage::GPU_READ_CPU_READ_WRITE:
|
| case gfx::BufferUsage::GPU_READ_CPU_READ_WRITE_PERSISTENT:
|
| #if defined(OS_CHROMEOS)
|
| - return ClientNativePixmapDmaBuf::ImportFromDmabuf(handle, size);
|
| + // TODO(dcastagna): Add support for pixmaps with multiple FDs for non
|
| + // scanout buffers.
|
| + return ClientNativePixmapDmaBuf::ImportFromDmabuf(
|
| + scoped_fd.release(), size, handle.planes[0].stride);
|
| #else
|
| NOTREACHED();
|
| return nullptr;
|
| #endif
|
| case gfx::BufferUsage::GPU_READ:
|
| case gfx::BufferUsage::SCANOUT:
|
| - // Close all the fds.
|
| - for (const auto& fd : handle.fds)
|
| - base::ScopedFD scoped_fd(fd.fd);
|
| return base::WrapUnique(new ClientNativePixmapGbm);
|
| }
|
| NOTREACHED();
|
|
|