blob: 48cb47601750981f9b59c7175e422dd9e678fa2a [file] [log] [blame]
# Copyright 2016 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("$flutter_root/shell/config.gni")
template("shell_gpu_configuration") {
assert(defined(invoker.enable_software),
"Caller must declare if the Software backend must be enabled.")
assert(defined(invoker.enable_vulkan),
"Caller must declare if the Vulkan backend must be enabled.")
assert(defined(invoker.enable_gl),
"Caller must declare if the Open GL backend must be enabled.")
source_set(target_name) {
# vulkan_backend_enabled = shell_enable_vulkan
# gl_backend_enabled = !is_fuchsia
# software_backend_enabled = true
sources = []
gpu_dir = "$flutter_root/shell/gpu"
if (invoker.enable_software) {
sources += [
"$gpu_dir/gpu_surface_software.cc",
"$gpu_dir/gpu_surface_software.h",
]
}
if (invoker.enable_gl) {
sources += [
"$gpu_dir/gpu_surface_gl.cc",
"$gpu_dir/gpu_surface_gl.h",
]
}
if (invoker.enable_vulkan) {
sources += [
"$gpu_dir/gpu_surface_vulkan.cc",
"$gpu_dir/gpu_surface_vulkan.h",
]
}
deps = [
"$flutter_root/common",
"$flutter_root/flow",
"$flutter_root/fml",
"$flutter_root/shell/common",
"$flutter_root/synchronization",
"//third_party/skia",
]
if (invoker.enable_vulkan || invoker.enable_gl) {
deps += [ "//third_party/skia:gpu" ]
}
if (invoker.enable_vulkan) {
deps += [ "$flutter_root/vulkan" ]
}
}
}