Use Jamie's 7-layer burrito of Vulkan DEPS.
This allows us to roll all Vulkan- and SPIRV-related dependencies
simultaneously (which are often inter-dependent).
This change also implicitly rolls the dependencies to the revs in ANGLE.
Change-Id: I50a1e5b2ef706ffbfbc22f5783321820bb50ae96
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36500
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/.gitignore b/.gitignore
index b0f60f1..3d6003b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,12 +7,10 @@
build
buildtools
testing
-third_party/SPIRV-Tools/
third_party/binutils/
third_party/clang-format/
third_party/glfw/
third_party/glm/
-third_party/glslang/
third_party/googletest/
third_party/jinja2/
third_party/jsoncpp/
@@ -20,12 +18,8 @@
third_party/markupsafe/
third_party/shaderc/
third_party/swiftshader/
-third_party/spirv-cross/
-third_party/spirv-headers/
third_party/tint/
-third_party/vulkan-headers/
-third_party/vulkan-loader/
-third_party/vulkan-validation-layers/
+third_party/vulkan-deps/
tools
out
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba0909d..fd35c32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,12 +79,12 @@
set(DAWN_GLFW_DIR "${DAWN_THIRD_PARTY_DIR}/glfw" CACHE STRING "Directory in which to find GLFW")
set(DAWN_GLM_DIR "${DAWN_THIRD_PARTY_DIR}/glm" CACHE STRING "Directory in which to find GLM")
-set(DAWN_GLSLANG_DIR "${DAWN_THIRD_PARTY_DIR}/glslang" CACHE STRING "Directory in which to find GLSLang")
+set(DAWN_GLSLANG_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps/glslang/src" CACHE STRING "Directory in which to find GLSLang")
set(DAWN_JINJA2_DIR "${DAWN_THIRD_PARTY_DIR}/jinja2" CACHE STRING "Directory in which to find Jinja2")
set(DAWN_SHADERC_DIR "${DAWN_THIRD_PARTY_DIR}/shaderc" CACHE STRING "Directory in which to find shaderc")
-set(DAWN_SPIRV_CROSS_DIR "${DAWN_THIRD_PARTY_DIR}/spirv-cross" CACHE STRING "Directory in which to find SPIRV-Cross")
-set(DAWN_SPIRV_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/spirv-headers" CACHE STRING "Directory in which to find SPIRV-Headers")
-set(DAWN_SPIRV_TOOLS_DIR "${DAWN_THIRD_PARTY_DIR}/SPIRV-Tools" CACHE STRING "Directory in which to find SPIRV-Tools")
+set(DAWN_SPIRV_CROSS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan_deps/spirv-cross/src" CACHE STRING "Directory in which to find SPIRV-Cross")
+set(DAWN_SPIRV_HEADERS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps/spirv-headers/src" CACHE STRING "Directory in which to find SPIRV-Headers")
+set(DAWN_SPIRV_TOOLS_DIR "${DAWN_THIRD_PARTY_DIR}/vulkan-deps/spirv-tools/src" CACHE STRING "Directory in which to find SPIRV-Tools")
set(DAWN_TINT_DIR "${DAWN_THIRD_PARTY_DIR}/tint" CACHE STRING "Directory in which to find Tint")
################################################################################
diff --git a/DEPS b/DEPS
index ee53a38..73986f1 100644
--- a/DEPS
+++ b/DEPS
@@ -56,25 +56,7 @@
'condition': 'dawn_standalone',
},
- # SPIRV-Cross
- 'third_party/spirv-cross': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Cross@be527632a6c80291ab012a79758e0e41224ad5e2',
- 'condition': 'dawn_standalone',
- },
-
- # SPIRV compiler dependencies: SPIRV-Tools, SPIRV-headers, glslang and shaderc
- 'third_party/SPIRV-Tools': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@671914c28e8249f0a555726a0f3f38691fe5c1df',
- 'condition': 'dawn_standalone',
- },
- 'third_party/spirv-headers': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@5ab5c96198f30804a6a29961b8905f292a8ae600',
- 'condition': 'dawn_standalone',
- },
- 'third_party/glslang': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@4d41da3b810bc11c1c8a954e516638e437360a67',
- 'condition': 'dawn_standalone',
- },
+ # SPIRV compiler dependencies: shaderc
'third_party/shaderc': {
'url': '{chromium_git}/external/github.com/google/shaderc@6216d098d8abe3ccda8781016c4f69372c48afb9',
'condition': 'dawn_standalone',
@@ -98,25 +80,15 @@
'condition': 'dawn_standalone',
},
- # Khronos Vulkan headers, validation layers and loader.
- 'third_party/vulkan-headers': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@30e70cbd9850560cb55bffadb8017e90c04c42f5',
- 'condition': 'dawn_standalone',
- },
- 'third_party/vulkan-validation-layers': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@8756b1cb930a6a6125dc070b01e4fce5dc6f352a',
- 'condition': 'dawn_standalone',
- },
- 'third_party/vulkan-loader': {
- 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@d846ea5a2427eb0119cf98288aa337eced10edbd',
- 'condition': 'dawn_standalone',
- },
-
'third_party/swiftshader': {
'url': '{swiftshader_git}/SwiftShader@df17a76102dfabb3f1bd6e51449cece9f77b45e3',
'condition': 'dawn_standalone',
},
+ 'third_party/vulkan-deps': {
+ 'url': '{chromium_git}/vulkan-deps@b08eace32e9cb8dd7dce9866f051558ac57acb15',
+ 'condition': 'dawn_standalone',
+ },
}
hooks = [
@@ -216,4 +188,5 @@
recursedeps = [
# buildtools provides clang_format, libc++, and libc++abi
'buildtools',
+ 'third_party/vulkan-deps',
]
diff --git a/build_overrides/dawn.gni b/build_overrides/dawn.gni
index d84165f..3b913dd 100644
--- a/build_overrides/dawn.gni
+++ b/build_overrides/dawn.gni
@@ -32,9 +32,10 @@
dawn_glm_dir = "//third_party/glm"
dawn_googletest_dir = "//third_party/googletest"
dawn_shaderc_dir = "//third_party/shaderc"
-dawn_spirv_tools_dir = "//third_party/SPIRV-Tools"
-dawn_spirv_cross_dir = "//third_party/spirv-cross"
+dawn_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
+dawn_spirv_cross_dir = "//third_party/vulkan-deps/spirv-cross/src"
dawn_swiftshader_dir = "//third_party/swiftshader"
dawn_tint_dir = "//third_party/tint"
-dawn_vulkan_loader_dir = "//third_party/vulkan-loader"
-dawn_vulkan_validation_layers_dir = "//third_party/vulkan-validation-layers"
+dawn_vulkan_loader_dir = "//third_party/vulkan-deps/vulkan-loader/src"
+dawn_vulkan_validation_layers_dir =
+ "//third_party/vulkan-deps/vulkan-validation-layers/src"
diff --git a/build_overrides/glslang.gni b/build_overrides/glslang.gni
index c1b60e0..69d968d 100644
--- a/build_overrides/glslang.gni
+++ b/build_overrides/glslang.gni
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-glslang_spirv_tools_dir = "//third_party/SPIRV-Tools"
+glslang_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
diff --git a/build_overrides/shaderc.gni b/build_overrides/shaderc.gni
index 3aecd21..fb0f62b 100644
--- a/build_overrides/shaderc.gni
+++ b/build_overrides/shaderc.gni
@@ -12,6 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-shaderc_glslang_dir = "//third_party/glslang"
-shaderc_spirv_tools_dir = "//third_party/SPIRV-Tools"
-shaderc_spirv_headers_dir = "//third_party/spirv-headers"
+shaderc_glslang_dir = "//third_party/vulkan-deps/glslang/src"
+shaderc_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
+shaderc_spirv_headers_dir = "//third_party/vulkan-deps/spirv-headers/src"
diff --git a/build_overrides/spirv_tools.gni b/build_overrides/spirv_tools.gni
index 7e4559f..48e7b11 100644
--- a/build_overrides/spirv_tools.gni
+++ b/build_overrides/spirv_tools.gni
@@ -17,4 +17,4 @@
# Paths to SPIRV-Tools dependencies in Dawn
spirv_tools_googletest_dir = "//third_party/googletest"
-spirv_tools_spirv_headers_dir = "//third_party/spirv-headers"
+spirv_tools_spirv_headers_dir = "//third_party/vulkan-deps/spirv-headers/src"
diff --git a/build_overrides/swiftshader.gni b/build_overrides/swiftshader.gni
index 4153f72..1674d48 100644
--- a/build_overrides/swiftshader.gni
+++ b/build_overrides/swiftshader.gni
@@ -19,4 +19,4 @@
swiftshader_dir = "//third_party/swiftshader"
# Paths to SwiftShader dependencies in Dawn
-swiftshader_spirv_tools_dir = "//third_party/SPIRV-Tools"
+swiftshader_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
diff --git a/build_overrides/tint.gni b/build_overrides/tint.gni
index 9fe29de..24ca75c 100644
--- a/build_overrides/tint.gni
+++ b/build_overrides/tint.gni
@@ -13,9 +13,9 @@
# limitations under the License.
tint_root_dir = "//third_party/tint"
-tint_spirv_tools_dir = "//third_party/SPIRV-Tools"
+tint_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
tint_googletest_dir = "//third_party/googletest"
-tint_spirv_headers_dir = "//third_party/spirv-headers"
+tint_spirv_headers_dir = "//third_party/vulkan-deps/spirv-headers/src"
tint_build_spv_reader = true
tint_build_spv_writer = true
diff --git a/build_overrides/vulkan_loader.gni b/build_overrides/vulkan_loader.gni
index c38074f..7185dea 100644
--- a/build_overrides/vulkan_loader.gni
+++ b/build_overrides/vulkan_loader.gni
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-vulkan_headers_dir = "//third_party/vulkan-headers"
+vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
vulkan_gen_subdir = "vulkan_loader"
vulkan_loader_shared = true
diff --git a/build_overrides/vulkan_validation_layers.gni b/build_overrides/vulkan_validation_layers.gni
index 491afbc..37193a8 100644
--- a/build_overrides/vulkan_validation_layers.gni
+++ b/build_overrides/vulkan_validation_layers.gni
@@ -15,9 +15,9 @@
# These are variables that are overridable by projects that include Dawn.
# The values in this file are the defaults for when we are building from
# Dawn's repository.
-vulkan_headers_dir = "//third_party/vulkan-headers"
-vvl_spirv_tools_dir = "//third_party/SPIRV-Tools"
-vvl_glslang_dir = "//third_party/glslang"
+vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
+vvl_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
+vvl_glslang_dir = "//third_party/vulkan-deps/glslang/src"
# Subdirectories for generated files
vulkan_data_subdir = "vulkandata"
diff --git a/scripts/dawn_overrides_with_defaults.gni b/scripts/dawn_overrides_with_defaults.gni
index 0517180..9120a799 100644
--- a/scripts/dawn_overrides_with_defaults.gni
+++ b/scripts/dawn_overrides_with_defaults.gni
@@ -54,11 +54,11 @@
}
if (!defined(dawn_spirv_cross_dir)) {
- dawn_spirv_cross_dir = "//third_party/spirv-cross"
+ dawn_spirv_cross_dir = "//third_party/vulkan-deps/spirv-cross/src"
}
if (!defined(dawn_spirv_tools_dir)) {
- dawn_spirv_tools_dir = "//third_party/SPIRV-Tools"
+ dawn_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
}
if (!defined(dawn_swiftshader_dir)) {