Revert "Scaffolding for generation of intrinsics files."

This reverts commit 6c5db2afa6.

Reason for revert: Ran into issues integrating into all the required build environments.

Original change's description:
> Scaffolding for generation of intrinsics files.
>
> This CL sets up the basis for the intrinsic file generation. All of
> the GN and CMake pieces are setup, but they aren't hooked into the
> main build yet. That will be a followup which just enables the
> generation in order to allow easy reverting.
>
> Change-Id: Iccac59377076ed6ac66eeaf0be965be2f49bc738
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/107981
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Reviewed-by: Ryan Harrison <rharrison@chromium.org>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: If289cd2769faea6466bcae68c3c58cf416b3567a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/108421
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
Dan Sinclair 2022-11-03 14:25:37 +00:00 committed by Dawn LUCI CQ
parent 11f0c52bfb
commit 5ae03c266a
2 changed files with 1 additions and 187 deletions

View File

@ -1,53 +0,0 @@
#!/usr/bin/env python3
# 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.
import argparse
import os
import subprocess
import sys
def run_generator():
parser = argparse.ArgumentParser(
description=
"Tint template generator for GN build. Use tools/run gen for non-GN build.",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument('--output',
default='',
type=str,
help='Base output directory.')
parser.add_argument('--template',
default='',
type=str,
help='Template to generate.')
args = parser.parse_args()
root = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')
go = os.path.join(root, "tools", "golang", "bin", "go")
if sys.platform == 'win32':
go += '.exe'
gen = os.path.join(root, "tools", "src", "cmd", "gen")
subprocess.check_call(
[go, "run", gen, "-o", args.output,
os.path.join(root, args.template)],
cwd=root)
return 0
if __name__ == '__main__':
sys.exit(run_generator())

View File

@ -13,6 +13,7 @@
# limitations under the License. # limitations under the License.
import("//build_overrides/build.gni") import("//build_overrides/build.gni")
import("../../tint_overrides_with_defaults.gni") import("../../tint_overrides_with_defaults.gni")
if (tint_build_unittests) { if (tint_build_unittests) {
@ -848,140 +849,6 @@ libtint_source_set("libtint_glsl_writer_src") {
public_deps = [ ":libtint_core_src" ] public_deps = [ ":libtint_core_src" ]
} }
# Template to help invoke code generator for tint template files.
#
# Variables:
# input: The prefix for the template to generate, does not include the .tmpl extension
template("tint_intrinsic_generator") {
_sources = [
"${invoker.input}.tmpl",
"${tint_root_dir}/src/tint/intrinsics.def",
]
_outputs = [ "${target_gen_dir}/${invoker.input}" ]
_script = "${tint_root_dir}/generator/tint_gen_template.py"
_args = [
"--output",
rebase_path(root_gen_dir),
"--template",
"src/tint/" + invoker.input + ".tmpl",
]
action("${target_name}") {
script = _script
outputs = _outputs
sources = _sources
args = _args
}
}
# Template to help invoke code generator for tint template files for source files. By default this
# will generate a `h` and `cc` build rule for the provided `input`
#
# Variables:
# input: The prefix for the template, minus the file extension and .tmpl
#
# bench: set true to generate a bench template
#
# test: set true to generate a test template
template("tint_intrinsic_src_generator") {
tint_intrinsic_generator("${target_name}_h") {
input = "${invoker.input}.h"
}
tint_intrinsic_generator("${target_name}_cc") {
input = "${invoker.input}.cc"
}
if (defined(invoker.bench) && invoker.bench) {
tint_intrinsic_generator("${target_name}_bench") {
input = "${invoker.input}_bench.cc"
}
}
if (defined(invoker.test) && invoker.test) {
tint_intrinsic_generator("${target_name}_test") {
input = "${invoker.input}_test.cc"
}
}
source_set(target_name) {
deps = [
":${target_name}_cc",
":${target_name}_h",
]
if (defined(invoker.bench) && invoker.bench) {
deps += [ ":${target_name}_bench" ]
}
if (defined(invoker.test) && invoker.test) {
deps += [ ":${target_name}_test" ]
}
}
}
tint_intrinsic_generator("tint_intrinsics_inl") {
input = "resolver/intrinsic_table.inl"
}
tint_intrinsic_src_generator("tint_init_conv_intrinsic") {
input = "resolver/init_conv_intrinsic"
}
tint_intrinsic_src_generator("tint_sem_builtin_type") {
input = "sem/builtin_type"
}
tint_intrinsic_src_generator("tint_sem_parameter_usage") {
input = "sem/parameter_usage"
}
tint_intrinsic_src_generator("tint_ast_extension") {
input = "ast/extension"
bench = true
test = true
}
tint_intrinsic_src_generator("tint_ast_access") {
input = "ast/access"
}
tint_intrinsic_src_generator("tint_ast_builtin_value") {
input = "ast/builtin_value"
bench = true
test = true
}
tint_intrinsic_src_generator("tint_ast_texel_format") {
input = "ast/texel_format"
bench = true
test = true
}
tint_intrinsic_src_generator("tint_ast_address_space") {
input = "ast/address_space"
bench = true
test = true
}
tint_intrinsic_src_generator("tint_ast_interpolate_attribute") {
input = "ast/interpolate_attribute"
}
libtint_source_set("tint_gen_deps") {
deps = [
":tint_ast_access",
":tint_ast_address_space",
":tint_ast_builtin_value",
":tint_ast_extension",
":tint_ast_interpolate_attribute",
":tint_ast_texel_format",
":tint_init_conv_intrinsic",
":tint_intrinsics_inl",
":tint_sem_builtin_type",
":tint_sem_parameter_usage",
]
}
source_set("libtint") { source_set("libtint") {
public_deps = [ ":libtint_core_src" ] public_deps = [ ":libtint_core_src" ]