diff options
author | dnicoara <dnicoara@chromium.org> | 2015-01-21 18:09:17 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-22 02:10:39 +0000 |
commit | 7df6ea9c6c0cd8fee6eb5c5d29a4791f1c7c617e (patch) | |
tree | c9efda6de591a7c1a105d946d3a9dbfb4cdb4340 /ui/ozone | |
parent | b59ab7ac8433652b921f2a93289c6d13b862e5a0 (diff) | |
download | chromium_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.gn | 8 | ||||
-rw-r--r-- | ui/ozone/platform/dri/gbm.gypi | 6 | ||||
-rw-r--r-- | ui/ozone/platform/dri/gbm_surface_factory.cc | 4 | ||||
-rw-r--r-- | ui/ozone/platform/dri/ozone_platform_gbm.cc | 4 |
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)); } |