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