• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build_overrides/swiftshader.gni")
6import("../../../gni/angle.gni")
7
8assert(angle_enable_vulkan)
9
10angle_source_set("vulkan") {
11  sources = [
12    "vulkan_icd.cpp",
13    "vulkan_icd.h",
14  ]
15
16  public_deps = [
17    "$angle_root:angle_common",
18    "$angle_root/src/libANGLE/renderer/vulkan:angle_vulkan_entry_points",
19  ]
20
21  defines = [
22    "ANGLE_VK_LAYERS_DIR=\"$angle_data_dir\"",
23    "ANGLE_VK_MOCK_ICD_JSON=\"$angle_data_dir/VkICD_mock_icd.json\"",
24  ]
25
26  deps = []
27  data_deps = []
28
29  if (!is_android && !is_fuchsia && !is_ggp) {
30    if (angle_shared_libvulkan) {
31      data_deps += [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
32    } else {
33      deps += [ "$angle_root/third_party/vulkan-loader/src:libvulkan" ]
34    }
35    data_deps += [ "$angle_root/third_party/vulkan-tools/src:VkICD_mock_icd" ]
36  }
37
38  if (angle_enable_swiftshader) {
39    import("$swiftshader_dir/src/Vulkan/vulkan.gni")
40    _sws_icd = "./$swiftshader_icd_file_name"
41    if (is_win) {
42      _sws_icd = ".\\\\$swiftshader_icd_file_name"
43    }
44
45    defines += [ "ANGLE_VK_SWIFTSHADER_ICD_JSON=\"${_sws_icd}\"" ]
46
47    data_deps += [
48      "$swiftshader_dir/src/Vulkan:icd_file",
49      "$swiftshader_dir/src/Vulkan:swiftshader_libvulkan",
50    ]
51  }
52}
53
54group("vulkan_validation_layers") {
55  data_deps = []
56  if (is_fuchsia) {
57    data_deps += [ "//third_party/fuchsia-sdk:vulkan_validation" ]
58  } else {
59    data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_validation_layers" ]
60    if (!is_android) {
61      data_deps += [ "$angle_root/third_party/vulkan-validation-layers/src:vulkan_gen_json_files" ]
62    }
63  }
64}
65