dawn-cmake/third_party/gn/webgpu-cts/BUILD.gn

128 lines
4.0 KiB
Plaintext
Raw Permalink Normal View History

# Copyright 2022 The Dawn Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Note: This file is intentionally not used by any other BUILD.gn in Dawn.
# Instead, Chromium depends directly on this file to build the WebGPU CTS.
# Scripts called from this file assume Dawn is checked out inside Chromium.
import("../../../scripts/dawn_overrides_with_defaults.gni")
group("webgpu-cts") {
public_deps = [
":compile_src",
":copy_resources",
":gen_cache",
":verify_gen_ts_dep_list",
]
data = [ "test_list.txt" ]
}
list_from_ts_sources_txt = read_file("ts_sources.txt", "list lines")
ts_source_inputs = [ "../../webgpu-cts/tsconfig.json" ]
foreach(file, list_from_ts_sources_txt) {
ts_source_inputs += [ "../../webgpu-cts/$file" ]
}
js_outputs = []
foreach(ts_file, filter_exclude(list_from_ts_sources_txt, [ "*.d.ts" ])) {
js_file = string_replace(ts_file, ".ts", ".js")
js_node_file = string_replace(js_file, "src/", "src-node/")
js_outputs += [ "$target_gen_dir/../../webgpu-cts/$js_file" ]
if (js_node_file != "src-node/common/runtime/wpt.js" &&
js_node_file != "src-node/common/runtime/standalone.js" &&
Roll third_party/webgpu-cts/ 90654f28f..87e74a93e (20 commits) Includes changes to third_party/gn/webgpu-cts/BUILD.gn to make the Node build work. https://chromium.googlesource.com/external/github.com/gpuweb/cts/+log/90654f28f409..87e74a93e0c0 $ git log 90654f28f..87e74a93e --date=short --no-merges --format='%ad %ae %s' 2022-03-17 kainino Bugfix for getTextureCopyLayout introduced in #1068 (#1077) 2022-03-17 gman Implement Basic Worker WebGPU Test (#1075) 2022-03-17 rharrison Implement tests for floating point arithmetic expressions (#1073) 2022-03-18 jiawei.shao Add validation,resource_usages,texture,in_render_common:* - Part II (#1070) 2022-03-16 gman Fix Spelling Errors (#1074) 2022-03-16 kainino float32BitsToNumber/numberToFloat32Bits 2022-03-10 kainino reifyOrigin3D 2022-03-10 kainino move generatePrettyTable to its own file (no changes) 2022-03-10 kainino floatBitsToNumber, floatBitsToNormalULPFromZero, signExtend 2022-03-10 kainino Add getSubTextureCopyLayout helper 2022-03-14 tojiro Add validation tests for various aspects of render bundle creation and usage. 2022-03-16 rharrison Reduce instances of // prettier-ignore to improve readability (#1072) 2022-03-16 rharrison Implement `reverseBits` tests (#1071) 2022-03-16 jiawei.shao Change endPass to end in in_render_common.spec.ts (#1069) 2022-03-15 rharrison Reduce duplication of terms in builtin test strings (#1062) 2022-03-15 bclayton Add bitwise binary expression tests (#1064) 2022-03-15 rharrison Implement `countOneBits` tests (#1065) 2022-03-15 rharrison Remove test stubs for `isInfinite` and `isNormal` (#1063) 2022-03-16 shaobo.yan CTS: Color space conversion operation test for CopyToTexture (#1043) 2022-03-15 bclayton Fix limits of `log()` and `log2()` (#1060) Created with: roll-dep third_party/webgpu-cts Change-Id: I135a115184602a56d8554287856761ca21c6dce2 Bug: chromium:1306640 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/84040 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
2022-03-19 00:50:18 +00:00
js_node_file != "src-node/common/runtime/helper/test_worker.js" &&
js_node_file !=
"src-node/webgpu/web_platform/worker/worker_launcher.js") {
js_outputs += [ "$target_gen_dir/../../webgpu-cts/$js_node_file" ]
}
}
action("compile_src") {
script = "${dawn_root}/webgpu-cts/scripts/compile_src.py"
inputs = [
"//third_party/node/node_modules/typescript/lib/tsc.js",
"//third_party/node/node.py",
"${dawn_root}/webgpu-cts/scripts/tsc_ignore_errors.py",
# If the only change is that a file is deleted, we still need to
# rebuild so that listing.js gets updated.
"ts_sources.txt",
] + ts_source_inputs
outputs = js_outputs
data = js_outputs
args = [ rebase_path("$target_gen_dir/../../webgpu-cts", root_build_dir) ]
}
list_from_resource_files_txt = read_file("resource_files.txt", "list lines")
resource_file_inputs = []
foreach(file, list_from_resource_files_txt) {
resource_file_inputs += [ "$file" ]
}
copy("copy_resources") {
sources = []
data = []
foreach(resource_file, resource_file_inputs) {
sources += [ "../../webgpu-cts/src/resources/$resource_file" ]
# Copy into resources/, instead of src/resources/, because compile_src
# wipes src/ before running.
data += [ "$target_gen_dir/../../webgpu-cts/resources/$resource_file" ]
}
outputs =
[ "$target_gen_dir/../../webgpu-cts/resources/{{source_file_part}}" ]
}
action("verify_gen_ts_dep_list") {
script = "${dawn_root}/webgpu-cts/scripts/gen_ts_dep_lists.py"
inputs = [
"../../../DEPS",
"resource_files.txt",
"ts_sources.txt",
]
outputs = [ "$target_out_dir/run_$target_name.stamp" ]
args = [
"--check",
"--stamp",
rebase_path(outputs[0], root_build_dir),
]
}
action("gen_cache") {
script = "${dawn_root}/webgpu-cts/scripts/gen_cache.py"
deps = [ ":compile_src" ]
_gen_cache_js =
"$target_gen_dir/../../webgpu-cts/src-node/common/tools/gen_cache.js"
inputs = get_target_outputs(":compile_src") + [ _gen_cache_js ]
args = [
rebase_path(_gen_cache_js, root_build_dir),
rebase_path("$target_gen_dir/../../webgpu-cts/cache", root_build_dir),
]
_outputs = read_file("cache_list.txt", "list lines")
outputs = []
foreach(file, _outputs) {
outputs += [ "$target_gen_dir/../../webgpu-cts/cache/$file" ]
}
data = outputs
}