Add compute pipeline cache key generation for Vulkan.

- Adds dependency to vulkan-tools for pNext chain helpers.
- Adds extra caching to vulkan shaders to keep the spirv in the in-memory cache as well.
- Adds pNext chain serializer infra for Vulkan.

Change-Id: Ibe73183fbff15f7310eaaeae92fbd622be1ac096
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85022
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
This commit is contained in:
Loko Kung
2022-04-09 00:10:08 +00:00
committed by Dawn LUCI CQ
parent 30353998c1
commit 23d09c6114
16 changed files with 340 additions and 52 deletions

View File

@@ -54,14 +54,17 @@ if (!defined(dawn_swiftshader_dir)) {
dawn_swiftshader_dir = ""
}
if (!defined(dawn_vulkan_headers_dir)) {
dawn_vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
if (!defined(dawn_vulkan_deps_dir)) {
dawn_vulkan_deps_dir = "//third_party/vulkan-deps"
if (dawn_standalone) {
dawn_vulkan_headers_dir =
"${dawn_root}/third_party/vulkan-deps/vulkan-headers/src"
dawn_vulkan_deps_dir = "${dawn_root}/third_party/vulkan-deps"
}
}
if (!defined(dawn_vulkan_headers_dir)) {
dawn_vulkan_headers_dir = "${dawn_vulkan_deps_dir}/vulkan-headers/src"
}
if (!defined(dawn_vulkan_loader_dir)) {
# Default to the Vulkan loader not being available except in standalone.
dawn_vulkan_loader_dir = ""
@@ -70,6 +73,10 @@ if (!defined(dawn_vulkan_loader_dir)) {
}
}
if (!defined(dawn_vulkan_tools_dir)) {
dawn_vulkan_tools_dir = "${dawn_vulkan_deps_dir}/vulkan-tools/src"
}
if (!defined(dawn_vulkan_validation_layers_dir)) {
# Default to VVLs not being available.
dawn_vulkan_validation_layers_dir = ""