| Index: ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc
|
| diff --git a/ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc b/ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc
|
| index 4b0c4e6a25a604f3ae75ce8c86e339440d8a6616..93a7f1071044af4d9e790e5a4ee12fb822eb20b4 100644
|
| --- a/ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc
|
| +++ b/ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc
|
| @@ -7,6 +7,10 @@
|
| #include "base/file_descriptor_posix.h"
|
| #include "ui/ozone/platform/drm/gpu/vgem_pixmap.h"
|
|
|
| +#include "base/command_line.h"
|
| +#include "ui/ozone/platform/drm/gpu/intel_drm_pixmap.h"
|
| +#include "ui/ozone/public/ozone_switches.h"
|
| +
|
| namespace ui {
|
|
|
| namespace {
|
| @@ -60,6 +64,13 @@ scoped_refptr<NativePixmap> NativePixmapManagerGbm::CreateFromFileDescriptor(
|
| gfx::Size size,
|
| SurfaceFactoryOzone::BufferFormat format,
|
| SurfaceFactoryOzone::BufferUsage usage) {
|
| + bool enable_intel_drm = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kOzoneUseIntelDrm);
|
| + if (enable_intel_drm && usage == SurfaceFactoryOzone::MAP) {
|
| + return IntelDrmPixmap::CreateFromHandle(
|
| + base::FileDescriptor(vgem_fd_.get(), false), handle, format, size);
|
| + }
|
| +
|
| scoped_refptr<VgemPixmap> pixmap(new VgemPixmap(
|
| handle, base::FileDescriptor(vgem_fd_.get(), false), size, format,
|
| NativePixmapBufferUsageFromSurfaceFactoryOzone(usage)));
|
|
|