| # 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" ] |
| } |
| } |
| } |