| # Copyright 2014 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. |
| |
| import("//build/config/chromecast_build.gni") |
| import("//build/config/ui.gni") |
| |
| declare_args() { |
| # Select platforms automatically. Turn this off for manual control. |
| ozone_auto_platforms = use_ozone |
| |
| # This enables memory-mapped access to accelerated graphics buffers via the |
| # VGEM ("virtual GEM") driver. This is currently only available on Chrome OS |
| # kernels and affects code in the GBM ozone platform. |
| # TODO(dshwang): remove this flag when all gbm hardware supports vgem map. |
| # crbug.com/519587 |
| use_vgem_map = false |
| } |
| |
| declare_args() { |
| # The platform that will be active by default. |
| ozone_platform = "" |
| |
| # Enable individual platforms. |
| ozone_platform_cast = false |
| ozone_platform_gbm = false |
| ozone_platform_headless = false |
| ozone_platform_x11 = false |
| ozone_platform_wayland = false |
| |
| if (ozone_auto_platforms) { |
| # Use headless as the default platform. |
| ozone_platform = "headless" |
| ozone_platform_headless = true |
| |
| if (is_chromecast) { |
| # Enable the Cast ozone platform on all A/V Cast builds. |
| ozone_platform_cast = true |
| |
| # For visual desktop Chromecast builds, override the default "headless" |
| # platform with --ozone-platform=x11. |
| # TODO(halliwell): Create a libcast_graphics implementation for desktop |
| # using X11, and disable this platform. |
| if (is_cast_desktop_build && !is_cast_audio_only) { |
| ozone_platform_x11 = true |
| } else { |
| ozone_platform = "cast" |
| } |
| } else if (is_chromeos) { |
| ozone_platform_gbm = true |
| ozone_platform_x11 = true |
| ozone_platform_wayland = true |
| } else if (is_desktop_linux) { |
| ozone_platform_wayland = true |
| ozone_platform_x11 = true |
| } |
| } |
| } |
| |
| assert(use_ozone || !(ozone_platform_cast || ozone_platform_gbm || |
| ozone_platform_headless || ozone_platform_x11 || |
| ozone_platform_wayland), |
| "Must set use_ozone to select ozone platforms") |