| Index: ui/ozone/platform/drm/common/client_native_pixmap_vgem.cc
|
| diff --git a/ui/ozone/platform/drm/common/client_native_pixmap_vgem.cc b/ui/ozone/platform/drm/common/client_native_pixmap_vgem.cc
|
| deleted file mode 100644
|
| index 25632ecb0de1f877e665d5cb6fc41640106a0394..0000000000000000000000000000000000000000
|
| --- a/ui/ozone/platform/drm/common/client_native_pixmap_vgem.cc
|
| +++ /dev/null
|
| @@ -1,79 +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/ozone/platform/drm/common/client_native_pixmap_vgem.h"
|
| -
|
| -#include <fcntl.h>
|
| -#include <libdrm/vgem_drm.h>
|
| -#include <stddef.h>
|
| -#include <sys/mman.h>
|
| -#include <xf86drm.h>
|
| -
|
| -#include "base/process/memory.h"
|
| -#include "base/trace_event/trace_event.h"
|
| -
|
| -namespace ui {
|
| -
|
| -// static
|
| -scoped_ptr<ClientNativePixmap> ClientNativePixmapVgem::ImportFromDmabuf(
|
| - int vgem_fd,
|
| - int dmabuf_fd,
|
| - const gfx::Size& size,
|
| - int stride) {
|
| - DCHECK_GE(vgem_fd, 0);
|
| - DCHECK_GE(dmabuf_fd, 0);
|
| - uint32_t vgem_bo_handle = 0;
|
| - int ret = drmPrimeFDToHandle(vgem_fd, dmabuf_fd, &vgem_bo_handle);
|
| - DCHECK(!ret) << "drmPrimeFDToHandle failed.";
|
| - return make_scoped_ptr(
|
| - new ClientNativePixmapVgem(vgem_fd, vgem_bo_handle, size, stride));
|
| -}
|
| -
|
| -ClientNativePixmapVgem::ClientNativePixmapVgem(int vgem_fd,
|
| - uint32_t vgem_bo_handle,
|
| - const gfx::Size& size,
|
| - int stride)
|
| - : vgem_fd_(vgem_fd),
|
| - vgem_bo_handle_(vgem_bo_handle),
|
| - size_(size),
|
| - stride_(stride),
|
| - data_(nullptr) {
|
| - DCHECK(vgem_bo_handle_);
|
| - struct drm_mode_map_dumb mmap_arg = {0};
|
| - mmap_arg.handle = vgem_bo_handle_;
|
| - size_t map_size = stride_ * size_.height();
|
| - int ret = drmIoctl(vgem_fd_, DRM_IOCTL_VGEM_MODE_MAP_DUMB, &mmap_arg);
|
| - if (ret) {
|
| - PLOG(ERROR) << "fail to map a vgem buffer.";
|
| - base::TerminateBecauseOutOfMemory(map_size);
|
| - }
|
| - DCHECK(mmap_arg.offset);
|
| -
|
| - data_ = mmap(nullptr, map_size, (PROT_READ | PROT_WRITE), MAP_SHARED,
|
| - vgem_fd_, mmap_arg.offset);
|
| - DCHECK_NE(data_, MAP_FAILED);
|
| -}
|
| -
|
| -ClientNativePixmapVgem::~ClientNativePixmapVgem() {
|
| - size_t size = stride_ * size_.height();
|
| - int ret = munmap(data_, size);
|
| - DCHECK(!ret) << "fail to munmap a vgem buffer.";
|
| -
|
| - struct drm_gem_close close = {0};
|
| - close.handle = vgem_bo_handle_;
|
| - ret = drmIoctl(vgem_fd_, DRM_IOCTL_GEM_CLOSE, &close);
|
| - DCHECK(!ret) << "fail to free a vgem buffer.";
|
| -}
|
| -
|
| -void* ClientNativePixmapVgem::Map() {
|
| - return data_;
|
| -}
|
| -
|
| -void ClientNativePixmapVgem::Unmap() {}
|
| -
|
| -void ClientNativePixmapVgem::GetStride(int* stride) const {
|
| - *stride = stride_;
|
| -}
|
| -
|
| -} // namespace ui
|
|
|