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

Unified Diff: ui/ozone/platform/drm/common/native_pixmap_manager_gbm.cc

Issue 1071273002: NotForReview: Implement zero/one-copy texture for ozone freon using Intel DRM Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: depends on https://codereview.chromium.org/1134993003/ Created 5 years, 6 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: 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)));

Powered by Google App Engine
This is Rietveld 408576698