Commit 795e7573 by Geoff Lang

Revert "Roll vulkan-validation-layers. (2/2)"

This reverts commit 2feaa5e0. Reason for revert: Broke the Chrome Windows builders. Build: https://build.chromium.org/p/chromium/builders/Win/builds/53432 Error: src\third_party\vulkan-validation-layers\src\include\vulkan\vk_layer.h(39): fatal error C1083: Cannot open include file: 'vk_layer_dispatch_table.h': No such file or directory Original change's description: > Roll vulkan-validation-layers. (2/2) > > https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f > > This CL re-enables Vulkan with the new build files. > > In particular, this roll contains a fix for a vs2017 signed/unsigned > mismatch warning as error. > > BUG=chromium:683729 > > Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21 > Reviewed-on: https://chromium-review.googlesource.com/457278 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > TBR=geofflang@chromium.org,jmadill@chromium.org,bungeman@chromium.org,cwallez@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=chromium:683729 Change-Id: Ic60f22496fc57904132d574a2fb2c1ca4d875b3e Reviewed-on: https://chromium-review.googlesource.com/461999Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 61afff14
...@@ -15,7 +15,8 @@ if (is_win) { ...@@ -15,7 +15,8 @@ if (is_win) {
angle_enable_d3d9 = true angle_enable_d3d9 = true
angle_enable_d3d11 = true angle_enable_d3d11 = true
angle_enable_gl = true angle_enable_gl = true
angle_enable_vulkan = true # TODO(jmadill): Re-enable Vulkan after roll.
angle_enable_vulkan = false
import("//build/config/win/visual_studio_version.gni") import("//build/config/win/visual_studio_version.gni")
} else if (is_linux && use_x11 && !is_chromeos) { } else if (is_linux && use_x11 && !is_chromeos) {
......
...@@ -30,7 +30,8 @@ ...@@ -30,7 +30,8 @@
'angle_enable_d3d9%': 1, 'angle_enable_d3d9%': 1,
'angle_enable_d3d11%': 1, 'angle_enable_d3d11%': 1,
'angle_enable_hlsl%': 1, 'angle_enable_hlsl%': 1,
'angle_enable_vulkan%': 1, # TODO(jmadill): Re-enable Vulkan after roll.
'angle_enable_vulkan%': 0,
}], }],
['OS=="linux" and use_x11==1 and chromeos==0', ['OS=="linux" and use_x11==1 and chromeos==0',
{ {
......
...@@ -29,6 +29,7 @@ data_dir = "angledata" ...@@ -29,6 +29,7 @@ data_dir = "angledata"
vulkan_gen_json_files_outputs = [ vulkan_gen_json_files_outputs = [
"$root_out_dir/$data_dir/VkLayer_core_validation.json", "$root_out_dir/$data_dir/VkLayer_core_validation.json",
"$root_out_dir/$data_dir/VkLayer_image.json",
"$root_out_dir/$data_dir/VkLayer_object_tracker.json", "$root_out_dir/$data_dir/VkLayer_object_tracker.json",
"$root_out_dir/$data_dir/VkLayer_parameter_validation.json", "$root_out_dir/$data_dir/VkLayer_parameter_validation.json",
"$root_out_dir/$data_dir/VkLayer_swapchain.json", "$root_out_dir/$data_dir/VkLayer_swapchain.json",
...@@ -36,6 +37,30 @@ vulkan_gen_json_files_outputs = [ ...@@ -36,6 +37,30 @@ vulkan_gen_json_files_outputs = [
"$root_out_dir/$data_dir/VkLayer_unique_objects.json", "$root_out_dir/$data_dir/VkLayer_unique_objects.json",
] ]
# Vulkan loader
# -------------
vulkan_gen_dir = "$target_gen_dir/angle/vulkan"
raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir)
config("vulkan_loader_config") {
include_dirs = rebase_path(vulkan_gypi.vulkan_loader_include_dirs, ".", "src")
defines = [
"LAYERS_SOURCE_PATH=\"$data_dir\"",
"DEFAULT_VK_LAYERS_PATH=\".\"",
"API_NAME=\"Vulkan\"",
]
if (is_win) {
defines += [ "VK_USE_PLATFORM_WIN32_KHR" ]
}
}
config("vulkan_loader_internal_config") {
if (is_clang || !is_win) {
cflags = [ "-Wno-unused-function" ]
}
}
vulkan_undefine_configs = [] vulkan_undefine_configs = []
if (is_win) { if (is_win) {
vulkan_undefine_configs += [ vulkan_undefine_configs += [
...@@ -44,17 +69,36 @@ if (is_win) { ...@@ -44,17 +69,36 @@ if (is_win) {
] ]
} }
vulkan_gen_dir = "$target_gen_dir/angle/vulkan" static_library("vulkan_loader") {
raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir) sources = rebase_path(vulkan_gypi.vulkan_loader_sources, ".", "src")
if (is_win) {
sources += rebase_path(vulkan_gypi.vulkan_loader_win_sources, ".", "src")
if (!is_clang) {
cflags = vulkan_gypi.vulkan_loader_cflags_win
}
}
configs += [ ":vulkan_loader_internal_config" ]
public_configs = [ ":vulkan_loader_config" ]
configs -= vulkan_undefine_configs
}
# Vulkan helper scripts # Vulkan layer helpers
# --------------------- # --------------------
source_set("vulkan_layer_utils") {
sources = rebase_path(vulkan_gypi.vulkan_layer_utils_sources, ".", "src")
public_configs = [
":vulkan_loader_config",
":vulkan_loader_internal_config",
]
configs -= vulkan_undefine_configs
}
helper_script_and_deps = [ helper_script_and_deps = [
[ [
"vulkan_gen_dispatch_table_helper_h", "vulkan_gen_dispatch_table_helper",
"vk_dispatch_table_helper.h", "vk_dispatch_table_helper.h",
"dispatch_table_helper_generator.py", "dispatch_table_generator.py",
], ],
[ [
"vulkan_gen_enum_string_helper", "vulkan_gen_enum_string_helper",
...@@ -62,21 +106,6 @@ helper_script_and_deps = [ ...@@ -62,21 +106,6 @@ helper_script_and_deps = [
"helper_file_generator.py", "helper_file_generator.py",
], ],
[ [
"vulkan_gen_layer_dispatch_table_h",
"vk_layer_dispatch_table.h",
"loader_extension_generator.py",
],
[
"vulkan_gen_loader_extensions_c",
"vk_loader_extensions.c",
"loader_extension_generator.py",
],
[
"vulkan_gen_loader_extensions_h",
"vk_loader_extensions.h",
"loader_extension_generator.py",
],
[
"vulkan_gen_safe_struct_cpp", "vulkan_gen_safe_struct_cpp",
"vk_safe_struct.cpp", "vk_safe_struct.cpp",
"helper_file_generator.py", "helper_file_generator.py",
...@@ -139,63 +168,53 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -139,63 +168,53 @@ foreach(script_and_dep, helper_script_and_deps) {
} }
} }
config("vulkan_generate_helper_files_config") { config("vulkan_layer_config") {
include_dirs = [ include_dirs = [
vulkan_gen_dir, vulkan_gen_dir,
"$vulkan_layers_dir/include", "$vulkan_layers_dir/layers",
] ]
} }
group("vulkan_generate_helper_files") { source_set("vulkan_layer_table") {
public_deps = [] configs -= vulkan_undefine_configs
public_configs = [ ":vulkan_generate_helper_files_config" ] public_deps = [
":vulkan_layer_utils",
]
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]
public_deps += [ ":$target_name" ] public_deps += [ ":$target_name" ]
} }
} public_configs = [ ":vulkan_layer_config" ]
sources = [
# Vulkan loader "$target_gen_dir/angle/vulkan/vk_dispatch_table_helper.h",
# ------------- "$target_gen_dir/angle/vulkan/vk_enum_string_helper.h",
"$vulkan_layers_dir/layers/vk_layer_table.cpp",
config("vulkan_loader_config") { "$vulkan_layers_dir/layers/vk_layer_table.h",
include_dirs = rebase_path(vulkan_gypi.vulkan_loader_include_dirs, ".", "src")
include_dirs += [ vulkan_gen_dir ]
defines = [
"LAYERS_SOURCE_PATH=\"$data_dir\"",
"DEFAULT_VK_LAYERS_PATH=\".\"",
"API_NAME=\"Vulkan\"",
]
if (is_win) {
defines += [
"VK_USE_PLATFORM_WIN32_KHR",
"VK_USE_PLATFORM_WIN32_KHX",
] ]
cflags = [ "/wd4201" ]
}
} }
config("vulkan_loader_internal_config") { layer_names = [
defines = [ "VULKAN_NON_CMAKE_BUILD" ] "core_validation",
if (is_clang || !is_win) { "image",
cflags = [ "-Wno-unused-function" ] "object_tracker",
} "swapchain",
} "threading",
"unique_objects",
"parameter_validation",
]
static_library("vulkan_loader") { action("vulkan_gen_json_files") {
sources = rebase_path(vulkan_gypi.vulkan_loader_sources, ".", "src") script = "$third_party_dir/angle/scripts/generate_vulkan_layers_json.py"
if (is_win) { sources =
sources += rebase_path(vulkan_gypi.vulkan_loader_win_sources, ".", "src") rebase_path(vulkan_gypi.vulkan_gen_json_files_sources_win, ".", "src")
if (!is_clang) {
cflags = vulkan_gypi.vulkan_loader_cflags_win # The layer JSON files are part of the necessary data deps.
} outputs = vulkan_gen_json_files_outputs
} data = vulkan_gen_json_files_outputs
deps = [ args = [
":vulkan_generate_helper_files", "$raw_vulkan_layers_dir/layers/windows",
rebase_path("$root_out_dir/$data_dir"),
] ]
configs += [ ":vulkan_loader_internal_config" ]
public_configs = [ ":vulkan_loader_config" ]
configs -= vulkan_undefine_configs
} }
# SPIRV-tools # SPIRV-tools
...@@ -331,105 +350,58 @@ static_library("glslang") { ...@@ -331,105 +350,58 @@ static_library("glslang") {
# The validation layers # The validation layers
# --------------------- # ---------------------
config("vulkan_layer_config") { config("vulkan_core_validation_config") {
include_dirs = [ "$vulkan_layers_dir/layers" ] include_dirs = [ glslang_dir ]
} }
source_set("vulkan_layer_table") { source_set("vulkan_core_validation_glslang") {
configs -= vulkan_undefine_configs
public_deps = [ public_deps = [
":vulkan_generate_helper_files", ":spirv_tools",
]
public_configs = [ ":vulkan_layer_config" ]
sources = [
"$target_gen_dir/angle/vulkan/vk_dispatch_table_helper.h",
"$target_gen_dir/angle/vulkan/vk_enum_string_helper.h",
"$vulkan_layers_dir/layers/vk_layer_table.cpp",
"$vulkan_layers_dir/layers/vk_layer_table.h",
] ]
public_configs = [ ":vulkan_core_validation_config" ]
} }
layers = [ layer_indexes = [
[ 0,
"core_validation", 1,
2,
3,
4,
5,
6,
]
layer_sources = [
vulkan_gypi.VkLayer_core_validation_sources, vulkan_gypi.VkLayer_core_validation_sources,
":vulkan_core_validation_glslang", vulkan_gypi.VkLayer_image_sources,
], vulkan_gypi.VkLayer_swapchain_sources,
[
"object_tracker",
vulkan_gypi.VkLayer_object_tracker_sources, vulkan_gypi.VkLayer_object_tracker_sources,
"",
],
[
"unique_objects",
vulkan_gypi.VkLayer_unique_objects_sources, vulkan_gypi.VkLayer_unique_objects_sources,
":vulkan_gen_unique_objects_wrappers_helper",
],
[
"parameter_validation",
vulkan_gypi.VkLayer_parameter_validation_sources,
":vulkan_gen_parameter_validation_helper",
],
[
"swapchain",
vulkan_gypi.VkLayer_swapchain_sources,
"",
],
[
"threading",
vulkan_gypi.VkLayer_threading_sources, vulkan_gypi.VkLayer_threading_sources,
":vulkan_gen_thread_check_helper", vulkan_gypi.VkLayer_parameter_validation_sources,
],
] ]
action("vulkan_gen_json_files") { layer_additional_deps = [
script = "$third_party_dir/angle/scripts/generate_vulkan_layers_json.py" [ ":vulkan_core_validation_glslang" ],
sources = [],
rebase_path(vulkan_gypi.vulkan_gen_json_files_sources_win, ".", "src") [],
[],
# The layer JSON files are part of the necessary data deps. [ ":vulkan_gen_unique_objects_wrappers_helper" ],
outputs = vulkan_gen_json_files_outputs [ ":vulkan_gen_thread_check_helper" ],
data = vulkan_gen_json_files_outputs [ ":vulkan_gen_parameter_validation_helper" ],
args = [ ]
"$raw_vulkan_layers_dir/layers/windows",
rebase_path("$root_out_dir/$data_dir"),
]
}
source_set("vulkan_layer_utils") {
sources = rebase_path(vulkan_gypi.vulkan_layer_utils_sources, ".", "src")
public_configs = [
":vulkan_loader_config",
":vulkan_loader_internal_config",
]
configs -= vulkan_undefine_configs
}
config("vulkan_core_validation_config") {
include_dirs = [ glslang_dir ]
}
source_set("vulkan_core_validation_glslang") {
public_deps = [
":spirv_tools",
]
public_configs = [ ":vulkan_core_validation_config" ]
}
foreach(layer_info, layers) { foreach(index, layer_indexes) {
name = layer_info[0] layer = layer_names[index]
shared_library("VkLayer_$name") { shared_library("VkLayer_$layer") {
configs -= vulkan_undefine_configs configs -= vulkan_undefine_configs
deps = [ deps = [
":vulkan_layer_table", ":vulkan_layer_table",
":vulkan_layer_utils",
] ]
if (layer_info[2] != "") { deps += layer_additional_deps[index]
deps += [ layer_info[2] ] sources = rebase_path(layer_sources[index], ".", "src")
}
sources = rebase_path(layer_info[1], ".", "src")
if (is_win) { if (is_win) {
sources += [ "$vulkan_layers_dir/layers/VKLayer_$name.def" ] sources += [ "$vulkan_layers_dir/layers/VKLayer_$layer.def" ]
} }
} }
} }
......
...@@ -16,14 +16,14 @@ ...@@ -16,14 +16,14 @@
'<(vulkan_layers_path)/loader/debug_report.c', '<(vulkan_layers_path)/loader/debug_report.c',
'<(vulkan_layers_path)/loader/debug_report.h', '<(vulkan_layers_path)/loader/debug_report.h',
'<(vulkan_layers_path)/loader/dev_ext_trampoline.c', '<(vulkan_layers_path)/loader/dev_ext_trampoline.c',
'<(vulkan_layers_path)/loader/extension_manual.c', '<(vulkan_layers_path)/loader/extensions.c',
'<(vulkan_layers_path)/loader/extension_manual.h', '<(vulkan_layers_path)/loader/extensions.h',
'<(vulkan_layers_path)/loader/gpa_helper.h', '<(vulkan_layers_path)/loader/gpa_helper.h',
'<(vulkan_layers_path)/loader/loader.c', '<(vulkan_layers_path)/loader/loader.c',
'<(vulkan_layers_path)/loader/loader.h', '<(vulkan_layers_path)/loader/loader.h',
'<(vulkan_layers_path)/loader/murmurhash.c', '<(vulkan_layers_path)/loader/murmurhash.c',
'<(vulkan_layers_path)/loader/murmurhash.h', '<(vulkan_layers_path)/loader/murmurhash.h',
'<(vulkan_layers_path)/loader/phys_dev_ext.c', '<(vulkan_layers_path)/loader/table_ops.h',
'<(vulkan_layers_path)/loader/trampoline.c', '<(vulkan_layers_path)/loader/trampoline.c',
'<(vulkan_layers_path)/loader/vk_loader_platform.h', '<(vulkan_layers_path)/loader/vk_loader_platform.h',
'<(vulkan_layers_path)/loader/wsi.c', '<(vulkan_layers_path)/loader/wsi.c',
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
'/wd4201', # Nonstandard extension used: nameless struct/union '/wd4201', # Nonstandard extension used: nameless struct/union
'/wd4214', # Nonstandard extension used: bit field types other than int '/wd4214', # Nonstandard extension used: bit field types other than int
'/wd4232', # Nonstandard extension used: address of dllimport is not static '/wd4232', # Nonstandard extension used: address of dllimport is not static
'/wd4305', # Type cast truncation
'/wd4706', # Assignment within conditional expression '/wd4706', # Assignment within conditional expression
'/wd4996', # Unsafe stdlib function '/wd4996', # Unsafe stdlib function
], ],
...@@ -248,13 +247,16 @@ ...@@ -248,13 +247,16 @@
# This file is manually included in the layer # This file is manually included in the layer
# '<(angle_gen_path)/vulkan/vk_safe_struct.cpp', # '<(angle_gen_path)/vulkan/vk_safe_struct.cpp',
'<(angle_gen_path)/vulkan/vk_safe_struct.h', '<(angle_gen_path)/vulkan/vk_safe_struct.h',
'<(vulkan_layers_path)/layers/buffer_validation.cpp',
'<(vulkan_layers_path)/layers/buffer_validation.h',
'<(vulkan_layers_path)/layers/core_validation.cpp', '<(vulkan_layers_path)/layers/core_validation.cpp',
'<(vulkan_layers_path)/layers/core_validation.h', '<(vulkan_layers_path)/layers/core_validation.h',
'<(vulkan_layers_path)/layers/descriptor_sets.cpp', '<(vulkan_layers_path)/layers/descriptor_sets.cpp',
'<(vulkan_layers_path)/layers/descriptor_sets.h', '<(vulkan_layers_path)/layers/descriptor_sets.h',
], ],
'VkLayer_image_sources':
[
'<(vulkan_layers_path)/layers/image.cpp',
'<(vulkan_layers_path)/layers/image.h',
],
'VkLayer_swapchain_sources': 'VkLayer_swapchain_sources':
[ [
'<(vulkan_layers_path)/layers/swapchain.cpp', '<(vulkan_layers_path)/layers/swapchain.cpp',
...@@ -288,6 +290,7 @@ ...@@ -288,6 +290,7 @@
'vulkan_gen_json_files_sources_win': 'vulkan_gen_json_files_sources_win':
[ [
'<(vulkan_layers_path)/layers/windows/VkLayer_core_validation.json', '<(vulkan_layers_path)/layers/windows/VkLayer_core_validation.json',
'<(vulkan_layers_path)/layers/windows/VkLayer_image.json',
'<(vulkan_layers_path)/layers/windows/VkLayer_object_tracker.json', '<(vulkan_layers_path)/layers/windows/VkLayer_object_tracker.json',
'<(vulkan_layers_path)/layers/windows/VkLayer_parameter_validation.json', '<(vulkan_layers_path)/layers/windows/VkLayer_parameter_validation.json',
'<(vulkan_layers_path)/layers/windows/VkLayer_swapchain.json', '<(vulkan_layers_path)/layers/windows/VkLayer_swapchain.json',
...@@ -297,6 +300,7 @@ ...@@ -297,6 +300,7 @@
'vulkan_gen_json_files_outputs': 'vulkan_gen_json_files_outputs':
[ [
'<(angle_gen_path)/vulkan/json/VkLayer_core_validation.json', '<(angle_gen_path)/vulkan/json/VkLayer_core_validation.json',
'<(angle_gen_path)/vulkan/json/VkLayer_image.json',
'<(angle_gen_path)/vulkan/json/VkLayer_object_tracker.json', '<(angle_gen_path)/vulkan/json/VkLayer_object_tracker.json',
'<(angle_gen_path)/vulkan/json/VkLayer_parameter_validation.json', '<(angle_gen_path)/vulkan/json/VkLayer_parameter_validation.json',
'<(angle_gen_path)/vulkan/json/VkLayer_swapchain.json', '<(angle_gen_path)/vulkan/json/VkLayer_swapchain.json',
...@@ -311,6 +315,110 @@ ...@@ -311,6 +315,110 @@
'targets': 'targets':
[ [
{ {
'target_name': 'vulkan_loader',
'type': 'static_library',
'sources':
[
'<@(vulkan_loader_sources)',
],
'include_dirs':
[
'<@(vulkan_loader_include_dirs)',
'<(angle_gen_path)',
],
'defines':
[
'API_NAME="Vulkan"',
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'AdditionalOptions':
[
# TODO(jmadill): Force include header on other platforms.
'<@(vulkan_loader_cflags_win)',
'/FIvulkan/angle_loader.h'
],
},
'VCLinkerTool':
{
'AdditionalDependencies':
[
'shlwapi.lib',
],
},
},
'direct_dependent_settings':
{
'include_dirs':
[
'<@(vulkan_loader_include_dirs)',
],
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalDependencies':
[
'shlwapi.lib',
],
},
},
'conditions':
[
['OS=="win"',
{
'defines':
[
'VK_USE_PLATFORM_WIN32_KHR',
],
}],
],
},
'conditions':
[
['OS=="win"',
{
'sources':
[
'<(angle_gen_path)/vulkan/angle_loader.h',
'<@(vulkan_loader_win_sources)',
],
'defines':
[
'VK_USE_PLATFORM_WIN32_KHR',
],
}],
],
'actions':
[
{
# The loader header is force included into the loader and layers. Because
# of issues with GYP, we can't use a normal header file, we hav to force
# inclue this using compiler-specific flags.
'action_name': 'vulkan_loader_gen_angle_header',
'message': 'generating Vulkan loader ANGLE header',
'msvs_cygwin_shell': 0,
'inputs':
[
'<(angle_path)/scripts/generate_vulkan_header.py',
],
'outputs':
[
'<(angle_gen_path)/vulkan/angle_loader.h',
],
'action':
[
# TODO(jmadill): Use correct platform path
'python', '<(angle_path)/scripts/generate_vulkan_header.py', '<(angle_gen_path)/vulkan/json',
'<(angle_gen_path)/vulkan/angle_loader.h', '<(PRODUCT_DIR)',
],
},
],
},
{
'target_name': 'glslang', 'target_name': 'glslang',
'type': 'static_library', 'type': 'static_library',
'sources': 'sources':
...@@ -481,14 +589,12 @@ ...@@ -481,14 +589,12 @@
{ {
'target_name': 'vulkan_layer_utils_static', 'target_name': 'vulkan_layer_utils_static',
'type': 'static_library', 'type': 'static_library',
'msvs_cygwin_shell': 0,
'sources': 'sources':
[ [
'<@(vulkan_layer_utils_sources)', '<@(vulkan_layer_utils_sources)',
], ],
'include_dirs': 'include_dirs':
[ [
'<(angle_gen_path)/vulkan',
'<@(vulkan_loader_include_dirs)', '<@(vulkan_loader_include_dirs)',
], ],
'msvs_settings': 'msvs_settings':
...@@ -517,7 +623,6 @@ ...@@ -517,7 +623,6 @@
'WIN32', 'WIN32',
'WIN32_LEAN_AND_MEAN', 'WIN32_LEAN_AND_MEAN',
'VK_USE_PLATFORM_WIN32_KHR', 'VK_USE_PLATFORM_WIN32_KHR',
'VK_USE_PLATFORM_WIN32_KHX',
], ],
}], }],
], ],
...@@ -547,7 +652,6 @@ ...@@ -547,7 +652,6 @@
'AdditionalOptions': 'AdditionalOptions':
[ [
'/wd4100', # Unreferenced local parameter '/wd4100', # Unreferenced local parameter
'/wd4201', # Nonstandard extension used: nameless struct/union
'/wd4456', # declaration hides previous local declaration '/wd4456', # declaration hides previous local declaration
'/wd4505', # Unreferenced local function has been removed '/wd4505', # Unreferenced local function has been removed
'/wd4996', # Unsafe stdlib function '/wd4996', # Unsafe stdlib function
...@@ -562,7 +666,6 @@ ...@@ -562,7 +666,6 @@
[ [
'WIN32_LEAN_AND_MEAN', 'WIN32_LEAN_AND_MEAN',
'VK_USE_PLATFORM_WIN32_KHR', 'VK_USE_PLATFORM_WIN32_KHR',
'VK_USE_PLATFORM_WIN32_KHX',
], ],
'configurations': 'configurations':
{ {
...@@ -583,6 +686,11 @@ ...@@ -583,6 +686,11 @@
}], }],
], ],
}, },
},
{
'target_name': 'vulkan_generate_layer_helpers',
'type': 'none',
'msvs_cygwin_shell': 0,
'actions': 'actions':
[ [
...@@ -708,33 +816,11 @@ ...@@ -708,33 +816,11 @@
}, },
{ {
'action_name': 'vulkan_run_vk_xml_generate_vk_layer_dispatch_table_h', 'action_name': 'vulkan_generate_dispatch_table_helper',
'message': 'generating vk_layer_dispatch_table.h',
'inputs':
[
'<(vulkan_layers_path)/scripts/loader_extension_generator.py',
'<(vulkan_layers_path)/scripts/generator.py',
'<(vulkan_layers_path)/scripts/lvl_genvk.py',
'<(vulkan_layers_path)/scripts/reg.py',
'<(vulkan_layers_path)/scripts/vk.xml',
],
'outputs':
[
'<(angle_gen_path)/vulkan/vk_layer_dispatch_table.h',
],
'action':
[
'python', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan',
'-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_layer_dispatch_table.h', '-quiet',
],
},
{
'action_name': 'vulkan_run_vk_xml_generate_vk_dispatch_table_helper_h',
'message': 'generating vk_dispatch_table_helper.h', 'message': 'generating vk_dispatch_table_helper.h',
'inputs': 'inputs':
[ [
'<(vulkan_layers_path)/scripts/dispatch_table_helper_generator.py', '<(vulkan_layers_path)/scripts/dispatch_table_generator.py',
'<(vulkan_layers_path)/scripts/generator.py', '<(vulkan_layers_path)/scripts/generator.py',
'<(vulkan_layers_path)/scripts/lvl_genvk.py', '<(vulkan_layers_path)/scripts/lvl_genvk.py',
'<(vulkan_layers_path)/scripts/reg.py', '<(vulkan_layers_path)/scripts/reg.py',
...@@ -752,50 +838,6 @@ ...@@ -752,50 +838,6 @@
}, },
{ {
'action_name': 'vulkan_run_vk_xml_generate_vk_loader_extensions_h',
'message': 'generating vk_loader_extensions.h',
'inputs':
[
'<(vulkan_layers_path)/scripts/loader_extension_generator.py',
'<(vulkan_layers_path)/scripts/generator.py',
'<(vulkan_layers_path)/scripts/lvl_genvk.py',
'<(vulkan_layers_path)/scripts/reg.py',
'<(vulkan_layers_path)/scripts/vk.xml',
],
'outputs':
[
'<(angle_gen_path)/vulkan/vk_loader_extensions.h',
],
'action':
[
'python', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan',
'-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_loader_extensions.h', '-quiet',
],
},
{
'action_name': 'vulkan_run_vk_xml_generate_vk_loader_extensions_c',
'message': 'generating vk_loader_extensions.c',
'inputs':
[
'<(vulkan_layers_path)/scripts/loader_extension_generator.py',
'<(vulkan_layers_path)/scripts/generator.py',
'<(vulkan_layers_path)/scripts/lvl_genvk.py',
'<(vulkan_layers_path)/scripts/reg.py',
'<(vulkan_layers_path)/scripts/vk.xml',
],
'outputs':
[
'<(angle_gen_path)/vulkan/vk_loader_extensions.c',
],
'action':
[
'python', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan',
'-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_loader_extensions.c', '-quiet',
],
},
{
'action_name': 'vulkan_generate_json_files', 'action_name': 'vulkan_generate_json_files',
'message': 'generating Vulkan json files', 'message': 'generating Vulkan json files',
'inputs': 'inputs':
...@@ -826,124 +868,41 @@ ...@@ -826,124 +868,41 @@
}, },
{ {
'target_name': 'vulkan_loader', 'target_name': 'VkLayer_core_validation',
'type': 'static_library', 'type': 'shared_library',
'deps': 'vulkan_layer_utils_static', 'dependencies':
'sources':
[
'<@(vulkan_loader_sources)',
],
'include_dirs':
[
'<@(vulkan_loader_include_dirs)',
'<(angle_gen_path)/vulkan',
],
'defines':
[
'API_NAME="Vulkan"',
'VULKAN_NON_CMAKE_BUILD',
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'AdditionalOptions':
[
# TODO(jmadill): Force include header on other platforms.
'<@(vulkan_loader_cflags_win)',
'/FIangle_loader.h'
],
},
'VCLinkerTool':
{
'AdditionalDependencies':
[
'shlwapi.lib',
],
},
},
'direct_dependent_settings':
{
'include_dirs':
[
'<@(vulkan_loader_include_dirs)',
],
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalDependencies':
[ [
'shlwapi.lib', 'spirv_tools',
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static',
], ],
}, 'sources':
},
'conditions':
[
['OS=="win"',
{
'defines':
[ [
'VK_USE_PLATFORM_WIN32_KHR', '<@(VkLayer_core_validation_sources)',
'VK_USE_PLATFORM_WIN32_KHX',
],
}],
], ],
},
'conditions': 'conditions':
[ [
['OS=="win"', ['OS=="win"',
{ {
'sources': 'sources':
[ [
'<(angle_gen_path)/vulkan/angle_loader.h', '<(vulkan_layers_path)/layers/VkLayer_core_validation.def',
'<@(vulkan_loader_win_sources)', ]
],
'defines':
[
'VK_USE_PLATFORM_WIN32_KHR',
'VK_USE_PLATFORM_WIN32_KHX',
],
}], }],
], ],
'actions':
[
{
# The loader header is force included into the loader and layers. Because
# of issues with GYP, we can't use a normal header file, we hav to force
# inclue this using compiler-specific flags.
'action_name': 'vulkan_loader_gen_angle_header',
'message': 'generating Vulkan loader ANGLE header',
'msvs_cygwin_shell': 0,
'inputs':
[
'<(angle_path)/scripts/generate_vulkan_header.py',
],
'outputs':
[
'<(angle_gen_path)/vulkan/angle_loader.h',
],
'action':
[
# TODO(jmadill): Use correct platform path
'python', '<(angle_path)/scripts/generate_vulkan_header.py', '<(angle_gen_path)/vulkan/json',
'<(angle_gen_path)/vulkan/angle_loader.h', '<(PRODUCT_DIR)',
],
},
],
}, },
{ {
'target_name': 'VkLayer_core_validation', 'target_name': 'VkLayer_image',
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'spirv_tools', 'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
[ [
'<@(VkLayer_core_validation_sources)', '<@(VkLayer_image_sources)',
], ],
'conditions': 'conditions':
[ [
...@@ -951,7 +910,7 @@ ...@@ -951,7 +910,7 @@
{ {
'sources': 'sources':
[ [
'<(vulkan_layers_path)/layers/VkLayer_core_validation.def', '<(vulkan_layers_path)/layers/VkLayer_image.def',
] ]
}], }],
], ],
...@@ -962,6 +921,7 @@ ...@@ -962,6 +921,7 @@
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
...@@ -985,6 +945,7 @@ ...@@ -985,6 +945,7 @@
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
...@@ -1008,6 +969,7 @@ ...@@ -1008,6 +969,7 @@
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
...@@ -1055,6 +1017,7 @@ ...@@ -1055,6 +1017,7 @@
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
...@@ -1102,6 +1065,7 @@ ...@@ -1102,6 +1065,7 @@
'type': 'shared_library', 'type': 'shared_library',
'dependencies': 'dependencies':
[ [
'vulkan_generate_layer_helpers',
'vulkan_layer_utils_static', 'vulkan_layer_utils_static',
], ],
'sources': 'sources':
...@@ -1152,6 +1116,7 @@ ...@@ -1152,6 +1116,7 @@
# Need to disable these to prevent multiply defined symbols with ninja. # Need to disable these to prevent multiply defined symbols with ninja.
# TODO(jmadill): Figure out how to implement data_deps in gyp. # TODO(jmadill): Figure out how to implement data_deps in gyp.
# 'VkLayer_core_validation', # 'VkLayer_core_validation',
# 'VkLayer_image',
# 'VkLayer_object_tracker', # 'VkLayer_object_tracker',
# 'VkLayer_parameter_validation', # 'VkLayer_parameter_validation',
# 'VkLayer_swapchain', # 'VkLayer_swapchain',
......
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