Update Skia to use the new combined Dawn+Tint repo

Includes a manual roll of Dawn, as well as tweaks to the Tint build
overrides.

Dawn needs git in order to generate a header that has the
version of Dawn compiled in. If we use Dawn's GN rules to
build it, we need git to generate that file.

Our (now updated) Bazel rules to build Dawn do not need to
do this because we (Skia) do not use this file [1]

[1] https://dawn.googlesource.com/dawn/+/088a600b03679cd20991f145173a573ed9c03480/src/dawn/common/BUILD.gn#177

Change-Id: Id19fdbb9b53fdad2397a0044a4a314b1444faeb0
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn,Build-Win-Clang-x86_64-Release-Dawn
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/528157
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This commit is contained in:
Kevin Lubick 2022-04-07 10:31:59 -04:00 committed by SkCQ
parent 442a5d9365
commit 503a2bd982
6 changed files with 566 additions and 473 deletions

View File

@ -65,8 +65,9 @@ build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com
# correctness and repeatability of the build.
build:remote --incompatible_strict_action_env=true
# Set a higher timeout value, just in case.
build:remote --remote_timeout=3600
# No compile task should take more than 180 seconds. Really long running tasks
# are probably a result of spinning up new workers.
build:remote --remote_timeout=180
# Enable authentication. This will pick up application default credentials by
# default. You can use --google_credentials=some_file.json to use a service

3
DEPS
View File

@ -16,10 +16,9 @@ deps = {
"third_party/externals/d3d12allocator" : "https://skia.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git@169895d529dfce00390a20e69c2f516066fe7a3b",
# Dawn requires jinja2 and markupsafe for the code generator, tint for SPIRV compilation, and abseil for string formatting.
# When the Dawn revision is updated these should be updated from the Dawn DEPS as well.
"third_party/externals/dawn" : "https://dawn.googlesource.com/dawn.git@6cacdc460ad2aaf82e4c126d1f85722edf89c1e7",
"third_party/externals/dawn" : "https://dawn.googlesource.com/dawn.git@088a600b03679cd20991f145173a573ed9c03480",
"third_party/externals/jinja2" : "https://chromium.googlesource.com/chromium/src/third_party/jinja2@ee69aa00ee8536f61db6a451f3858745cf587de6",
"third_party/externals/markupsafe" : "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@0944e71f4b2cb9a871bcbe353f95e889b64a611a",
"third_party/externals/tint" : "https://dawn.googlesource.com/tint@444e051faa2e29bda2828cd0bc4b7d3f3f20684b",
"third_party/externals/abseil-cpp" : "https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git@c5a424a2a21005660b182516eb7a079cd8021699",
"third_party/externals/dng_sdk" : "https://android.googlesource.com/platform/external/dng_sdk.git@c8d0c9b1d16bfda56f15165d39e0ffa360a11123",
"third_party/externals/egl-registry" : "https://skia.googlesource.com/external/github.com/KhronosGroup/EGL-Registry@a0bca08de07c7d7651047bedc0b653cfaaa4f2ae",

View File

@ -5,7 +5,7 @@
# These are variables that are overridable by projects that include Tint.
tint_root_dir = "//third_party/externals/tint"
tint_root_dir = "//third_party/externals/dawn"
tint_spirv_tools_dir = "//third_party/externals/spirv-tools"
tint_spirv_headers_dir = "//third_party/externals/spirv-headers"

View File

@ -1206,6 +1206,10 @@ func (b *jobBuilder) compile() string {
b.usesDocker()
b.cache(CACHES_DOCKER...)
}
if b.extraConfig("Dawn") {
// https://dawn.googlesource.com/dawn/+/516701da8184655a47c92a573cc84da7db5e69d4/generator/dawn_version_generator.py#21
b.usesGit()
}
// Android bots require a toolchain.
if b.extraConfig("Android") {

View File

@ -5780,6 +5780,14 @@
"name": "ccache",
"path": "cache/ccache"
},
{
"name": "git",
"path": "cache/git"
},
{
"name": "git_cache",
"path": "cache/git_cache"
},
{
"name": "vpython",
"path": "cache/vpython"
@ -5797,11 +5805,26 @@
"path": "cipd_bin_packages/cpython3",
"version": "version:2@3.8.10.chromium.19"
},
{
"name": "infra/3pp/tools/git/linux-amd64",
"path": "cipd_bin_packages",
"version": "version:2@2.35.1.chromium.8"
},
{
"name": "infra/tools/git/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/git-credential-luci/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
@ -15663,6 +15686,14 @@
},
"Build-Win-Clang-x86_64-Debug-Dawn": {
"caches": [
{
"name": "git",
"path": "cache/git"
},
{
"name": "git_cache",
"path": "cache/git_cache"
},
{
"name": "vpython",
"path": "cache/vpython"
@ -15680,11 +15711,26 @@
"path": "cipd_bin_packages/cpython3",
"version": "version:2@3.8.10.chromium.19"
},
{
"name": "infra/3pp/tools/git/windows-amd64",
"path": "cipd_bin_packages",
"version": "version:2@2.35.1.chromium.8"
},
{
"name": "infra/tools/git/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/git-credential-luci/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
@ -16245,6 +16291,14 @@
},
"Build-Win-Clang-x86_64-Release-Dawn": {
"caches": [
{
"name": "git",
"path": "cache/git"
},
{
"name": "git_cache",
"path": "cache/git_cache"
},
{
"name": "vpython",
"path": "cache/vpython"
@ -16262,11 +16316,26 @@
"path": "cipd_bin_packages/cpython3",
"version": "version:2@3.8.10.chromium.19"
},
{
"name": "infra/3pp/tools/git/windows-amd64",
"path": "cipd_bin_packages",
"version": "version:2@2.35.1.chromium.8"
},
{
"name": "infra/tools/git/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/git-credential-luci/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:304cba432f44135f67b4aaedc140a14fa0d5e336"
},
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",

File diff suppressed because it is too large Load Diff