# Copyright 2019 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/features.gni")
import("//printing/buildflags/buildflags.gni")
declare_args() {
# Enable experimental Skia Graphite Dawn backend. Enabled on platforms where
# the team has verified that at least basic rendering to the screen is
# working.
skia_use_dawn = is_mac || is_win ||
(is_android && target_cpu != "x86" && target_cpu != "x64") ||
(is_ios && use_blink) || (is_linux && !is_castos)
# Enable experimental Skia Graphite Metal backend. Intended only for debugging
# on non-official developer builds.
skia_use_metal = (is_mac || (is_ios && use_blink)) && !is_official_build
# Enable gtests using SkiaRenderer on Skia Graphite.
enable_skia_graphite_gtests = is_mac || (is_ios && use_blink)
}
# Skia only needs to support GPU rasterization if we use the full Chromium
# rendering stack i.e. |use_blink| is true.
# TODO(crbug.com/40902173): Split out into separate enable_skia_ganesh flag.
skia_support_gpu = use_blink
# Skia Ganesh GL backend is always enabled on all platforms - applies only when
# GPU rasterization is enabled.
skia_use_gl = true
skia_support_pdf = use_blink && (enable_printing || enable_printing_tests)
# Skottie is not used on Android. To keep apk size small the skottie library is
# excluded from the binary. At the time this comment was written, it adds ~200KB
# to the APK.
skia_support_skottie = !is_android
# Skia needs XMP support for gainmap HDR image decoding in blink.
skia_support_xmp = use_blink