| # Copyright 2013 The Flutter 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/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.") | |
| assert(defined(invoker.enable_metal), | |
| "Caller must declare if the Metal backend must be enabled.") | |
| group(target_name) { | |
| public_deps = [] | |
| if (invoker.enable_software) { | |
| public_deps += [ "//flutter/shell/gpu:gpu_surface_software" ] | |
| } | |
| if (invoker.enable_gl) { | |
| public_deps += [ "//flutter/shell/gpu:gpu_surface_gl" ] | |
| } | |
| if (invoker.enable_vulkan) { | |
| public_deps += [ "//flutter/shell/gpu:gpu_surface_vulkan" ] | |
| } | |
| if (invoker.enable_metal) { | |
| public_deps += [ "//flutter/shell/gpu:gpu_surface_metal" ] | |
| } | |
| } | |
| config("${target_name}_config") { | |
| defines = [] | |
| if (invoker.enable_software) { | |
| defines += [ "SHELL_ENABLE_SOFTWARE" ] | |
| } | |
| if (invoker.enable_gl) { | |
| defines += [ "SHELL_ENABLE_GL" ] | |
| } | |
| if (invoker.enable_vulkan) { | |
| defines += [ "SHELL_ENABLE_VULKAN" ] | |
| } | |
| if (invoker.enable_metal) { | |
| defines += [ "SHELL_ENABLE_METAL" ] | |
| } | |
| } | |
| } |