Commit a1134ba8 by Jamie Madill Committed by Commit Bot

Vulkan: Relocate third-party libraries. (2/2)

This makes the BUILD.gn source lists a lot simpler, since they no longer need to use a special path variable, but instead can use the correct relative paths. This will lead to further simplifications so we can hopefully upstream the Vulkan tools BUILD.gn files. Second part updates the build files and removes the old repositories. Bug: angleproject:2339 Change-Id: I37f5b42a0854ca49448ecbbb32c19c24df57f452 Reviewed-on: https://chromium-review.googlesource.com/905894Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 00155d58
...@@ -418,7 +418,7 @@ if (angle_enable_vulkan) { ...@@ -418,7 +418,7 @@ if (angle_enable_vulkan) {
# Use this target to include everything ANGLE needs for Vulkan. # Use this target to include everything ANGLE needs for Vulkan.
group("angle_vulkan") { group("angle_vulkan") {
deps = [ deps = [
"$angle_root/third_party/glslang-angle:glslang", "$angle_root/third_party/glslang:glslang",
] ]
public_deps = [ public_deps = [
"$angle_root/third_party/vulkan-validation-layers:vulkan_headers", "$angle_root/third_party/vulkan-validation-layers:vulkan_headers",
...@@ -430,7 +430,7 @@ if (angle_enable_vulkan) { ...@@ -430,7 +430,7 @@ if (angle_enable_vulkan) {
[ "$angle_root/third_party/vulkan-validation-layers:VkLayer_$name" ] [ "$angle_root/third_party/vulkan-validation-layers:VkLayer_$name" ]
} }
public_configs = [ public_configs = [
"$angle_root/third_party/glslang-angle:glslang_config", "$angle_root/third_party/glslang:glslang_config",
"$angle_root/third_party/vulkan-validation-layers:vulkan_config", "$angle_root/third_party/vulkan-validation-layers:vulkan_config",
] ]
if (!is_android) { if (!is_android) {
......
...@@ -21,7 +21,7 @@ deps = { ...@@ -21,7 +21,7 @@ deps = {
'third_party/deqp/src': 'third_party/deqp/src':
Var('android_git') + '/platform/external/deqp' + '@' + '5bc346ba2d5465a2e6094e254f12b1586fd0097f', Var('android_git') + '/platform/external/deqp' + '@' + '5bc346ba2d5465a2e6094e254f12b1586fd0097f',
'third_party/glslang-angle/src': 'third_party/glslang/src':
Var('android_git') + '/platform/external/shaderc/glslang' + '@' + '2edde6665d9a56ead5ea0e55b4e64d9a803e6164', Var('android_git') + '/platform/external/shaderc/glslang' + '@' + '2edde6665d9a56ead5ea0e55b4e64d9a803e6164',
'third_party/googletest/src': 'third_party/googletest/src':
...@@ -33,7 +33,7 @@ deps = { ...@@ -33,7 +33,7 @@ deps = {
'third_party/spirv-headers/src': 'third_party/spirv-headers/src':
Var('android_git') + '/platform/external/shaderc/spirv-headers' + '@' + '98b01515724c428d0f0a5d01deffcce0f5f5e61c', Var('android_git') + '/platform/external/shaderc/spirv-headers' + '@' + '98b01515724c428d0f0a5d01deffcce0f5f5e61c',
'third_party/spirv-tools-angle/src': 'third_party/spirv-tools/src':
Var('android_git') + '/platform/external/shaderc/spirv-tools' + '@' + '9996173f363729b3a97309685dbd4d78547a63a7', Var('android_git') + '/platform/external/shaderc/spirv-tools' + '@' + '9996173f363729b3a97309685dbd4d78547a63a7',
'third_party/vulkan-validation-layers/src': 'third_party/vulkan-validation-layers/src':
......
...@@ -32,27 +32,15 @@ deps = { ...@@ -32,27 +32,15 @@ deps = {
'src/third_party/deqp/src': 'src/third_party/deqp/src':
Var('android_git') + '/platform/external/deqp@' + Var('deqp_revision'), Var('android_git') + '/platform/external/deqp@' + Var('deqp_revision'),
'src/third_party/glslang-angle/src':
Var('android_git') + '/platform/external/shaderc/glslang@' + Var('glslang_revision'),
'src/third_party/angle/third_party/glslang/src': 'src/third_party/angle/third_party/glslang/src':
Var('android_git') + '/platform/external/shaderc/glslang@' + Var('glslang_revision'), Var('android_git') + '/platform/external/shaderc/glslang@' + Var('glslang_revision'),
'src/third_party/spirv-headers/src':
Var('android_git') + '/platform/external/shaderc/spirv-headers@' + Var('spirv_headers_revision'),
'src/third_party/angle/third_party/spirv-headers/src': 'src/third_party/angle/third_party/spirv-headers/src':
Var('android_git') + '/platform/external/shaderc/spirv-headers@' + Var('spirv_headers_revision'), Var('android_git') + '/platform/external/shaderc/spirv-headers@' + Var('spirv_headers_revision'),
'src/third_party/spirv-tools-angle/src':
Var('android_git') + '/platform/external/shaderc/spirv-tools@' + Var('spirv_tools_revision'),
'src/third_party/angle/third_party/spirv-tools/src': 'src/third_party/angle/third_party/spirv-tools/src':
Var('android_git') + '/platform/external/shaderc/spirv-tools@' + Var('spirv_tools_revision'), Var('android_git') + '/platform/external/shaderc/spirv-tools@' + Var('spirv_tools_revision'),
'src/third_party/vulkan-validation-layers/src':
Var('android_git') + '/platform/external/vulkan-validation-layers@' + Var('vulkan_revision'),
'src/third_party/angle/third_party/vulkan-validation-layers/src': 'src/third_party/angle/third_party/vulkan-validation-layers/src':
Var('android_git') + '/platform/external/vulkan-validation-layers@' + Var('vulkan_revision'), Var('android_git') + '/platform/external/vulkan-validation-layers@' + Var('vulkan_revision'),
} }
...@@ -20,12 +20,6 @@ if (build_with_chromium) { ...@@ -20,12 +20,6 @@ if (build_with_chromium) {
} }
} }
# Shared config vars for Vulkan libraries.
third_party_dir = "//third_party"
glslang_dir = "$third_party_dir/glslang-angle/src"
vulkan_layers_dir = "$third_party_dir/vulkan-validation-layers/src"
raw_vulkan_layers_dir = rebase_path(vulkan_layers_dir, root_build_dir)
# Subdirectory to place data files (e.g. layer JSON files). # Subdirectory to place data files (e.g. layer JSON files).
data_dir = "angledata" data_dir = "angledata"
......
# 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.
import("../../gni/angle.gni")
# glslang
# -------
config("glslang_config") {
include_dirs = [
glslang_dir,
"$glslang_dir/glslang/Public",
]
}
config("glslang_internal_config") {
cflags = []
if (is_clang || !is_win) {
cflags += [
"-Wno-ignored-qualifiers",
"-Wno-reorder",
]
}
if (!is_clang && !is_win) {
cflags += [ "-Wno-unused-function" ]
}
if (is_clang) {
# TODO(thakis): Consider enabling this, https://crbug.com/807632
cflags += [ "-Wno-implicit-fallthrough" ]
}
}
static_library("glslang") {
sources = [
"$glslang_dir/OGLCompilersDLL/InitializeDll.cpp",
"$glslang_dir/OGLCompilersDLL/InitializeDll.h",
"$glslang_dir/SPIRV/GLSL.ext.KHR.h",
"$glslang_dir/SPIRV/GLSL.std.450.h",
"$glslang_dir/SPIRV/GlslangToSpv.cpp",
"$glslang_dir/SPIRV/GlslangToSpv.h",
"$glslang_dir/SPIRV/InReadableOrder.cpp",
"$glslang_dir/SPIRV/Logger.cpp",
"$glslang_dir/SPIRV/Logger.h",
"$glslang_dir/SPIRV/SpvBuilder.cpp",
"$glslang_dir/SPIRV/SpvBuilder.h",
"$glslang_dir/SPIRV/bitutils.h",
"$glslang_dir/SPIRV/disassemble.cpp",
"$glslang_dir/SPIRV/disassemble.h",
"$glslang_dir/SPIRV/doc.cpp",
"$glslang_dir/SPIRV/doc.h",
"$glslang_dir/SPIRV/hex_float.h",
"$glslang_dir/SPIRV/spirv.hpp",
"$glslang_dir/SPIRV/spvIR.h",
"$glslang_dir/StandAlone/ResourceLimits.cpp",
"$glslang_dir/StandAlone/ResourceLimits.h",
"$glslang_dir/glslang/GenericCodeGen/CodeGen.cpp",
"$glslang_dir/glslang/GenericCodeGen/Link.cpp",
"$glslang_dir/glslang/Include/BaseTypes.h",
"$glslang_dir/glslang/Include/Common.h",
"$glslang_dir/glslang/Include/ConstantUnion.h",
"$glslang_dir/glslang/Include/InfoSink.h",
"$glslang_dir/glslang/Include/InitializeGlobals.h",
"$glslang_dir/glslang/Include/PoolAlloc.h",
"$glslang_dir/glslang/Include/ResourceLimits.h",
"$glslang_dir/glslang/Include/ShHandle.h",
"$glslang_dir/glslang/Include/Types.h",
"$glslang_dir/glslang/Include/arrays.h",
"$glslang_dir/glslang/Include/intermediate.h",
"$glslang_dir/glslang/Include/revision.h",
"$glslang_dir/glslang/MachineIndependent/Constant.cpp",
"$glslang_dir/glslang/MachineIndependent/InfoSink.cpp",
"$glslang_dir/glslang/MachineIndependent/Initialize.cpp",
"$glslang_dir/glslang/MachineIndependent/Initialize.h",
"$glslang_dir/glslang/MachineIndependent/IntermTraverse.cpp",
"$glslang_dir/glslang/MachineIndependent/Intermediate.cpp",
"$glslang_dir/glslang/MachineIndependent/LiveTraverser.h",
"$glslang_dir/glslang/MachineIndependent/ParseContextBase.cpp",
"$glslang_dir/glslang/MachineIndependent/ParseHelper.cpp",
"$glslang_dir/glslang/MachineIndependent/ParseHelper.h",
"$glslang_dir/glslang/MachineIndependent/PoolAlloc.cpp",
"$glslang_dir/glslang/MachineIndependent/RemoveTree.cpp",
"$glslang_dir/glslang/MachineIndependent/RemoveTree.h",
"$glslang_dir/glslang/MachineIndependent/Scan.cpp",
"$glslang_dir/glslang/MachineIndependent/Scan.h",
"$glslang_dir/glslang/MachineIndependent/ScanContext.h",
"$glslang_dir/glslang/MachineIndependent/ShaderLang.cpp",
"$glslang_dir/glslang/MachineIndependent/SymbolTable.cpp",
"$glslang_dir/glslang/MachineIndependent/SymbolTable.h",
"$glslang_dir/glslang/MachineIndependent/Versions.cpp",
"$glslang_dir/glslang/MachineIndependent/Versions.h",
"$glslang_dir/glslang/MachineIndependent/gl_types.h",
"$glslang_dir/glslang/MachineIndependent/glslang.y",
"$glslang_dir/glslang/MachineIndependent/glslang_tab.cpp",
"$glslang_dir/glslang/MachineIndependent/glslang_tab.cpp.h",
"$glslang_dir/glslang/MachineIndependent/intermOut.cpp",
"$glslang_dir/glslang/MachineIndependent/iomapper.cpp",
"$glslang_dir/glslang/MachineIndependent/iomapper.h",
"$glslang_dir/glslang/MachineIndependent/limits.cpp",
"$glslang_dir/glslang/MachineIndependent/linkValidate.cpp",
"$glslang_dir/glslang/MachineIndependent/localintermediate.h",
"$glslang_dir/glslang/MachineIndependent/parseConst.cpp",
"$glslang_dir/glslang/MachineIndependent/parseVersions.h",
"$glslang_dir/glslang/MachineIndependent/preprocessor/Pp.cpp",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpAtom.cpp",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpContext.cpp",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpContext.h",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpScanner.cpp",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpTokens.cpp",
"$glslang_dir/glslang/MachineIndependent/preprocessor/PpTokens.h",
"$glslang_dir/glslang/MachineIndependent/propagateNoContraction.cpp",
"$glslang_dir/glslang/MachineIndependent/propagateNoContraction.h",
"$glslang_dir/glslang/MachineIndependent/reflection.cpp",
"$glslang_dir/glslang/MachineIndependent/reflection.h",
"$glslang_dir/glslang/OSDependent/osinclude.h",
"$glslang_dir/glslang/Public/ShaderLang.h",
]
public_configs = [ ":glslang_config" ]
configs += [ ":glslang_internal_config" ]
if (is_win) {
cflags = [
"/wd4100", # Unreferenced formal parameter
"/wd4456", # Declaration hides previous local declaration
"/wd4457", # Declaration hides function parameter
"/wd4458", # Declaration hides class member
"/wd4702", # Unreachable code (from glslang_tab.cpp)
"/wd4718", # Recursive call has no side effects (from PpContext.cpp)
]
sources += [ "$glslang_dir/glslang/OSDependent/Windows/ossource.cpp" ]
}
if (is_linux || is_android) {
sources += [ "$glslang_dir/glslang/OSDependent/Unix/ossource.cpp" ]
}
}
# 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.
import("../../gni/angle.gni")
# glslang
# -------
config("glslang_config") {
include_dirs = [
"src",
"src/glslang/Public",
]
}
config("glslang_internal_config") {
cflags = []
if (is_clang || !is_win) {
cflags += [
"-Wno-ignored-qualifiers",
"-Wno-reorder",
]
}
if (!is_clang && !is_win) {
cflags += [ "-Wno-unused-function" ]
}
if (is_clang) {
# TODO(thakis): Consider enabling this, https://crbug.com/807632
cflags += [ "-Wno-implicit-fallthrough" ]
}
}
static_library("glslang") {
sources = [
"src/OGLCompilersDLL/InitializeDll.cpp",
"src/OGLCompilersDLL/InitializeDll.h",
"src/SPIRV/GLSL.ext.KHR.h",
"src/SPIRV/GLSL.std.450.h",
"src/SPIRV/GlslangToSpv.cpp",
"src/SPIRV/GlslangToSpv.h",
"src/SPIRV/InReadableOrder.cpp",
"src/SPIRV/Logger.cpp",
"src/SPIRV/Logger.h",
"src/SPIRV/SpvBuilder.cpp",
"src/SPIRV/SpvBuilder.h",
"src/SPIRV/bitutils.h",
"src/SPIRV/disassemble.cpp",
"src/SPIRV/disassemble.h",
"src/SPIRV/doc.cpp",
"src/SPIRV/doc.h",
"src/SPIRV/hex_float.h",
"src/SPIRV/spirv.hpp",
"src/SPIRV/spvIR.h",
"src/StandAlone/ResourceLimits.cpp",
"src/StandAlone/ResourceLimits.h",
"src/glslang/GenericCodeGen/CodeGen.cpp",
"src/glslang/GenericCodeGen/Link.cpp",
"src/glslang/Include/BaseTypes.h",
"src/glslang/Include/Common.h",
"src/glslang/Include/ConstantUnion.h",
"src/glslang/Include/InfoSink.h",
"src/glslang/Include/InitializeGlobals.h",
"src/glslang/Include/PoolAlloc.h",
"src/glslang/Include/ResourceLimits.h",
"src/glslang/Include/ShHandle.h",
"src/glslang/Include/Types.h",
"src/glslang/Include/arrays.h",
"src/glslang/Include/intermediate.h",
"src/glslang/Include/revision.h",
"src/glslang/MachineIndependent/Constant.cpp",
"src/glslang/MachineIndependent/InfoSink.cpp",
"src/glslang/MachineIndependent/Initialize.cpp",
"src/glslang/MachineIndependent/Initialize.h",
"src/glslang/MachineIndependent/IntermTraverse.cpp",
"src/glslang/MachineIndependent/Intermediate.cpp",
"src/glslang/MachineIndependent/LiveTraverser.h",
"src/glslang/MachineIndependent/ParseContextBase.cpp",
"src/glslang/MachineIndependent/ParseHelper.cpp",
"src/glslang/MachineIndependent/ParseHelper.h",
"src/glslang/MachineIndependent/PoolAlloc.cpp",
"src/glslang/MachineIndependent/RemoveTree.cpp",
"src/glslang/MachineIndependent/RemoveTree.h",
"src/glslang/MachineIndependent/Scan.cpp",
"src/glslang/MachineIndependent/Scan.h",
"src/glslang/MachineIndependent/ScanContext.h",
"src/glslang/MachineIndependent/ShaderLang.cpp",
"src/glslang/MachineIndependent/SymbolTable.cpp",
"src/glslang/MachineIndependent/SymbolTable.h",
"src/glslang/MachineIndependent/Versions.cpp",
"src/glslang/MachineIndependent/Versions.h",
"src/glslang/MachineIndependent/gl_types.h",
"src/glslang/MachineIndependent/glslang.y",
"src/glslang/MachineIndependent/glslang_tab.cpp",
"src/glslang/MachineIndependent/glslang_tab.cpp.h",
"src/glslang/MachineIndependent/intermOut.cpp",
"src/glslang/MachineIndependent/iomapper.cpp",
"src/glslang/MachineIndependent/iomapper.h",
"src/glslang/MachineIndependent/limits.cpp",
"src/glslang/MachineIndependent/linkValidate.cpp",
"src/glslang/MachineIndependent/localintermediate.h",
"src/glslang/MachineIndependent/parseConst.cpp",
"src/glslang/MachineIndependent/parseVersions.h",
"src/glslang/MachineIndependent/preprocessor/Pp.cpp",
"src/glslang/MachineIndependent/preprocessor/PpAtom.cpp",
"src/glslang/MachineIndependent/preprocessor/PpContext.cpp",
"src/glslang/MachineIndependent/preprocessor/PpContext.h",
"src/glslang/MachineIndependent/preprocessor/PpScanner.cpp",
"src/glslang/MachineIndependent/preprocessor/PpTokens.cpp",
"src/glslang/MachineIndependent/preprocessor/PpTokens.h",
"src/glslang/MachineIndependent/propagateNoContraction.cpp",
"src/glslang/MachineIndependent/propagateNoContraction.h",
"src/glslang/MachineIndependent/reflection.cpp",
"src/glslang/MachineIndependent/reflection.h",
"src/glslang/OSDependent/osinclude.h",
"src/glslang/Public/ShaderLang.h",
]
public_configs = [ ":glslang_config" ]
configs += [ ":glslang_internal_config" ]
if (is_win) {
cflags = [
"/wd4100", # Unreferenced formal parameter
"/wd4456", # Declaration hides previous local declaration
"/wd4457", # Declaration hides function parameter
"/wd4458", # Declaration hides class member
"/wd4702", # Unreachable code (from glslang_tab.cpp)
"/wd4718", # Recursive call has no side effects (from PpContext.cpp)
]
sources += [ "src/glslang/OSDependent/Windows/ossource.cpp" ]
}
if (is_linux || is_android) {
sources += [ "src/glslang/OSDependent/Unix/ossource.cpp" ]
}
}
...@@ -10,15 +10,14 @@ raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir, root_build_dir) ...@@ -10,15 +10,14 @@ raw_vulkan_gen_dir = rebase_path(vulkan_gen_dir, root_build_dir)
# SPIRV-tools # SPIRV-tools
# ----------- # -----------
spirv_tools_dir = "$third_party_dir/spirv-tools-angle/src" spirv_source_dir = "src/source"
spirv_source_dir = "$spirv_tools_dir/source" spirv_headers_dir = "../spirv-headers/src"
spirv_headers_dir = "$third_party_dir/spirv-headers/src"
spirv_include_dir = "$spirv_headers_dir/include/spirv" spirv_include_dir = "$spirv_headers_dir/include/spirv"
raw_spirv_source_dir = rebase_path(spirv_source_dir, root_build_dir) raw_spirv_source_dir = rebase_path(spirv_source_dir, root_build_dir)
raw_spirv_headers_dir = rebase_path(spirv_headers_dir, root_build_dir) raw_spirv_headers_dir = rebase_path(spirv_headers_dir, root_build_dir)
raw_spirv_include_dir = rebase_path(spirv_include_dir, root_build_dir) raw_spirv_include_dir = rebase_path(spirv_include_dir, root_build_dir)
grammar_processing_script = "$spirv_tools_dir/utils/generate_grammar_tables.py" grammar_processing_script = "src/utils/generate_grammar_tables.py"
action("spirv_tools_gen_enum_string_mapping") { action("spirv_tools_gen_enum_string_mapping") {
script = grammar_processing_script script = grammar_processing_script
...@@ -93,7 +92,7 @@ action("spirv_tools_gen_opencl_tables") { ...@@ -93,7 +92,7 @@ action("spirv_tools_gen_opencl_tables") {
} }
action("spirv_tools_gen_generators_inc") { action("spirv_tools_gen_generators_inc") {
script = "$spirv_tools_dir/utils/generate_registry_tables.py" script = "src/utils/generate_registry_tables.py"
sources = [ sources = [
"$spirv_headers_dir/include/spirv/spir-v.xml", "$spirv_headers_dir/include/spirv/spir-v.xml",
] ]
...@@ -136,7 +135,7 @@ foreach(target_name, spvtools_vendor_tables) { ...@@ -136,7 +135,7 @@ foreach(target_name, spvtools_vendor_tables) {
} }
config("spirv_tools_config") { config("spirv_tools_config") {
include_dirs = [ "$spirv_tools_dir/include" ] include_dirs = [ "src/include" ]
if (is_win) { if (is_win) {
cflags = [ cflags = [
"/wd4706", "/wd4706",
...@@ -168,80 +167,80 @@ static_library("spirv_tools") { ...@@ -168,80 +167,80 @@ static_library("spirv_tools") {
include_dirs = [ include_dirs = [
vulkan_gen_dir, vulkan_gen_dir,
"$spirv_headers_dir/include", "$spirv_headers_dir/include",
"$spirv_tools_dir/source", "src/source",
] ]
sources = [ sources = [
"$spirv_tools_dir/source/assembly_grammar.cpp", "src/source/assembly_grammar.cpp",
"$spirv_tools_dir/source/assembly_grammar.h", "src/source/assembly_grammar.h",
"$spirv_tools_dir/source/binary.cpp", "src/source/binary.cpp",
"$spirv_tools_dir/source/binary.h", "src/source/binary.h",
"$spirv_tools_dir/source/diagnostic.cpp", "src/source/diagnostic.cpp",
"$spirv_tools_dir/source/diagnostic.h", "src/source/diagnostic.h",
"$spirv_tools_dir/source/disassemble.cpp", "src/source/disassemble.cpp",
"$spirv_tools_dir/source/enum_set.h", "src/source/enum_set.h",
"$spirv_tools_dir/source/ext_inst.cpp", "src/source/ext_inst.cpp",
"$spirv_tools_dir/source/ext_inst.h", "src/source/ext_inst.h",
"$spirv_tools_dir/source/instruction.h", "src/source/instruction.h",
"$spirv_tools_dir/source/libspirv.cpp", "src/source/libspirv.cpp",
"$spirv_tools_dir/source/macro.h", "src/source/macro.h",
"$spirv_tools_dir/source/message.cpp", "src/source/message.cpp",
"$spirv_tools_dir/source/name_mapper.cpp", "src/source/name_mapper.cpp",
"$spirv_tools_dir/source/name_mapper.h", "src/source/name_mapper.h",
"$spirv_tools_dir/source/opcode.cpp", "src/source/opcode.cpp",
"$spirv_tools_dir/source/opcode.h", "src/source/opcode.h",
"$spirv_tools_dir/source/operand.cpp", "src/source/operand.cpp",
"$spirv_tools_dir/source/operand.h", "src/source/operand.h",
"$spirv_tools_dir/source/parsed_operand.cpp", "src/source/parsed_operand.cpp",
"$spirv_tools_dir/source/parsed_operand.h", "src/source/parsed_operand.h",
"$spirv_tools_dir/source/print.cpp", "src/source/print.cpp",
"$spirv_tools_dir/source/print.h", "src/source/print.h",
# TODO(jmadill): Determine if this is ever needed. # TODO(jmadill): Determine if this is ever needed.
#"$spirv_tools_dir/source/software_version.cpp", #"src/source/software_version.cpp",
"$spirv_tools_dir/source/enum_string_mapping.cpp", "src/source/enum_string_mapping.cpp",
"$spirv_tools_dir/source/extensions.cpp", "src/source/extensions.cpp",
"$spirv_tools_dir/source/extensions.h", "src/source/extensions.h",
"$spirv_tools_dir/source/spirv_constant.h", "src/source/spirv_constant.h",
"$spirv_tools_dir/source/spirv_definition.h", "src/source/spirv_definition.h",
"$spirv_tools_dir/source/spirv_endian.cpp", "src/source/spirv_endian.cpp",
"$spirv_tools_dir/source/spirv_endian.h", "src/source/spirv_endian.h",
"$spirv_tools_dir/source/spirv_target_env.cpp", "src/source/spirv_target_env.cpp",
"$spirv_tools_dir/source/spirv_target_env.h", "src/source/spirv_target_env.h",
"$spirv_tools_dir/source/spirv_validator_options.cpp", "src/source/spirv_validator_options.cpp",
"$spirv_tools_dir/source/spirv_validator_options.h", "src/source/spirv_validator_options.h",
"$spirv_tools_dir/source/table.cpp", "src/source/table.cpp",
"$spirv_tools_dir/source/table.h", "src/source/table.h",
"$spirv_tools_dir/source/text.cpp", "src/source/text.cpp",
"$spirv_tools_dir/source/text.h", "src/source/text.h",
"$spirv_tools_dir/source/text_handler.cpp", "src/source/text_handler.cpp",
"$spirv_tools_dir/source/text_handler.h", "src/source/text_handler.h",
"$spirv_tools_dir/source/util/bitutils.h", "src/source/util/bitutils.h",
"$spirv_tools_dir/source/util/hex_float.h", "src/source/util/hex_float.h",
"$spirv_tools_dir/source/util/parse_number.cpp", "src/source/util/parse_number.cpp",
"$spirv_tools_dir/source/util/parse_number.h", "src/source/util/parse_number.h",
"$spirv_tools_dir/source/util/string_utils.cpp", "src/source/util/string_utils.cpp",
"$spirv_tools_dir/source/util/string_utils.h", "src/source/util/string_utils.h",
"$spirv_tools_dir/source/val/basic_block.cpp", "src/source/val/basic_block.cpp",
"$spirv_tools_dir/source/val/construct.cpp", "src/source/val/construct.cpp",
"$spirv_tools_dir/source/val/function.cpp", "src/source/val/function.cpp",
"$spirv_tools_dir/source/val/instruction.cpp", "src/source/val/instruction.cpp",
"$spirv_tools_dir/source/val/validation_state.cpp", "src/source/val/validation_state.cpp",
"$spirv_tools_dir/source/validate.cpp", "src/source/validate.cpp",
"$spirv_tools_dir/source/validate.h", "src/source/validate.h",
"$spirv_tools_dir/source/validate_arithmetics.cpp", "src/source/validate_arithmetics.cpp",
"$spirv_tools_dir/source/validate_bitwise.cpp", "src/source/validate_bitwise.cpp",
"$spirv_tools_dir/source/validate_capability.cpp", "src/source/validate_capability.cpp",
"$spirv_tools_dir/source/validate_cfg.cpp", "src/source/validate_cfg.cpp",
"$spirv_tools_dir/source/validate_conversion.cpp", "src/source/validate_conversion.cpp",
"$spirv_tools_dir/source/validate_datarules.cpp", "src/source/validate_datarules.cpp",
"$spirv_tools_dir/source/validate_decorations.cpp", "src/source/validate_decorations.cpp",
"$spirv_tools_dir/source/validate_derivatives.cpp", "src/source/validate_derivatives.cpp",
"$spirv_tools_dir/source/validate_id.cpp", "src/source/validate_id.cpp",
"$spirv_tools_dir/source/validate_image.cpp", "src/source/validate_image.cpp",
"$spirv_tools_dir/source/validate_instruction.cpp", "src/source/validate_instruction.cpp",
"$spirv_tools_dir/source/validate_layout.cpp", "src/source/validate_layout.cpp",
"$spirv_tools_dir/source/validate_logicals.cpp", "src/source/validate_logicals.cpp",
"$spirv_tools_dir/source/validate_type_unique.cpp", "src/source/validate_type_unique.cpp",
] ]
public_configs = [ ":spirv_tools_config" ] public_configs = [ ":spirv_tools_config" ]
configs += [ ":spirv_tools_internal_config" ] configs += [ ":spirv_tools_internal_config" ]
......
...@@ -12,6 +12,8 @@ if (is_win) { ...@@ -12,6 +12,8 @@ if (is_win) {
] ]
} }
raw_vulkan_layers_dir = rebase_path("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)
...@@ -116,12 +118,12 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -116,12 +118,12 @@ foreach(script_and_dep, helper_script_and_deps) {
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 = "$vulkan_layers_dir/scripts/lvl_genvk.py" script = "src/scripts/lvl_genvk.py"
inputs = [ inputs = [
"$vulkan_layers_dir/scripts/$dep", "src/scripts/$dep",
"$vulkan_layers_dir/scripts/generator.py", "src/scripts/generator.py",
"$vulkan_layers_dir/scripts/reg.py", "src/scripts/reg.py",
"$vulkan_layers_dir/scripts/vk.xml", "src/scripts/vk.xml",
] ]
outputs = [ outputs = [
"$vulkan_gen_dir/$file", "$vulkan_gen_dir/$file",
...@@ -138,24 +140,23 @@ foreach(script_and_dep, helper_script_and_deps) { ...@@ -138,24 +140,23 @@ foreach(script_and_dep, helper_script_and_deps) {
} }
config("vulkan_headers_config") { config("vulkan_headers_config") {
include_dirs = [ "$vulkan_layers_dir/include" ] include_dirs = [ "src/include" ]
} }
# Vulkan headers only, no compiled sources. # Vulkan headers only, no compiled sources.
source_set("vulkan_headers") { source_set("vulkan_headers") {
sources = [ sources = [
"$vulkan_layers_dir/include/vulkan/vk_icd.h", "src/include/vulkan/vk_icd.h",
"$vulkan_layers_dir/include/vulkan/vk_layer.h", "src/include/vulkan/vk_layer.h",
"$vulkan_layers_dir/include/vulkan/vk_platform.h", "src/include/vulkan/vk_platform.h",
"$vulkan_layers_dir/include/vulkan/vk_sdk_platform.h", "src/include/vulkan/vk_sdk_platform.h",
"$vulkan_layers_dir/include/vulkan/vulkan.h", "src/include/vulkan/vulkan.h",
"$vulkan_layers_dir/include/vulkan/vulkan.hpp", "src/include/vulkan/vulkan.hpp",
] ]
public_configs = [ ":vulkan_headers_config" ] public_configs = [ ":vulkan_headers_config" ]
} }
spirv_tools_dir = "$third_party_dir/spirv-tools-angle/src" raw_spirv_tools_dir = rebase_path("../spirv-tools/src", root_build_dir)
raw_spirv_tools_dir = rebase_path(spirv_tools_dir, root_build_dir)
spirv_git_is_present = exec_script("$angle_root/src/commit_id.py", spirv_git_is_present = exec_script("$angle_root/src/commit_id.py",
[ [
...@@ -169,7 +170,7 @@ spirv_use_commit_id = spirv_git_is_present == 1 ...@@ -169,7 +170,7 @@ spirv_use_commit_id = spirv_git_is_present == 1
if (spirv_use_commit_id) { if (spirv_use_commit_id) {
# This could be generalized to a foreach if other revisions are added. # This could be generalized to a foreach if other revisions are added.
action("spirv_tools_external_revision_generate") { action("spirv_tools_external_revision_generate") {
script = "$vulkan_layers_dir/scripts/external_revision_generator.py" script = "src/scripts/external_revision_generator.py"
inputs = [ inputs = [
"$angle_root/DEPS", "$angle_root/DEPS",
] ]
...@@ -260,8 +261,8 @@ config("vulkan_internal_config") { ...@@ -260,8 +261,8 @@ config("vulkan_internal_config") {
config("vulkan_loader_config") { config("vulkan_loader_config") {
include_dirs = [ include_dirs = [
vulkan_gen_dir, vulkan_gen_dir,
"$vulkan_layers_dir/include", "src/include",
"$vulkan_layers_dir/loader", "src/loader",
] ]
defines = [ defines = [
"ANGLE_VK_LAYERS_DIR=\"$data_dir\"", "ANGLE_VK_LAYERS_DIR=\"$data_dir\"",
...@@ -280,31 +281,31 @@ config("vulkan_loader_config") { ...@@ -280,31 +281,31 @@ config("vulkan_loader_config") {
if (!is_android) { if (!is_android) {
static_library("vulkan_loader") { static_library("vulkan_loader") {
sources = [ sources = [
"$vulkan_layers_dir/loader/cJSON.c", "src/loader/cJSON.c",
"$vulkan_layers_dir/loader/cJSON.h", "src/loader/cJSON.h",
"$vulkan_layers_dir/loader/debug_report.c", "src/loader/debug_report.c",
"$vulkan_layers_dir/loader/debug_report.h", "src/loader/debug_report.h",
"$vulkan_layers_dir/loader/dev_ext_trampoline.c", "src/loader/dev_ext_trampoline.c",
"$vulkan_layers_dir/loader/extension_manual.c", "src/loader/extension_manual.c",
"$vulkan_layers_dir/loader/extension_manual.h", "src/loader/extension_manual.h",
"$vulkan_layers_dir/loader/gpa_helper.h", "src/loader/gpa_helper.h",
"$vulkan_layers_dir/loader/loader.c", "src/loader/loader.c",
"$vulkan_layers_dir/loader/loader.h", "src/loader/loader.h",
"$vulkan_layers_dir/loader/murmurhash.c", "src/loader/murmurhash.c",
"$vulkan_layers_dir/loader/murmurhash.h", "src/loader/murmurhash.h",
"$vulkan_layers_dir/loader/phys_dev_ext.c", "src/loader/phys_dev_ext.c",
"$vulkan_layers_dir/loader/trampoline.c", "src/loader/trampoline.c",
# TODO(jmadill): Use assembler where available. # TODO(jmadill): Use assembler where available.
"$vulkan_layers_dir/loader/unknown_ext_chain.c", "src/loader/unknown_ext_chain.c",
"$vulkan_layers_dir/loader/vk_loader_platform.h", "src/loader/vk_loader_platform.h",
"$vulkan_layers_dir/loader/wsi.c", "src/loader/wsi.c",
"$vulkan_layers_dir/loader/wsi.h", "src/loader/wsi.h",
] ]
if (is_win) { if (is_win) {
sources += [ sources += [
"$vulkan_layers_dir/loader/dirent_on_windows.c", "src/loader/dirent_on_windows.c",
"$vulkan_layers_dir/loader/dirent_on_windows.h", "src/loader/dirent_on_windows.h",
] ]
if (!is_clang) { if (!is_clang) {
cflags = [ cflags = [
...@@ -340,7 +341,7 @@ if (!is_android) { ...@@ -340,7 +341,7 @@ if (!is_android) {
# --------------------- # ---------------------
config("vulkan_layer_config") { config("vulkan_layer_config") {
include_dirs = [ "$vulkan_layers_dir/layers" ] include_dirs = [ "src/layers" ]
} }
source_set("vulkan_layer_table") { source_set("vulkan_layer_table") {
...@@ -356,8 +357,8 @@ source_set("vulkan_layer_table") { ...@@ -356,8 +357,8 @@ source_set("vulkan_layer_table") {
sources = [ sources = [
"$target_gen_dir/angle/vulkan/vk_dispatch_table_helper.h", "$target_gen_dir/angle/vulkan/vk_dispatch_table_helper.h",
"$target_gen_dir/angle/vulkan/vk_enum_string_helper.h", "$target_gen_dir/angle/vulkan/vk_enum_string_helper.h",
"$vulkan_layers_dir/layers/vk_layer_table.cpp", "src/layers/vk_layer_table.cpp",
"$vulkan_layers_dir/layers/vk_layer_table.h", "src/layers/vk_layer_table.h",
] ]
} }
...@@ -365,34 +366,34 @@ core_validation_sources = [ ...@@ -365,34 +366,34 @@ 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",
"$vulkan_gen_dir/vk_safe_struct.h", "$vulkan_gen_dir/vk_safe_struct.h",
"$vulkan_layers_dir/layers/buffer_validation.cpp", "src/layers/buffer_validation.cpp",
"$vulkan_layers_dir/layers/buffer_validation.h", "src/layers/buffer_validation.h",
"$vulkan_layers_dir/layers/core_validation.cpp", "src/layers/core_validation.cpp",
"$vulkan_layers_dir/layers/core_validation.h", "src/layers/core_validation.h",
"$vulkan_layers_dir/layers/descriptor_sets.cpp", "src/layers/descriptor_sets.cpp",
"$vulkan_layers_dir/layers/descriptor_sets.h", "src/layers/descriptor_sets.h",
"$vulkan_layers_dir/layers/shader_validation.cpp", "src/layers/shader_validation.cpp",
"$vulkan_layers_dir/layers/shader_validation.h", "src/layers/shader_validation.h",
"$vulkan_layers_dir/layers/xxhash.c", "src/layers/xxhash.c",
"$vulkan_layers_dir/layers/xxhash.h", "src/layers/xxhash.h",
] ]
object_tracker_sources = [ object_tracker_sources = [
"$vulkan_gen_dir/object_tracker.cpp", "$vulkan_gen_dir/object_tracker.cpp",
"$vulkan_layers_dir/layers/object_tracker.h", "src/layers/object_tracker.h",
"$vulkan_layers_dir/layers/object_tracker_utils.cpp", "src/layers/object_tracker_utils.cpp",
] ]
parameter_validation_sources = [ parameter_validation_sources = [
"$vulkan_gen_dir/parameter_validation.cpp", "$vulkan_gen_dir/parameter_validation.cpp",
"$vulkan_layers_dir/layers/parameter_validation.h", "src/layers/parameter_validation.h",
"$vulkan_layers_dir/layers/parameter_validation_utils.cpp", "src/layers/parameter_validation_utils.cpp",
] ]
threading_sources = [ threading_sources = [
"$vulkan_gen_dir/thread_check.h", "$vulkan_gen_dir/thread_check.h",
"$vulkan_layers_dir/layers/threading.cpp", "src/layers/threading.cpp",
"$vulkan_layers_dir/layers/threading.h", "src/layers/threading.h",
] ]
unique_objects_sources = [ unique_objects_sources = [
...@@ -401,8 +402,8 @@ unique_objects_sources = [ ...@@ -401,8 +402,8 @@ unique_objects_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",
"$vulkan_gen_dir/vk_safe_struct.h", "$vulkan_gen_dir/vk_safe_struct.h",
"$vulkan_layers_dir/layers/unique_objects.cpp", "src/layers/unique_objects.cpp",
"$vulkan_layers_dir/layers/unique_objects.h", "src/layers/unique_objects.h",
] ]
layers = [ layers = [
...@@ -446,21 +447,21 @@ if (!is_android) { ...@@ -446,21 +447,21 @@ if (!is_android) {
script = "$angle_root/scripts/generate_vulkan_layers_json.py" script = "$angle_root/scripts/generate_vulkan_layers_json.py"
if (is_win) { if (is_win) {
sources = [ sources = [
"$vulkan_layers_dir/layers/windows/VkLayer_core_validation.json", "src/layers/windows/VkLayer_core_validation.json",
"$vulkan_layers_dir/layers/windows/VkLayer_object_tracker.json", "src/layers/windows/VkLayer_object_tracker.json",
"$vulkan_layers_dir/layers/windows/VkLayer_parameter_validation.json", "src/layers/windows/VkLayer_parameter_validation.json",
"$vulkan_layers_dir/layers/windows/VkLayer_threading.json", "src/layers/windows/VkLayer_threading.json",
"$vulkan_layers_dir/layers/windows/VkLayer_unique_objects.json", "src/layers/windows/VkLayer_unique_objects.json",
] ]
args = [ "$raw_vulkan_layers_dir/layers/windows" ] args = [ "$raw_vulkan_layers_dir/layers/windows" ]
} }
if (is_linux) { if (is_linux) {
sources = [ sources = [
"$vulkan_layers_dir/layers/linux/VkLayer_core_validation.json", "src/layers/linux/VkLayer_core_validation.json",
"$vulkan_layers_dir/layers/linux/VkLayer_object_tracker.json", "src/layers/linux/VkLayer_object_tracker.json",
"$vulkan_layers_dir/layers/linux/VkLayer_parameter_validation.json", "src/layers/linux/VkLayer_parameter_validation.json",
"$vulkan_layers_dir/layers/linux/VkLayer_threading.json", "src/layers/linux/VkLayer_threading.json",
"$vulkan_layers_dir/layers/linux/VkLayer_unique_objects.json", "src/layers/linux/VkLayer_unique_objects.json",
] ]
args = [ "$raw_vulkan_layers_dir/layers/linux" ] args = [ "$raw_vulkan_layers_dir/layers/linux" ]
} }
...@@ -497,7 +498,7 @@ if (!is_android) { ...@@ -497,7 +498,7 @@ if (!is_android) {
deps += [ ":vulkan_generate_mock_icd_files" ] deps += [ ":vulkan_generate_mock_icd_files" ]
sources = mock_icd_sources sources = mock_icd_sources
if (is_win) { if (is_win) {
sources += [ "$vulkan_layers_dir/icd/VkICD_mock_icd.def" ] sources += [ "src/icd/VkICD_mock_icd.def" ]
} }
} }
...@@ -505,13 +506,13 @@ if (!is_android) { ...@@ -505,13 +506,13 @@ if (!is_android) {
script = "$angle_root/scripts/generate_vulkan_layers_json.py" script = "$angle_root/scripts/generate_vulkan_layers_json.py"
if (is_win) { if (is_win) {
sources = [ sources = [
"$vulkan_layers_dir/icd/windows/VkICD_mock_icd.json", "src/icd/windows/VkICD_mock_icd.json",
] ]
args = [ "$raw_vulkan_layers_dir/icd/windows" ] args = [ "$raw_vulkan_layers_dir/icd/windows" ]
} }
if (is_linux) { if (is_linux) {
sources = [ sources = [
"$vulkan_layers_dir/icd/linux/VkICD_mock_icd.json", "src/icd/linux/VkICD_mock_icd.json",
] ]
args = [ "$raw_vulkan_layers_dir/icd/linux" ] args = [ "$raw_vulkan_layers_dir/icd/linux" ]
} }
...@@ -525,14 +526,14 @@ if (!is_android) { ...@@ -525,14 +526,14 @@ if (!is_android) {
source_set("vulkan_layer_utils") { source_set("vulkan_layer_utils") {
sources = [ sources = [
"$vulkan_layers_dir/layers/vk_format_utils.cpp", "src/layers/vk_format_utils.cpp",
"$vulkan_layers_dir/layers/vk_format_utils.h", "src/layers/vk_format_utils.h",
"$vulkan_layers_dir/layers/vk_layer_config.cpp", "src/layers/vk_layer_config.cpp",
"$vulkan_layers_dir/layers/vk_layer_config.h", "src/layers/vk_layer_config.h",
"$vulkan_layers_dir/layers/vk_layer_extension_utils.cpp", "src/layers/vk_layer_extension_utils.cpp",
"$vulkan_layers_dir/layers/vk_layer_extension_utils.h", "src/layers/vk_layer_extension_utils.h",
"$vulkan_layers_dir/layers/vk_layer_utils.cpp", "src/layers/vk_layer_utils.cpp",
"$vulkan_layers_dir/layers/vk_layer_utils.h", "src/layers/vk_layer_utils.h",
] ]
public_configs = [ public_configs = [
":vulkan_config", ":vulkan_config",
...@@ -546,12 +547,12 @@ source_set("vulkan_layer_utils") { ...@@ -546,12 +547,12 @@ source_set("vulkan_layer_utils") {
} }
config("vulkan_core_validation_config") { config("vulkan_core_validation_config") {
include_dirs = [ glslang_dir ] include_dirs = [ "../glslang/src" ]
} }
source_set("vulkan_core_validation_glslang") { source_set("vulkan_core_validation_glslang") {
public_deps = [ public_deps = [
"$angle_root/third_party/spirv-tools-angle:spirv_tools", "../spirv-tools:spirv_tools",
] ]
public_configs = [ ":vulkan_core_validation_config" ] public_configs = [ ":vulkan_core_validation_config" ]
} }
...@@ -602,7 +603,7 @@ foreach(layer_info, layers) { ...@@ -602,7 +603,7 @@ foreach(layer_info, layers) {
} }
sources = layer_info[1] sources = layer_info[1]
if (is_win) { if (is_win) {
sources += [ "$vulkan_layers_dir/layers/VkLayer_$name.def" ] sources += [ "src/layers/VkLayer_$name.def" ]
} }
if (is_linux || is_android) { if (is_linux || is_android) {
ldflags = [ "-Wl,-Bsymbolic,--exclude-libs,ALL" ] ldflags = [ "-Wl,-Bsymbolic,--exclude-libs,ALL" ]
......
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