summaryrefslogtreecommitdiffstats
path: root/ui/ozone
diff options
context:
space:
mode:
authordnicoara <dnicoara@chromium.org>2015-01-21 18:09:17 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-22 02:10:39 +0000
commit7df6ea9c6c0cd8fee6eb5c5d29a4791f1c7c617e (patch)
treec9efda6de591a7c1a105d946d3a9dbfb4cdb4340 /ui/ozone
parentb59ab7ac8433652b921f2a93289c6d13b862e5a0 (diff)
downloadchromium_src-7df6ea9c6c0cd8fee6eb5c5d29a4791f1c7c617e.zip
chromium_src-7df6ea9c6c0cd8fee6eb5c5d29a4791f1c7c617e.tar.gz
chromium_src-7df6ea9c6c0cd8fee6eb5c5d29a4791f1c7c617e.tar.bz2
[Ozone-Gbm] Allow changing the MESA platform
BUG=427959 NOTRY=true Review URL: https://codereview.chromium.org/810293002 Cr-Commit-Position: refs/heads/master@{#312525}
Diffstat (limited to 'ui/ozone')
-rw-r--r--ui/ozone/platform/dri/BUILD.gn8
-rw-r--r--ui/ozone/platform/dri/gbm.gypi6
-rw-r--r--ui/ozone/platform/dri/gbm_surface_factory.cc4
-rw-r--r--ui/ozone/platform/dri/ozone_platform_gbm.cc4
4 files changed, 22 insertions, 0 deletions
diff --git a/ui/ozone/platform/dri/BUILD.gn b/ui/ozone/platform/dri/BUILD.gn
index 1e25550..b8cd4a2 100644
--- a/ui/ozone/platform/dri/BUILD.gn
+++ b/ui/ozone/platform/dri/BUILD.gn
@@ -5,6 +5,10 @@
import("//build/config/linux/pkg_config.gni")
import("//ui/ozone/ozone.gni")
+declare_args() {
+ use_mesa_platform_null = false
+}
+
pkg_config("libdrm") {
packages = [ "libdrm" ]
}
@@ -153,5 +157,9 @@ if (ozone_platform_gbm) {
]
public_configs = [ ":libgbm" ]
+
+ if (use_mesa_platform_null) {
+ defines += [ "USE_MESA_PLATFORM_NULL" ]
+ }
}
}
diff --git a/ui/ozone/platform/dri/gbm.gypi b/ui/ozone/platform/dri/gbm.gypi
index dd60ba4..bdf9833 100644
--- a/ui/ozone/platform/dri/gbm.gypi
+++ b/ui/ozone/platform/dri/gbm.gypi
@@ -10,6 +10,7 @@
'internal_ozone_platforms': [
'gbm',
],
+ 'use_mesa_platform_null%': 0,
},
'targets': [
{
@@ -45,6 +46,11 @@
'ozone_platform_gbm.cc',
'ozone_platform_gbm.h',
],
+ 'conditions': [
+ ['use_mesa_platform_null==1', {
+ 'defines': ['USE_MESA_PLATFORM_NULL'],
+ }],
+ ],
},
],
}
diff --git a/ui/ozone/platform/dri/gbm_surface_factory.cc b/ui/ozone/platform/dri/gbm_surface_factory.cc
index cb0127b..cda036a 100644
--- a/ui/ozone/platform/dri/gbm_surface_factory.cc
+++ b/ui/ozone/platform/dri/gbm_surface_factory.cc
@@ -87,7 +87,11 @@ void GbmSurfaceFactory::InitializeGpu(
}
intptr_t GbmSurfaceFactory::GetNativeDisplay() {
+#if defined(USE_MESA_PLATFORM_NULL)
+ return EGL_DEFAULT_DISPLAY;
+#else
return reinterpret_cast<intptr_t>(device_);
+#endif
}
int GbmSurfaceFactory::GetDrmFd() {
diff --git a/ui/ozone/platform/dri/ozone_platform_gbm.cc b/ui/ozone/platform/dri/ozone_platform_gbm.cc
index f06588b..e76493e 100644
--- a/ui/ozone/platform/dri/ozone_platform_gbm.cc
+++ b/ui/ozone/platform/dri/ozone_platform_gbm.cc
@@ -200,6 +200,10 @@ class OzonePlatformGbm : public OzonePlatform {
OzonePlatform* CreateOzonePlatformGbm() {
base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
+#if defined(USE_MESA_PLATFORM_NULL)
+ // Only works with surfaceless.
+ cmd->AppendSwitch(switches::kOzoneUseSurfaceless);
+#endif
return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless));
}