Commit c56adf60 by Tobin Ehlis Committed by Commit Bot

Roll Vulkan repos fwd as of 7/3

Update Vulkan Layers/Loader/Tools/Header to latest versions as of 7/3. This updates the ICD build to use inputs from the Header repo instead of copies of the file from its own repo. Those copies have been deleted and some of the generation scripts in Tools repo have been renamed. Also put script dependencies from Vulkan-Headers repo into a shared var that's imported by the other repos to minimize repeat code. Bug: angleproject:2704 Change-Id: I98a18be055482dccdad8468115b4045d09342bfb Reviewed-on: https://chromium-review.googlesource.com/1124966Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
parent 834a3a10
...@@ -21,16 +21,16 @@ vars = { ...@@ -21,16 +21,16 @@ vars = {
'spirv_tools_revision': '48326d443e434f55eb50a7cfc9acdc968daad5e3', 'spirv_tools_revision': '48326d443e434f55eb50a7cfc9acdc968daad5e3',
# Current revision of Khronos Vulkan-Headers. # Current revision of Khronos Vulkan-Headers.
'vulkan_headers_revision': '634e3658d6fa8f95f9062a3a7831d5567baf0eb3', 'vulkan_headers_revision': '1ebb2c0f7d5911a027a7fcbfe15164caac77e2f8',
# Current revision of Khronos Vulkan-Loader. # Current revision of Khronos Vulkan-Loader.
'vulkan_loader_revision': '1bd294a1ddb32e832916aa874d103618f4faf1b3', 'vulkan_loader_revision': 'c781cff2bcd8e2239c1ac507da8dd82a31252ab0',
# Current revision of Khronos Vulkan-Tools. # Current revision of Khronos Vulkan-Tools.
'vulkan_tools_revision': '84230dc24e866d887f6d856c6e12745292703d49', 'vulkan_tools_revision': '9ed609d5bf0c1a41fa7fc6931edcd2502b3ef3a7',
# Current revision of Khronos Vulkan-ValidationLayers. # Current revision of Khronos Vulkan-ValidationLayers.
'vulkan_validation_revision': '571a886b62cc7092626064376a65c7654f5d9b39', 'vulkan_validation_revision': '88a1a6694ef9a22134463d9327096e1e350bd531',
} }
deps = { deps = {
......
# Copyright 2018 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
raw_vulkan_headers_registry_dir = rebase_path("src/registry")
# Common scripts & input used by multiple other repos
vulkan_registry_script_files = [
"$raw_vulkan_headers_registry_dir/cgenerator.py",
"$raw_vulkan_headers_registry_dir/generator.py",
"$raw_vulkan_headers_registry_dir/reg.py",
"$raw_vulkan_headers_registry_dir/vk.xml",
]
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# https://github.com/KhronosGroup/Vulkan-Loader # https://github.com/KhronosGroup/Vulkan-Loader
import("../../gni/angle.gni") import("../../gni/angle.gni")
import("$angle_root/third_party/vulkan-headers/vulkan_headers_script_deps.gni")
if (!is_android) { if (!is_android) {
vulkan_undefine_configs = [] vulkan_undefine_configs = []
...@@ -81,17 +82,13 @@ helper_script_and_deps = [ ...@@ -81,17 +82,13 @@ helper_script_and_deps = [
# so that all dependencies are together. The reg.py script from # so that all dependencies are together. The reg.py script from
# the headers repo is required input to loader_genvk.py. # the headers repo is required input to loader_genvk.py.
copy("python_gen_deps") { copy("python_gen_deps") {
sources = [ sources = vulkan_registry_script_files + [
"$angle_root/third_party/vulkan-headers/src/registry/cgenerator.py", "src/scripts/common_codegen.py",
"$angle_root/third_party/vulkan-headers/src/registry/generator.py", "src/scripts/dispatch_table_helper_generator.py",
"$angle_root/third_party/vulkan-headers/src/registry/reg.py", "src/scripts/helper_file_generator.py",
"$angle_root/third_party/vulkan-headers/src/registry/vk.xml", "src/scripts/loader_extension_generator.py",
"src/scripts/common_codegen.py", "src/scripts/loader_genvk.py",
"src/scripts/dispatch_table_helper_generator.py", ]
"src/scripts/helper_file_generator.py",
"src/scripts/loader_extension_generator.py",
"src/scripts/loader_genvk.py",
]
outputs = [ outputs = [
"$vulkan_gen_dir/{{source_file_part}}", "$vulkan_gen_dir/{{source_file_part}}",
] ]
...@@ -109,10 +106,6 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -109,10 +106,6 @@ foreach(script_and_dep, helper_script_and_deps) {
inputs = [ inputs = [
"$vulkan_gen_dir/$dep", "$vulkan_gen_dir/$dep",
"$vulkan_gen_dir/common_codegen.py", "$vulkan_gen_dir/common_codegen.py",
"$vulkan_gen_dir/reg.py",
"$vulkan_gen_dir/vk.xml",
"$vulkan_gen_dir/generator.py",
"$vulkan_gen_dir/cgenerator.py",
] ]
outputs = [ outputs = [
"$vulkan_gen_dir/$file", "$vulkan_gen_dir/$file",
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# https://github.com/KhronosGroup/Vulkan-Tools # https://github.com/KhronosGroup/Vulkan-Tools
import("../../gni/angle.gni") import("../../gni/angle.gni")
import("$angle_root/third_party/vulkan-headers/vulkan_headers_script_deps.gni")
vulkan_undefine_configs = [] vulkan_undefine_configs = []
if (is_win) { if (is_win) {
...@@ -17,6 +18,8 @@ if (is_win) { ...@@ -17,6 +18,8 @@ if (is_win) {
} }
raw_vulkan_icd_dir = rebase_path("src", root_build_dir) raw_vulkan_icd_dir = rebase_path("src", root_build_dir)
raw_vulkan_headers_dir =
rebase_path("$angle_root/third_party/vulkan-headers/src", root_build_dir)
vulkan_gen_dir = "$target_gen_dir/angle/vulkan" vulkan_gen_dir = "$target_gen_dir/angle/vulkan"
raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir, root_build_dir) raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir, root_build_dir)
...@@ -28,7 +31,7 @@ helper_script_and_deps = [ ...@@ -28,7 +31,7 @@ helper_script_and_deps = [
[ [
"vulkan_gen_typemap_helper", "vulkan_gen_typemap_helper",
"vk_typemap_helper.h", "vk_typemap_helper.h",
"helper_file_generator.py", "vulkan_tools_helper_file_generator.py",
], ],
[ [
"vulkan_mock_icd_cpp", "vulkan_mock_icd_cpp",
...@@ -42,19 +45,32 @@ helper_script_and_deps = [ ...@@ -42,19 +45,32 @@ helper_script_and_deps = [
], ],
] ]
# Python scripts needed for codegen, copy them to a temp dir
# so that all dependencies are together
copy("python_gen_deps") {
sources = vulkan_registry_script_files + [
"src/scripts/common_codegen.py",
"src/scripts/kvt_genvk.py",
"src/scripts/mock_icd_generator.py",
"src/scripts/vulkan_tools_helper_file_generator.py",
]
outputs = [
"$vulkan_gen_dir/{{source_file_part}}",
]
}
foreach(script_and_dep, helper_script_and_deps) { foreach(script_and_dep, helper_script_and_deps) {
target_name = script_and_dep[0] target_name = script_and_dep[0]
file = script_and_dep[1] file = script_and_dep[1]
dep = script_and_dep[2] dep = script_and_dep[2]
target("action", target_name) { target("action", target_name) {
script = "src/scripts/lvl_genvk.py" public_deps = [
":python_gen_deps",
]
script = "$vulkan_gen_dir/kvt_genvk.py"
inputs = [ inputs = [
"src/scripts/$dep", "$vulkan_gen_dir/$dep",
"src/scripts/common_codegen.py", "$vulkan_gen_dir/common_codegen.py",
"src/scripts/cgenerator.py",
"src/scripts/generator.py",
"src/scripts/reg.py",
"src/scripts/vk.xml",
] ]
outputs = [ outputs = [
"$vulkan_gen_dir/$file", "$vulkan_gen_dir/$file",
...@@ -63,7 +79,9 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -63,7 +79,9 @@ foreach(script_and_dep, helper_script_and_deps) {
"-o", "-o",
raw_vulkan_gen_dir, raw_vulkan_gen_dir,
"-registry", "-registry",
"$raw_vulkan_icd_dir/scripts/vk.xml", "$raw_vulkan_headers_dir/registry/vk.xml",
"-scripts",
"$raw_vulkan_headers_dir/registry",
"$file", "$file",
"-quiet", "-quiet",
] ]
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# https://github.com/KhronosGroup/Vulkan-ValidationLayers # https://github.com/KhronosGroup/Vulkan-ValidationLayers
import("../../gni/angle.gni") import("../../gni/angle.gni")
import("$angle_root/third_party/vulkan-headers/vulkan_headers_script_deps.gni")
vulkan_undefine_configs = [] vulkan_undefine_configs = []
if (is_win) { if (is_win) {
...@@ -91,23 +92,18 @@ helper_script_and_deps = [ ...@@ -91,23 +92,18 @@ helper_script_and_deps = [
# Python scripts needed for codegen, copy them to a temp dir # Python scripts needed for codegen, copy them to a temp dir
# so that all dependencies are together # so that all dependencies are together
copy("python_gen_deps") { copy("python_gen_deps") {
sources = [ sources = vulkan_registry_script_files + [
"$angle_root/third_party/vulkan-headers/src/registry/cgenerator.py", "src/layers/vk_validation_error_messages.h",
"$angle_root/third_party/vulkan-headers/src/registry/generator.py", "src/scripts/common_codegen.py",
"$angle_root/third_party/vulkan-headers/src/registry/reg.py", "src/scripts/dispatch_table_helper_generator.py",
"$angle_root/third_party/vulkan-headers/src/registry/vk.xml", "src/scripts/helper_file_generator.py",
"src/layers/vk_validation_error_messages.h", "src/scripts/loader_extension_generator.py",
"src/scripts/common_codegen.py", "src/scripts/lvl_genvk.py",
"src/scripts/dispatch_table_helper_generator.py", "src/scripts/object_tracker_generator.py",
"src/scripts/helper_file_generator.py", "src/scripts/parameter_validation_generator.py",
"src/scripts/loader_extension_generator.py", "src/scripts/threading_generator.py",
"src/scripts/lvl_genvk.py", "src/scripts/unique_objects_generator.py",
"src/scripts/object_tracker_generator.py", ]
"src/scripts/parameter_validation_generator.py",
"src/scripts/threading_generator.py",
"src/scripts/unique_objects_generator.py",
"src/scripts/vuid_mapping.py",
]
outputs = [ outputs = [
"$vulkan_gen_dir/{{source_file_part}}", "$vulkan_gen_dir/{{source_file_part}}",
] ]
...@@ -124,13 +120,8 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -124,13 +120,8 @@ foreach(script_and_dep, helper_script_and_deps) {
script = "$vulkan_gen_dir/lvl_genvk.py" script = "$vulkan_gen_dir/lvl_genvk.py"
inputs = [ inputs = [
"$vulkan_gen_dir/$dep", "$vulkan_gen_dir/$dep",
"$vulkan_gen_dir/cgenerator.py",
"$vulkan_gen_dir/common_codegen.py", "$vulkan_gen_dir/common_codegen.py",
"$vulkan_gen_dir/generator.py",
"$vulkan_gen_dir/reg.py",
"$vulkan_gen_dir/vuid_mapping.py",
"$vulkan_gen_dir/vk_validation_error_messages.h", "$vulkan_gen_dir/vk_validation_error_messages.h",
"$vulkan_gen_dir/vk.xml",
] ]
outputs = [ outputs = [
"$vulkan_gen_dir/$file", "$vulkan_gen_dir/$file",
...@@ -250,26 +241,6 @@ config("vulkan_layer_config") { ...@@ -250,26 +241,6 @@ config("vulkan_layer_config") {
include_dirs = [ "src/layers" ] include_dirs = [ "src/layers" ]
} }
source_set("vulkan_layer_table") {
configs -= vulkan_undefine_configs
public_deps = [
":vulkan_generate_helper_files",
]
public_configs = [
":vulkan_config",
":vulkan_layer_config",
":vulkan_internal_config",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
sources = [
"$vulkan_gen_dir/vk_dispatch_table_helper.h",
"$vulkan_gen_dir/vk_enum_string_helper.h",
"src/layers/vk_layer_table.cpp",
"src/layers/vk_layer_table.h",
]
}
core_validation_sources = [ core_validation_sources = [
# This file is manually included in the layer # This file is manually included in the layer
# "$vulkan_gen_dir/vk_safe_struct.cpp", # "$vulkan_gen_dir/vk_safe_struct.cpp",
...@@ -457,8 +428,8 @@ foreach(layer_info, layers) { ...@@ -457,8 +428,8 @@ foreach(layer_info, layers) {
configs -= [ "//build/config/compiler:chromium_code" ] configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= vulkan_undefine_configs configs -= vulkan_undefine_configs
public_configs = [ ":vulkan_layer_config" ]
deps = [ deps = [
":vulkan_layer_table",
":vulkan_layer_utils", ":vulkan_layer_utils",
] ]
if (layer_info[2] != "") { if (layer_info[2] != "") {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment