chromium/ui/gl/features.gni

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/cast.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//chrome/version.gni")

declare_args() {
  # Should ANGLE be linked statically?
  use_static_angle = is_android || is_ios

  # Should Dawn support be compiled to back the WebGPU implementation?
  # Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross.
  use_dawn = is_apple || is_win || is_chromeos_ash ||
             (is_linux && !is_castos) || is_chromeos_lacros ||
             (is_android && target_cpu != "x86" && target_cpu != "x64")

  # Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built?
  # Independent of use_dawn, which controls whether Dawn is used in Chromium.
  build_dawn_tests = is_mac || is_win || is_linux || is_chromeos || is_android

  enable_validating_command_decoder = is_android
}

declare_args() {
  enable_swiftshader =
      (is_win || is_linux || is_chromeos || is_mac || is_chromeos_ash ||
       is_fuchsia) &&
      (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm" ||
       target_cpu == "arm64" || target_cpu == "mipsel" ||
       target_cpu == "mips64el" || target_cpu == "riscv64")
}