tools: Move idlgen and run-cts to from dawn/node to tools/
This is the standard place for tooling. Update src/dawn/node/README.md with the new paths, and drop inferred arguments from the examples. Change-Id: Ib944ca045366b81b8897d9548112a8889e097769 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/113643 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
f8e0aac2a6
commit
61b5aaccf3
|
@ -114,7 +114,7 @@ def _NonInclusiveFileFilter(file):
|
||||||
"src/dawn/native/metal/BackendMTL.mm", # OSX Constant
|
"src/dawn/native/metal/BackendMTL.mm", # OSX Constant
|
||||||
"src/dawn/native/vulkan/SamplerVk.cpp", # External URL
|
"src/dawn/native/vulkan/SamplerVk.cpp", # External URL
|
||||||
"src/dawn/native/vulkan/TextureVk.cpp", # External URL
|
"src/dawn/native/vulkan/TextureVk.cpp", # External URL
|
||||||
"src/dawn/node/tools/src/cmd/run-cts/main.go", # Terminal type name
|
"src/tools/src/cmd/run-cts/main.go", # Terminal type name
|
||||||
"src/dawn/samples/ComputeBoids.cpp", # External URL
|
"src/dawn/samples/ComputeBoids.cpp", # External URL
|
||||||
"src/dawn/tests/end2end/DepthBiasTests.cpp", # External URL
|
"src/dawn/tests/end2end/DepthBiasTests.cpp", # External URL
|
||||||
"src/tint/transform/canonicalize_entry_point_io.cc", # External URL
|
"src/tint/transform/canonicalize_entry_point_io.cc", # External URL
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
set(DAWN_NODE_GEN_DIR "${DAWN_BUILD_GEN_DIR}/node")
|
set(DAWN_NODE_GEN_DIR "${DAWN_BUILD_GEN_DIR}/node")
|
||||||
set(IDLGEN_TOOL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tools/src/cmd/idlgen")
|
set(IDLGEN_TOOL_DIR "${CMAKE_SOURCE_DIR}/tools/src/cmd/idlgen")
|
||||||
|
|
||||||
# idlgen() is a function that uses the tools/cmd/idlgen/main.go tool to generate
|
# idlgen() is a function that uses the tools/src/cmd/idlgen/main.go tool to
|
||||||
# code from an IDL file and template.
|
# generate code from an IDL file and template.
|
||||||
# idlgen() accepts the following named arguments:
|
# idlgen() accepts the following named arguments:
|
||||||
# TEMPLATE <path> - (required) the path to the root .tmpl file. If the
|
# TEMPLATE <path> - (required) the path to the root .tmpl file. If the
|
||||||
# template imports other templates, then these should be
|
# template imports other templates, then these should be
|
||||||
|
@ -41,7 +41,7 @@ function(idlgen)
|
||||||
message(FATAL_ERROR "idlgen() missing IDLS argument(s)")
|
message(FATAL_ERROR "idlgen() missing IDLS argument(s)")
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
COMMAND ${GO_EXECUTABLE} "run" "main.go"
|
COMMAND ${GO_EXECUTABLE} "run" "${IDLGEN_TOOL_DIR}/main.go"
|
||||||
"--template" "${IDLGEN_TEMPLATE}"
|
"--template" "${IDLGEN_TEMPLATE}"
|
||||||
"--output" "${IDLGEN_OUTPUT}"
|
"--output" "${IDLGEN_OUTPUT}"
|
||||||
${IDLGEN_IDLS}
|
${IDLGEN_IDLS}
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
# Copyright 2022 The Dawn & Tint 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.
|
|
||||||
|
|
||||||
import sys
|
|
||||||
|
|
||||||
USE_PYTHON3 = True
|
|
||||||
|
|
||||||
|
|
||||||
def _DoCommonChecks(input_api, output_api):
|
|
||||||
sys.path += [input_api.change.RepositoryRoot()]
|
|
||||||
|
|
||||||
from go_presubmit_support import RunGoTests
|
|
||||||
|
|
||||||
return RunGoTests(input_api, output_api)
|
|
||||||
|
|
||||||
|
|
||||||
CheckChangeOnUpload = _DoCommonChecks
|
|
||||||
CheckChangeOnCommit = _DoCommonChecks
|
|
|
@ -57,15 +57,15 @@ ninja dawn.node
|
||||||
- Run `npm install` from inside the CTS directory to install its dependencies
|
- Run `npm install` from inside the CTS directory to install its dependencies
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./src/dawn/node/tools/run-cts --cts=<path-to-webgpu-cts> --dawn-node=<path-to-dawn.node> [WebGPU CTS query]
|
./src/tools/run run-cts --dawn-node=<path-to-dawn.node> [WebGPU CTS query]
|
||||||
```
|
```
|
||||||
|
|
||||||
If this fails with the error message `TypeError: expander is not a function or its return value is not iterable`, try appending `--build=false` to the start of the `run-cts` command line flags.
|
If this fails with the error message `TypeError: expander is not a function or its return value is not iterable`, try appending `--build=false` to the start of the `run-cts` command line flags.
|
||||||
|
|
||||||
To test against SwiftShader instead of the default Vulkan device, prefix `./src/dawn/node/tools/run-cts` with `VK_ICD_FILENAMES=<swiftshader-cmake-build>/Linux/vk_swiftshader_icd.json` and append `--flag=dawn-backend=vulkan` to the start of run-cts command line flags. For example:
|
To test against SwiftShader instead of the default Vulkan device, prefix `./src/tools/run run-cts` with `VK_ICD_FILENAMES=<swiftshader-cmake-build>/Linux/vk_swiftshader_icd.json`. For example:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
VK_ICD_FILENAMES=<swiftshader-cmake-build>/Linux/vk_swiftshader_icd.json ./src/dawn/node/tools/run-cts --cts=<path-to-webgpu-cts> --dawn-node=<path-to-dawn.node> --flag=dawn-backend=vulkan [WebGPU CTS query]
|
VK_ICD_FILENAMES=<swiftshader-cmake-build>/Linux/vk_swiftshader_icd.json ./src/tools/run run-cts --dawn-node=<path-to-dawn.node> [WebGPU CTS query]
|
||||||
```
|
```
|
||||||
|
|
||||||
The `--flag` parameter must be passed in multiple times, once for each flag begin set. Here are some common arguments:
|
The `--flag` parameter must be passed in multiple times, once for each flag begin set. Here are some common arguments:
|
||||||
|
@ -77,7 +77,7 @@ The `--flag` parameter must be passed in multiple times, once for each flag begi
|
||||||
For example, on Windows, to use the d3dcompiler_47.dll from a Chromium checkout, and to dump shader output, we could run the following using Git Bash:
|
For example, on Windows, to use the d3dcompiler_47.dll from a Chromium checkout, and to dump shader output, we could run the following using Git Bash:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./src/dawn/node/tools/run-cts --verbose --dawn-node=/c/src/dawn/build/Debug/dawn.node --cts=/c/src/webgpu-cts --flag=dlldir="C:\src\chromium\src\out\Release" --flag=enable-dawn-features=dump_shaders 'webgpu:shader,execution,builtin,abs:integer_builtin_functions,abs_unsigned:storageClass="storage";storageMode="read_write";containerType="vector";isAtomic=false;baseType="u32";type="vec2%3Cu32%3E"'
|
./src/tools/run run-cts --verbose --dawn-node=/c/src/dawn/build/Debug/dawn.node --cts=/c/src/webgpu-cts --flag=dlldir="C:\src\chromium\src\out\Release" --flag=enable-dawn-features=dump_shaders 'webgpu:shader,execution,builtin,abs:integer_builtin_functions,abs_unsigned:storageClass="storage";storageMode="read_write";containerType="vector";isAtomic=false;baseType="u32";type="vec2%3Cu32%3E"'
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that we pass `--verbose` above so that all test output, including the dumped shader, is written to stdout.
|
Note that we pass `--verbose` above so that all test output, including the dumped shader, is written to stdout.
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
{{- /*
|
{{- /*
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Template file for use with src/dawn/node/tools/cmd/idlgen/main.go to generate
|
Template file for use with tools/src/cmd/idlgen/main.go to generate the
|
||||||
the WebGPU.cpp source file.
|
WebGPU.cpp source file.
|
||||||
|
|
||||||
See:
|
See:
|
||||||
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
||||||
types used by this template
|
types used by this template
|
||||||
* src/dawn/node/tools/cmd/idlgen/main.go for additional structures and functions
|
* tools/src/cmd/idlgen/main.go for additional structures and functions
|
||||||
used by this template
|
used by this template
|
||||||
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
|
|
||||||
{{- /*
|
{{- /*
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Template file for use with src/dawn/node/tools/cmd/idlgen/main.go to generate
|
Template file for use with tools/src/cmd/idlgen/main.go to generate the
|
||||||
the WebGPU.h header file.
|
WebGPU.h header file.
|
||||||
|
|
||||||
See:
|
See:
|
||||||
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
||||||
types used by this template
|
types used by this template
|
||||||
* src/dawn/node/tools/cmd/idlgen/main.go for additional structures and functions
|
* tools/src/cmd/idlgen/main.go for additional structures and functions used by
|
||||||
used by this template
|
this template
|
||||||
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
*/ -}}
|
*/ -}}
|
||||||
|
|
|
@ -16,15 +16,15 @@
|
||||||
|
|
||||||
{{- /*
|
{{- /*
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Template file for use with src/dawn/node/tools/cmd/idlgen/main.go.
|
Template file for use with tools/src/cmd/idlgen/main.go.
|
||||||
This file provides common template definitions and is included by WebGPU.h.tmpl
|
This file provides common template definitions and is included by WebGPU.h.tmpl
|
||||||
and WebGPU.cpp.tmpl.
|
and WebGPU.cpp.tmpl.
|
||||||
|
|
||||||
See:
|
See:
|
||||||
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
* https://github.com/ben-clayton/webidlparser/blob/main/ast/ast.go for the AST
|
||||||
types used by this template
|
types used by this template
|
||||||
* src/dawn/node/tools/cmd/idlgen/main.go for additional structures and functions
|
* tools/src/cmd/idlgen/main.go for additional structures and functions used by
|
||||||
used by this template
|
this template
|
||||||
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
* https://golang.org/pkg/text/template/ for documentation on the template syntax
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
*/ -}}
|
*/ -}}
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright 2021 The Tint 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.
|
|
||||||
|
|
||||||
set -e # Fail on any error.
|
|
||||||
|
|
||||||
if [ ! -x "$(which go)" ] ; then
|
|
||||||
echo "error: go needs to be on \$PATH to use $0"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
|
|
||||||
ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )"
|
|
||||||
BINARY="${SCRIPT_DIR}/bin/run-cts"
|
|
||||||
|
|
||||||
# Rebuild the binary.
|
|
||||||
# Note, go caches build artifacts, so this is quick for repeat calls
|
|
||||||
pushd "${SCRIPT_DIR}/src/cmd/run-cts" > /dev/null
|
|
||||||
go build -o "${BINARY}" main.go
|
|
||||||
popd > /dev/null
|
|
||||||
|
|
||||||
"${BINARY}" "$@"
|
|
Loading…
Reference in New Issue